mirror of https://github.com/apache/maven.git
fixed errors reported by Checkstyle
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-3/trunk@958295 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
4e202d7d01
commit
23f2095652
|
@ -81,17 +81,21 @@ public class DefaultArtifact
|
||||||
|
|
||||||
private boolean optional;
|
private boolean optional;
|
||||||
|
|
||||||
public DefaultArtifact( String groupId, String artifactId, String version, String scope, String type, String classifier, ArtifactHandler artifactHandler )
|
public DefaultArtifact( String groupId, String artifactId, String version, String scope, String type,
|
||||||
|
String classifier, ArtifactHandler artifactHandler )
|
||||||
{
|
{
|
||||||
this( groupId, artifactId, VersionRange.createFromVersion( version ), scope, type, classifier, artifactHandler, false );
|
this( groupId, artifactId, VersionRange.createFromVersion( version ), scope, type, classifier, artifactHandler,
|
||||||
|
false );
|
||||||
}
|
}
|
||||||
|
|
||||||
public DefaultArtifact( String groupId, String artifactId, VersionRange versionRange, String scope, String type, String classifier, ArtifactHandler artifactHandler )
|
public DefaultArtifact( String groupId, String artifactId, VersionRange versionRange, String scope, String type,
|
||||||
|
String classifier, ArtifactHandler artifactHandler )
|
||||||
{
|
{
|
||||||
this( groupId, artifactId, versionRange, scope, type, classifier, artifactHandler, false );
|
this( groupId, artifactId, versionRange, scope, type, classifier, artifactHandler, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
public DefaultArtifact( String groupId, String artifactId, VersionRange versionRange, String scope, String type, String classifier, ArtifactHandler artifactHandler, boolean optional )
|
public DefaultArtifact( String groupId, String artifactId, VersionRange versionRange, String scope, String type,
|
||||||
|
String classifier, ArtifactHandler artifactHandler, boolean optional )
|
||||||
{
|
{
|
||||||
this.groupId = groupId;
|
this.groupId = groupId;
|
||||||
|
|
||||||
|
|
|
@ -1,20 +1,25 @@
|
||||||
package org.apache.maven.artifact.repository;
|
package org.apache.maven.artifact.repository;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* agreements. See the NOTICE file distributed with this work for additional information regarding
|
* or more contributor license agreements. See the NOTICE file
|
||||||
* copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
|
* distributed with this work for additional information
|
||||||
* "License"); you may not use this file except in compliance with the License. You may obtain a
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
* copy of the License at
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
* software distributed under the License is distributed on an
|
||||||
* or implied. See the License for the specific language governing permissions and limitations under
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* the License.
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.apache.maven.artifact.Artifact;
|
import org.apache.maven.artifact.Artifact;
|
||||||
|
|
|
@ -61,9 +61,7 @@ public class ArtifactRepositoryPolicy
|
||||||
this( policy.isEnabled(), policy.getUpdatePolicy(), policy.getChecksumPolicy() );
|
this( policy.isEnabled(), policy.getUpdatePolicy(), policy.getChecksumPolicy() );
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactRepositoryPolicy( boolean enabled,
|
public ArtifactRepositoryPolicy( boolean enabled, String updatePolicy, String checksumPolicy )
|
||||||
String updatePolicy,
|
|
||||||
String checksumPolicy )
|
|
||||||
{
|
{
|
||||||
this.enabled = enabled;
|
this.enabled = enabled;
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
package org.apache.maven.artifact.repository.layout;
|
package org.apache.maven.artifact.repository.layout;
|
||||||
|
|
||||||
import org.apache.maven.artifact.repository.ArtifactRepository;
|
|
||||||
import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* or more contributor license agreements. See the NOTICE file
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
@ -22,6 +19,9 @@ import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import org.apache.maven.artifact.repository.ArtifactRepository;
|
||||||
|
import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
|
||||||
|
|
||||||
public interface ArtifactRepositoryLayout2
|
public interface ArtifactRepositoryLayout2
|
||||||
extends ArtifactRepositoryLayout
|
extends ArtifactRepositoryLayout
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,20 +1,25 @@
|
||||||
package org.apache.maven.artifact.resolver;
|
package org.apache.maven.artifact.resolver;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* agreements. See the NOTICE file distributed with this work for additional information regarding
|
* or more contributor license agreements. See the NOTICE file
|
||||||
* copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
|
* distributed with this work for additional information
|
||||||
* "License"); you may not use this file except in compliance with the License. You may obtain a
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
* copy of the License at
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
* software distributed under the License is distributed on an
|
||||||
* or implied. See the License for the specific language governing permissions and limitations under
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* the License.
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.apache.maven.artifact.Artifact;
|
import org.apache.maven.artifact.Artifact;
|
||||||
|
@ -35,30 +40,36 @@ public class ArtifactNotFoundException
|
||||||
|
|
||||||
public ArtifactNotFoundException( String message, Artifact artifact )
|
public ArtifactNotFoundException( String message, Artifact artifact )
|
||||||
{
|
{
|
||||||
this( message, artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), artifact.getType(), artifact.getClassifier(), null, artifact.getDownloadUrl(), artifact
|
this( message, artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), artifact.getType(),
|
||||||
.getDependencyTrail() );
|
artifact.getClassifier(), null, artifact.getDownloadUrl(), artifact.getDependencyTrail() );
|
||||||
}
|
}
|
||||||
|
|
||||||
protected ArtifactNotFoundException( String message, Artifact artifact, List<ArtifactRepository> remoteRepositories, Throwable cause )
|
protected ArtifactNotFoundException( String message, Artifact artifact,
|
||||||
|
List<ArtifactRepository> remoteRepositories, Throwable cause )
|
||||||
{
|
{
|
||||||
this( message, artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), artifact.getType(), artifact.getClassifier(), remoteRepositories, artifact.getDownloadUrl(), artifact
|
this( message, artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), artifact.getType(),
|
||||||
.getDependencyTrail(), cause );
|
artifact.getClassifier(), remoteRepositories, artifact.getDownloadUrl(), artifact.getDependencyTrail(),
|
||||||
|
cause );
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactNotFoundException( String message, String groupId, String artifactId, String version, String type, String classifier, List<ArtifactRepository> remoteRepositories,
|
public ArtifactNotFoundException( String message, String groupId, String artifactId, String version, String type,
|
||||||
|
String classifier, List<ArtifactRepository> remoteRepositories,
|
||||||
String downloadUrl, List<String> path, Throwable cause )
|
String downloadUrl, List<String> path, Throwable cause )
|
||||||
{
|
{
|
||||||
super( constructMissingArtifactMessage( message, "", groupId, artifactId, version, type, classifier, downloadUrl, path ), groupId, artifactId, version, type, classifier, remoteRepositories,
|
super( constructMissingArtifactMessage( message, "", groupId, artifactId, version, type, classifier,
|
||||||
null, cause );
|
downloadUrl, path ), groupId, artifactId, version, type, classifier,
|
||||||
|
remoteRepositories, null, cause );
|
||||||
|
|
||||||
this.downloadUrl = downloadUrl;
|
this.downloadUrl = downloadUrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ArtifactNotFoundException( String message, String groupId, String artifactId, String version, String type, String classifier, List<ArtifactRepository> remoteRepositories,
|
private ArtifactNotFoundException( String message, String groupId, String artifactId, String version, String type,
|
||||||
|
String classifier, List<ArtifactRepository> remoteRepositories,
|
||||||
String downloadUrl, List<String> path )
|
String downloadUrl, List<String> path )
|
||||||
{
|
{
|
||||||
super( constructMissingArtifactMessage( message, "", groupId, artifactId, version, type, classifier, downloadUrl, path ), groupId, artifactId, version, type, classifier, remoteRepositories,
|
super( constructMissingArtifactMessage( message, "", groupId, artifactId, version, type, classifier,
|
||||||
null );
|
downloadUrl, path ), groupId, artifactId, version, type, classifier,
|
||||||
|
remoteRepositories, null );
|
||||||
|
|
||||||
this.downloadUrl = downloadUrl;
|
this.downloadUrl = downloadUrl;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,18 +1,22 @@
|
||||||
package org.apache.maven.artifact.resolver;
|
package org.apache.maven.artifact.resolver;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* agreements. See the NOTICE file distributed with this work for additional information regarding
|
* or more contributor license agreements. See the NOTICE file
|
||||||
* copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
|
* distributed with this work for additional information
|
||||||
* "License"); you may not use this file except in compliance with the License. You may obtain a
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
* copy of the License at
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
* software distributed under the License is distributed on an
|
||||||
* or implied. See the License for the specific language governing permissions and limitations under
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* the License.
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -34,7 +38,8 @@ public class ArtifactResolutionException
|
||||||
super( message, groupId, artifactId, version, type, classifier, remoteRepositories, path, t );
|
super( message, groupId, artifactId, version, type, classifier, remoteRepositories, path, t );
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactResolutionException( String message, String groupId, String artifactId, String version, String type, String classifier, Throwable t )
|
public ArtifactResolutionException( String message, String groupId, String artifactId, String version, String type,
|
||||||
|
String classifier, Throwable t )
|
||||||
{
|
{
|
||||||
super( message, groupId, artifactId, version, type, classifier, null, null, t );
|
super( message, groupId, artifactId, version, type, classifier, null, null, t );
|
||||||
}
|
}
|
||||||
|
@ -54,7 +59,8 @@ public class ArtifactResolutionException
|
||||||
super( message, artifact, null, cause );
|
super( message, artifact, null, cause );
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactResolutionException( String message, Artifact artifact, List<ArtifactRepository> remoteRepositories, Throwable cause )
|
public ArtifactResolutionException( String message, Artifact artifact, List<ArtifactRepository> remoteRepositories,
|
||||||
|
Throwable cause )
|
||||||
{
|
{
|
||||||
super( message, artifact, remoteRepositories, cause );
|
super( message, artifact, remoteRepositories, cause );
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,15 +67,15 @@ public class ComparableVersion
|
||||||
|
|
||||||
private interface Item
|
private interface Item
|
||||||
{
|
{
|
||||||
public static final int INTEGER_ITEM = 0;
|
final int INTEGER_ITEM = 0;
|
||||||
public static final int STRING_ITEM = 1;
|
final int STRING_ITEM = 1;
|
||||||
public static final int LIST_ITEM = 2;
|
final int LIST_ITEM = 2;
|
||||||
|
|
||||||
public int compareTo( Item item );
|
int compareTo( Item item );
|
||||||
|
|
||||||
public int getType();
|
int getType();
|
||||||
|
|
||||||
public boolean isNull();
|
boolean isNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -145,21 +145,23 @@ public class ComparableVersion
|
||||||
private static class StringItem
|
private static class StringItem
|
||||||
implements Item
|
implements Item
|
||||||
{
|
{
|
||||||
private final static String[] QUALIFIERS = { "alpha", "beta", "milestone", "rc", "snapshot", "", "sp" };
|
private static final String[] QUALIFIERS = { "alpha", "beta", "milestone", "rc", "snapshot", "", "sp" };
|
||||||
|
|
||||||
private final static List<String> _QUALIFIERS = Arrays.asList( QUALIFIERS );
|
private static final List<String> _QUALIFIERS = Arrays.asList( QUALIFIERS );
|
||||||
|
|
||||||
private final static Properties ALIASES = new Properties();
|
private static final Properties ALIASES = new Properties();
|
||||||
static {
|
static
|
||||||
|
{
|
||||||
ALIASES.put( "ga", "" );
|
ALIASES.put( "ga", "" );
|
||||||
ALIASES.put( "final", "" );
|
ALIASES.put( "final", "" );
|
||||||
ALIASES.put( "cr", "rc" );
|
ALIASES.put( "cr", "rc" );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A comparable value for the empty-string qualifier. This one is used to determine if a given qualifier makes the
|
* A comparable value for the empty-string qualifier. This one is used to determine if a given qualifier makes
|
||||||
* version older than one without a qualifier, or more recent.
|
* the version older than one without a qualifier, or more recent.
|
||||||
*/
|
*/
|
||||||
private static String RELEASE_VERSION_INDEX = String.valueOf( _QUALIFIERS.indexOf( "" ) );
|
private static final String RELEASE_VERSION_INDEX = String.valueOf( _QUALIFIERS.indexOf( "" ) );
|
||||||
|
|
||||||
private String value;
|
private String value;
|
||||||
|
|
||||||
|
@ -285,7 +287,7 @@ public class ComparableVersion
|
||||||
{
|
{
|
||||||
return 0; // 1-0 = 1- (normalize) = 1
|
return 0; // 1-0 = 1- (normalize) = 1
|
||||||
}
|
}
|
||||||
Item first = (Item) get(0);
|
Item first = get( 0 );
|
||||||
return first.compareTo( null );
|
return first.compareTo( null );
|
||||||
}
|
}
|
||||||
switch ( item.getType() )
|
switch ( item.getType() )
|
||||||
|
@ -302,8 +304,8 @@ public class ComparableVersion
|
||||||
|
|
||||||
while ( left.hasNext() || right.hasNext() )
|
while ( left.hasNext() || right.hasNext() )
|
||||||
{
|
{
|
||||||
Item l = left.hasNext() ? (Item) left.next() : null;
|
Item l = left.hasNext() ? left.next() : null;
|
||||||
Item r = right.hasNext() ? (Item) right.next() : null;
|
Item r = right.hasNext() ? right.next() : null;
|
||||||
|
|
||||||
// if this is shorter, then invert the compare and mul with -1
|
// if this is shorter, then invert the compare and mul with -1
|
||||||
int result = l == null ? -1 * r.compareTo( l ) : l.compareTo( r );
|
int result = l == null ? -1 * r.compareTo( l ) : l.compareTo( r );
|
||||||
|
|
|
@ -39,9 +39,7 @@ public class Restriction
|
||||||
|
|
||||||
public static final Restriction EVERYTHING = new Restriction( null, false, null, false );
|
public static final Restriction EVERYTHING = new Restriction( null, false, null, false );
|
||||||
|
|
||||||
public Restriction( ArtifactVersion lowerBound,
|
public Restriction( ArtifactVersion lowerBound, boolean lowerBoundInclusive, ArtifactVersion upperBound,
|
||||||
boolean lowerBoundInclusive,
|
|
||||||
ArtifactVersion upperBound,
|
|
||||||
boolean upperBoundInclusive )
|
boolean upperBoundInclusive )
|
||||||
{
|
{
|
||||||
this.lowerBound = lowerBound;
|
this.lowerBound = lowerBound;
|
||||||
|
|
|
@ -21,11 +21,11 @@ package org.apache.maven.repository;
|
||||||
|
|
||||||
public class Proxy
|
public class Proxy
|
||||||
{
|
{
|
||||||
public final static String PROXY_SOCKS5 = "SOCKS_5";
|
public static final String PROXY_SOCKS5 = "SOCKS_5";
|
||||||
|
|
||||||
public final static String PROXY_SOCKS4 = "SOCKS4";
|
public static final String PROXY_SOCKS4 = "SOCKS4";
|
||||||
|
|
||||||
public final static String PROXY_HTTP = "HTTP";
|
public static final String PROXY_HTTP = "HTTP";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Proxy server host
|
* Proxy server host
|
||||||
|
|
|
@ -110,7 +110,9 @@ public enum ArtifactScopeEnum
|
||||||
|
|
||||||
// system scope is historic only - and simple
|
// system scope is historic only - and simple
|
||||||
if ( id == system.id )
|
if ( id == system.id )
|
||||||
|
{
|
||||||
return scope.id == system.id;
|
return scope.id == system.id;
|
||||||
|
}
|
||||||
|
|
||||||
for ( ArtifactScopeEnum[][] set : _compliancySets )
|
for ( ArtifactScopeEnum[][] set : _compliancySets )
|
||||||
{
|
{
|
||||||
|
@ -119,8 +121,10 @@ public enum ArtifactScopeEnum
|
||||||
for ( ArtifactScopeEnum ase : set[1] )
|
for ( ArtifactScopeEnum ase : set[1] )
|
||||||
{
|
{
|
||||||
if ( s.id == ase.id )
|
if ( s.id == ase.id )
|
||||||
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,7 +19,6 @@ package org.apache.maven.artifact;
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
|
|
||||||
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
|
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -35,16 +34,13 @@ public class UnknownRepositoryLayoutException
|
||||||
|
|
||||||
private final String layoutId;
|
private final String layoutId;
|
||||||
|
|
||||||
public UnknownRepositoryLayoutException( String repositoryId,
|
public UnknownRepositoryLayoutException( String repositoryId, String layoutId )
|
||||||
String layoutId )
|
|
||||||
{
|
{
|
||||||
super( "Cannot find ArtifactRepositoryLayout instance for: " + layoutId, repositoryId );
|
super( "Cannot find ArtifactRepositoryLayout instance for: " + layoutId, repositoryId );
|
||||||
this.layoutId = layoutId;
|
this.layoutId = layoutId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public UnknownRepositoryLayoutException( String repositoryId,
|
public UnknownRepositoryLayoutException( String repositoryId, String layoutId, ComponentLookupException e )
|
||||||
String layoutId,
|
|
||||||
ComponentLookupException e )
|
|
||||||
{
|
{
|
||||||
super( "Cannot find ArtifactRepositoryLayout instance for: " + layoutId, repositoryId, e );
|
super( "Cannot find ArtifactRepositoryLayout instance for: " + layoutId, repositoryId, e );
|
||||||
this.layoutId = layoutId;
|
this.layoutId = layoutId;
|
||||||
|
|
|
@ -1,18 +1,22 @@
|
||||||
package org.apache.maven.artifact.deployer;
|
package org.apache.maven.artifact.deployer;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* agreements. See the NOTICE file distributed with this work for additional information regarding
|
* or more contributor license agreements. See the NOTICE file
|
||||||
* copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
|
* distributed with this work for additional information
|
||||||
* "License"); you may not use this file except in compliance with the License. You may obtain a
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
* copy of the License at
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
* software distributed under the License is distributed on an
|
||||||
* or implied. See the License for the specific language governing permissions and limitations under
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* the License.
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
@ -29,16 +33,17 @@ public interface ArtifactDeployer
|
||||||
* filename of the source file.
|
* filename of the source file.
|
||||||
*
|
*
|
||||||
* @param basedir the directory where the artifact is stored
|
* @param basedir the directory where the artifact is stored
|
||||||
* @param finalName the name of the artifact sans extension
|
* @param finalName the name of the artifact without extension
|
||||||
* @param artifact the artifact definition
|
* @param artifact the artifact definition
|
||||||
* @param deploymentRepository the repository to deploy to
|
* @param deploymentRepository the repository to deploy to
|
||||||
* @param localRepository the local repository to install into
|
* @param localRepository the local repository to install into
|
||||||
* @throws ArtifactDeploymentException if an error occurred deploying the artifact
|
* @throws ArtifactDeploymentException if an error occurred deploying the artifact
|
||||||
* @deprecated to be removed before 2.0 after the instlal/deploy plugins use the alternate
|
* @deprecated to be removed before 2.0 after the install/deploy plugins use the alternate
|
||||||
* method
|
* method
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
void deploy( String basedir, String finalName, Artifact artifact, ArtifactRepository deploymentRepository, ArtifactRepository localRepository )
|
void deploy( String basedir, String finalName, Artifact artifact, ArtifactRepository deploymentRepository,
|
||||||
|
ArtifactRepository localRepository )
|
||||||
throws ArtifactDeploymentException;
|
throws ArtifactDeploymentException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -50,6 +55,7 @@ public interface ArtifactDeployer
|
||||||
* @param localRepository the local repository to install into
|
* @param localRepository the local repository to install into
|
||||||
* @throws ArtifactDeploymentException if an error occurred deploying the artifact
|
* @throws ArtifactDeploymentException if an error occurred deploying the artifact
|
||||||
*/
|
*/
|
||||||
void deploy( File source, Artifact artifact, ArtifactRepository deploymentRepository, ArtifactRepository localRepository )
|
void deploy( File source, Artifact artifact, ArtifactRepository deploymentRepository,
|
||||||
|
ArtifactRepository localRepository )
|
||||||
throws ArtifactDeploymentException;
|
throws ArtifactDeploymentException;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,18 +1,22 @@
|
||||||
package org.apache.maven.artifact.deployer;
|
package org.apache.maven.artifact.deployer;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* agreements. See the NOTICE file distributed with this work for additional information regarding
|
* or more contributor license agreements. See the NOTICE file
|
||||||
* copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
|
* distributed with this work for additional information
|
||||||
* "License"); you may not use this file except in compliance with the License. You may obtain a
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
* copy of the License at
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
* software distributed under the License is distributed on an
|
||||||
* or implied. See the License for the specific language governing permissions and limitations under
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* the License.
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
@ -65,7 +69,8 @@ public class DefaultArtifactDeployer
|
||||||
* correctly.
|
* correctly.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public void deploy( String basedir, String finalName, Artifact artifact, ArtifactRepository deploymentRepository, ArtifactRepository localRepository )
|
public void deploy( String basedir, String finalName, Artifact artifact, ArtifactRepository deploymentRepository,
|
||||||
|
ArtifactRepository localRepository )
|
||||||
throws ArtifactDeploymentException
|
throws ArtifactDeploymentException
|
||||||
{
|
{
|
||||||
String extension = artifact.getArtifactHandler().getExtension();
|
String extension = artifact.getArtifactHandler().getExtension();
|
||||||
|
@ -73,7 +78,8 @@ public class DefaultArtifactDeployer
|
||||||
deploy( source, artifact, deploymentRepository, localRepository );
|
deploy( source, artifact, deploymentRepository, localRepository );
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deploy( File source, Artifact artifact, ArtifactRepository deploymentRepository, ArtifactRepository localRepository )
|
public void deploy( File source, Artifact artifact, ArtifactRepository deploymentRepository,
|
||||||
|
ArtifactRepository localRepository )
|
||||||
throws ArtifactDeploymentException
|
throws ArtifactDeploymentException
|
||||||
{
|
{
|
||||||
deploymentRepository = injectSession( deploymentRepository );
|
deploymentRepository = injectSession( deploymentRepository );
|
||||||
|
|
|
@ -1,18 +1,22 @@
|
||||||
package org.apache.maven.artifact.installer;
|
package org.apache.maven.artifact.installer;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* agreements. See the NOTICE file distributed with this work for additional information regarding
|
* or more contributor license agreements. See the NOTICE file
|
||||||
* copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
|
* distributed with this work for additional information
|
||||||
* "License"); you may not use this file except in compliance with the License. You may obtain a
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
* copy of the License at
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
* software distributed under the License is distributed on an
|
||||||
* or implied. See the License for the specific language governing permissions and limitations under
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* the License.
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
|
@ -1,14 +1,5 @@
|
||||||
package org.apache.maven.artifact.manager;
|
package org.apache.maven.artifact.manager;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.apache.maven.artifact.Artifact;
|
|
||||||
import org.apache.maven.artifact.repository.ArtifactRepository;
|
|
||||||
import org.apache.maven.wagon.ResourceDoesNotExistException;
|
|
||||||
import org.apache.maven.wagon.TransferFailedException;
|
|
||||||
import org.apache.maven.wagon.authentication.AuthenticationInfo;
|
|
||||||
import org.apache.maven.wagon.proxy.ProxyInfo;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* or more contributor license agreements. See the NOTICE file
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
@ -28,6 +19,14 @@ import org.apache.maven.wagon.proxy.ProxyInfo;
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.maven.artifact.Artifact;
|
||||||
|
import org.apache.maven.artifact.repository.ArtifactRepository;
|
||||||
|
import org.apache.maven.wagon.ResourceDoesNotExistException;
|
||||||
|
import org.apache.maven.wagon.TransferFailedException;
|
||||||
|
import org.apache.maven.wagon.authentication.AuthenticationInfo;
|
||||||
|
import org.apache.maven.wagon.proxy.ProxyInfo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Manages <a href="http://maven.apache.org/wagon">Wagon</a> related operations in Maven.
|
* Manages <a href="http://maven.apache.org/wagon">Wagon</a> related operations in Maven.
|
||||||
|
|
|
@ -1,18 +1,22 @@
|
||||||
package org.apache.maven.artifact.repository;
|
package org.apache.maven.artifact.repository;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* agreements. See the NOTICE file distributed with this work for additional information regarding
|
* or more contributor license agreements. See the NOTICE file
|
||||||
* copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
|
* distributed with this work for additional information
|
||||||
* "License"); you may not use this file except in compliance with the License. You may obtain a
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
* copy of the License at
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
* software distributed under the License is distributed on an
|
||||||
* or implied. See the License for the specific language governing permissions and limitations under
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* the License.
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import org.apache.maven.artifact.UnknownRepositoryLayoutException;
|
import org.apache.maven.artifact.UnknownRepositoryLayoutException;
|
||||||
|
@ -35,12 +39,15 @@ public interface ArtifactRepositoryFactory
|
||||||
ArtifactRepository createDeploymentArtifactRepository( String id, String url, String layoutId, boolean uniqueVersion )
|
ArtifactRepository createDeploymentArtifactRepository( String id, String url, String layoutId, boolean uniqueVersion )
|
||||||
throws UnknownRepositoryLayoutException;
|
throws UnknownRepositoryLayoutException;
|
||||||
|
|
||||||
ArtifactRepository createDeploymentArtifactRepository( String id, String url, ArtifactRepositoryLayout layout, boolean uniqueVersion );
|
ArtifactRepository createDeploymentArtifactRepository( String id, String url, ArtifactRepositoryLayout layout,
|
||||||
|
boolean uniqueVersion );
|
||||||
|
|
||||||
ArtifactRepository createArtifactRepository( String id, String url, String layoutId, ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases )
|
ArtifactRepository createArtifactRepository( String id, String url, String layoutId,
|
||||||
|
ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases )
|
||||||
throws UnknownRepositoryLayoutException;
|
throws UnknownRepositoryLayoutException;
|
||||||
|
|
||||||
ArtifactRepository createArtifactRepository( String id, String url, ArtifactRepositoryLayout repositoryLayout, ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases );
|
ArtifactRepository createArtifactRepository( String id, String url, ArtifactRepositoryLayout repositoryLayout,
|
||||||
|
ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases );
|
||||||
|
|
||||||
void setGlobalUpdatePolicy( String snapshotPolicy );
|
void setGlobalUpdatePolicy( String snapshotPolicy );
|
||||||
|
|
||||||
|
|
|
@ -88,7 +88,8 @@ public class DefaultArtifactRepository
|
||||||
* @param snapshots the policies to use for snapshots
|
* @param snapshots the policies to use for snapshots
|
||||||
* @param releases the policies to use for releases
|
* @param releases the policies to use for releases
|
||||||
*/
|
*/
|
||||||
public DefaultArtifactRepository( String id, String url, ArtifactRepositoryLayout layout, ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases )
|
public DefaultArtifactRepository( String id, String url, ArtifactRepositoryLayout layout,
|
||||||
|
ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases )
|
||||||
{
|
{
|
||||||
super( id, url );
|
super( id, url );
|
||||||
|
|
||||||
|
@ -121,8 +122,7 @@ public class DefaultArtifactRepository
|
||||||
return layout.pathOfRemoteRepositoryMetadata( artifactMetadata );
|
return layout.pathOfRemoteRepositoryMetadata( artifactMetadata );
|
||||||
}
|
}
|
||||||
|
|
||||||
public String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata,
|
public String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata, ArtifactRepository repository )
|
||||||
ArtifactRepository repository )
|
|
||||||
{
|
{
|
||||||
return layout.pathOfLocalRepositoryMetadata( metadata, repository );
|
return layout.pathOfLocalRepositoryMetadata( metadata, repository );
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,26 +54,22 @@ public class DefaultArtifactRepositoryFactory
|
||||||
return factory.getLayout( layoutId );
|
return factory.getLayout( layoutId );
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactRepository createDeploymentArtifactRepository( String id,
|
public ArtifactRepository createDeploymentArtifactRepository( String id, String url, String layoutId,
|
||||||
String url,
|
|
||||||
String layoutId,
|
|
||||||
boolean uniqueVersion )
|
boolean uniqueVersion )
|
||||||
throws UnknownRepositoryLayoutException
|
throws UnknownRepositoryLayoutException
|
||||||
{
|
{
|
||||||
return injectSession( factory.createDeploymentArtifactRepository( id, url, layoutId, uniqueVersion ), false );
|
return injectSession( factory.createDeploymentArtifactRepository( id, url, layoutId, uniqueVersion ), false );
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactRepository createDeploymentArtifactRepository( String id,
|
public ArtifactRepository createDeploymentArtifactRepository( String id, String url,
|
||||||
String url,
|
|
||||||
ArtifactRepositoryLayout repositoryLayout,
|
ArtifactRepositoryLayout repositoryLayout,
|
||||||
boolean uniqueVersion )
|
boolean uniqueVersion )
|
||||||
{
|
{
|
||||||
return injectSession( factory.createDeploymentArtifactRepository( id, url, repositoryLayout, uniqueVersion ), false);
|
return injectSession( factory.createDeploymentArtifactRepository( id, url, repositoryLayout, uniqueVersion ),
|
||||||
|
false );
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactRepository createArtifactRepository( String id,
|
public ArtifactRepository createArtifactRepository( String id, String url, String layoutId,
|
||||||
String url,
|
|
||||||
String layoutId,
|
|
||||||
ArtifactRepositoryPolicy snapshots,
|
ArtifactRepositoryPolicy snapshots,
|
||||||
ArtifactRepositoryPolicy releases )
|
ArtifactRepositoryPolicy releases )
|
||||||
throws UnknownRepositoryLayoutException
|
throws UnknownRepositoryLayoutException
|
||||||
|
@ -81,8 +77,7 @@ public class DefaultArtifactRepositoryFactory
|
||||||
return injectSession( factory.createArtifactRepository( layoutId, url, layoutId, snapshots, releases ), true );
|
return injectSession( factory.createArtifactRepository( layoutId, url, layoutId, snapshots, releases ), true );
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactRepository createArtifactRepository( String id,
|
public ArtifactRepository createArtifactRepository( String id, String url,
|
||||||
String url,
|
|
||||||
ArtifactRepositoryLayout repositoryLayout,
|
ArtifactRepositoryLayout repositoryLayout,
|
||||||
ArtifactRepositoryPolicy snapshots,
|
ArtifactRepositoryPolicy snapshots,
|
||||||
ArtifactRepositoryPolicy releases )
|
ArtifactRepositoryPolicy releases )
|
||||||
|
|
|
@ -65,8 +65,7 @@ public class FlatRepositoryLayout
|
||||||
return path.toString();
|
return path.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata,
|
public String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata, ArtifactRepository repository )
|
||||||
ArtifactRepository repository )
|
|
||||||
{
|
{
|
||||||
return pathOfRepositoryMetadata( metadata.getLocalFilename( repository ) );
|
return pathOfRepositoryMetadata( metadata.getLocalFilename( repository ) );
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,7 +60,8 @@ public class DefaultRepositoryMetadataManager
|
||||||
@Requirement
|
@Requirement
|
||||||
private UpdateCheckManager updateCheckManager;
|
private UpdateCheckManager updateCheckManager;
|
||||||
|
|
||||||
public void resolve( RepositoryMetadata metadata, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository )
|
public void resolve( RepositoryMetadata metadata, List<ArtifactRepository> remoteRepositories,
|
||||||
|
ArtifactRepository localRepository )
|
||||||
throws RepositoryMetadataResolutionException
|
throws RepositoryMetadataResolutionException
|
||||||
{
|
{
|
||||||
RepositoryRequest request = new DefaultRepositoryRequest();
|
RepositoryRequest request = new DefaultRepositoryRequest();
|
||||||
|
@ -204,7 +205,8 @@ public class DefaultRepositoryMetadataManager
|
||||||
}
|
}
|
||||||
catch ( RepositoryMetadataStoreException e )
|
catch ( RepositoryMetadataStoreException e )
|
||||||
{
|
{
|
||||||
throw new RepositoryMetadataResolutionException( "Unable to store local copy of metadata: " + e.getMessage(), e );
|
throw new RepositoryMetadataResolutionException( "Unable to store local copy of metadata: "
|
||||||
|
+ e.getMessage(), e );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( cache != null )
|
if ( cache != null )
|
||||||
|
@ -342,7 +344,8 @@ public class DefaultRepositoryMetadataManager
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void mergeMetadata( RepositoryMetadata metadata, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository )
|
private void mergeMetadata( RepositoryMetadata metadata, List<ArtifactRepository> remoteRepositories,
|
||||||
|
ArtifactRepository localRepository )
|
||||||
throws RepositoryMetadataStoreException
|
throws RepositoryMetadataStoreException
|
||||||
{
|
{
|
||||||
// TODO: currently this is first wins, but really we should take the latest by comparing either the
|
// TODO: currently this is first wins, but really we should take the latest by comparing either the
|
||||||
|
@ -371,7 +374,9 @@ public class DefaultRepositoryMetadataManager
|
||||||
updateSnapshotMetadata( metadata, previousMetadata, selected, localRepository );
|
updateSnapshotMetadata( metadata, previousMetadata, selected, localRepository );
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateSnapshotMetadata( RepositoryMetadata metadata, Map<ArtifactRepository, Metadata> previousMetadata, ArtifactRepository selected, ArtifactRepository localRepository )
|
private void updateSnapshotMetadata( RepositoryMetadata metadata,
|
||||||
|
Map<ArtifactRepository, Metadata> previousMetadata,
|
||||||
|
ArtifactRepository selected, ArtifactRepository localRepository )
|
||||||
throws RepositoryMetadataStoreException
|
throws RepositoryMetadataStoreException
|
||||||
{
|
{
|
||||||
// TODO: this could be a lot nicer... should really be in the snapshot transformation?
|
// TODO: this could be a lot nicer... should really be in the snapshot transformation?
|
||||||
|
@ -396,7 +401,8 @@ public class DefaultRepositoryMetadataManager
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ( ( m.getVersioning() != null ) && ( m.getVersioning().getSnapshot() != null ) && m.getVersioning().getSnapshot().isLocalCopy() )
|
if ( ( m.getVersioning() != null ) && ( m.getVersioning().getSnapshot() != null )
|
||||||
|
&& m.getVersioning().getSnapshot().isLocalCopy() )
|
||||||
{
|
{
|
||||||
m.getVersioning().getSnapshot().setLocalCopy( false );
|
m.getVersioning().getSnapshot().setLocalCopy( false );
|
||||||
metadata.setMetadata( m );
|
metadata.setMetadata( m );
|
||||||
|
@ -409,11 +415,14 @@ public class DefaultRepositoryMetadataManager
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean loadMetadata( RepositoryMetadata repoMetadata, ArtifactRepository remoteRepository, ArtifactRepository localRepository, Map<ArtifactRepository, Metadata> previousMetadata )
|
private boolean loadMetadata( RepositoryMetadata repoMetadata, ArtifactRepository remoteRepository,
|
||||||
|
ArtifactRepository localRepository, Map<ArtifactRepository, Metadata> previousMetadata )
|
||||||
{
|
{
|
||||||
boolean setRepository = false;
|
boolean setRepository = false;
|
||||||
|
|
||||||
File metadataFile = new File( localRepository.getBasedir(), localRepository.pathOfLocalRepositoryMetadata( repoMetadata, remoteRepository ) );
|
File metadataFile =
|
||||||
|
new File( localRepository.getBasedir(), localRepository.pathOfLocalRepositoryMetadata( repoMetadata,
|
||||||
|
remoteRepository ) );
|
||||||
|
|
||||||
if ( metadataFile.exists() )
|
if ( metadataFile.exists() )
|
||||||
{
|
{
|
||||||
|
@ -475,11 +484,13 @@ public class DefaultRepositoryMetadataManager
|
||||||
}
|
}
|
||||||
catch ( IOException e )
|
catch ( IOException e )
|
||||||
{
|
{
|
||||||
throw new RepositoryMetadataReadException( "Cannot read metadata from '" + mappingFile + "': " + e.getMessage(), e );
|
throw new RepositoryMetadataReadException( "Cannot read metadata from '" + mappingFile + "': "
|
||||||
|
+ e.getMessage(), e );
|
||||||
}
|
}
|
||||||
catch ( XmlPullParserException e )
|
catch ( XmlPullParserException e )
|
||||||
{
|
{
|
||||||
throw new RepositoryMetadataReadException( "Cannot read metadata from '" + mappingFile + "': " + e.getMessage(), e );
|
throw new RepositoryMetadataReadException( "Cannot read metadata from '" + mappingFile + "': "
|
||||||
|
+ e.getMessage(), e );
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
|
@ -490,8 +501,8 @@ public class DefaultRepositoryMetadataManager
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ensures the last updated timestamp of the specified metadata does not refer to the future and fixes the local metadata if necessary to allow
|
* Ensures the last updated timestamp of the specified metadata does not refer to the future and fixes the local
|
||||||
* proper merging/updating of metadata during deployment.
|
* metadata if necessary to allow proper merging/updating of metadata during deployment.
|
||||||
*/
|
*/
|
||||||
private void fixTimestamp( File metadataFile, Metadata metadata, Metadata reference )
|
private void fixTimestamp( File metadataFile, Metadata metadata, Metadata reference )
|
||||||
{
|
{
|
||||||
|
@ -547,7 +558,8 @@ public class DefaultRepositoryMetadataManager
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void resolveAlways( RepositoryMetadata metadata, ArtifactRepository localRepository, ArtifactRepository remoteRepository )
|
public void resolveAlways( RepositoryMetadata metadata, ArtifactRepository localRepository,
|
||||||
|
ArtifactRepository remoteRepository )
|
||||||
throws RepositoryMetadataResolutionException
|
throws RepositoryMetadataResolutionException
|
||||||
{
|
{
|
||||||
File file;
|
File file;
|
||||||
|
@ -557,7 +569,8 @@ public class DefaultRepositoryMetadataManager
|
||||||
}
|
}
|
||||||
catch ( TransferFailedException e )
|
catch ( TransferFailedException e )
|
||||||
{
|
{
|
||||||
throw new RepositoryMetadataResolutionException( metadata + " could not be retrieved from repository: " + remoteRepository.getId() + " due to an error: " + e.getMessage(), e );
|
throw new RepositoryMetadataResolutionException( metadata + " could not be retrieved from repository: "
|
||||||
|
+ remoteRepository.getId() + " due to an error: " + e.getMessage(), e );
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
|
@ -574,18 +587,24 @@ public class DefaultRepositoryMetadataManager
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private File getArtifactMetadataFromDeploymentRepository( ArtifactMetadata metadata, ArtifactRepository localRepository, ArtifactRepository remoteRepository )
|
private File getArtifactMetadataFromDeploymentRepository( ArtifactMetadata metadata,
|
||||||
|
ArtifactRepository localRepository,
|
||||||
|
ArtifactRepository remoteRepository )
|
||||||
throws TransferFailedException
|
throws TransferFailedException
|
||||||
{
|
{
|
||||||
File file = new File( localRepository.getBasedir(), localRepository.pathOfLocalRepositoryMetadata( metadata, remoteRepository ) );
|
File file =
|
||||||
|
new File( localRepository.getBasedir(), localRepository.pathOfLocalRepositoryMetadata( metadata,
|
||||||
|
remoteRepository ) );
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
wagonManager.getArtifactMetadataFromDeploymentRepository( metadata, remoteRepository, file, ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN );
|
wagonManager.getArtifactMetadataFromDeploymentRepository( metadata, remoteRepository, file,
|
||||||
|
ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN );
|
||||||
}
|
}
|
||||||
catch ( ResourceDoesNotExistException e )
|
catch ( ResourceDoesNotExistException e )
|
||||||
{
|
{
|
||||||
getLogger().info( metadata + " could not be found on repository: " + remoteRepository.getId() + ", so will be created" );
|
getLogger().info( metadata + " could not be found on repository: " + remoteRepository.getId()
|
||||||
|
+ ", so will be created" );
|
||||||
|
|
||||||
// delete the local copy so the old details aren't used.
|
// delete the local copy so the old details aren't used.
|
||||||
if ( file.exists() )
|
if ( file.exists() )
|
||||||
|
@ -603,7 +622,8 @@ public class DefaultRepositoryMetadataManager
|
||||||
return file;
|
return file;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void deploy( ArtifactMetadata metadata, ArtifactRepository localRepository, ArtifactRepository deploymentRepository )
|
public void deploy( ArtifactMetadata metadata, ArtifactRepository localRepository,
|
||||||
|
ArtifactRepository deploymentRepository )
|
||||||
throws RepositoryMetadataDeploymentException
|
throws RepositoryMetadataDeploymentException
|
||||||
{
|
{
|
||||||
File file;
|
File file;
|
||||||
|
@ -616,7 +636,8 @@ public class DefaultRepositoryMetadataManager
|
||||||
}
|
}
|
||||||
catch ( TransferFailedException e )
|
catch ( TransferFailedException e )
|
||||||
{
|
{
|
||||||
throw new RepositoryMetadataDeploymentException( metadata + " could not be retrieved from repository: " + deploymentRepository.getId() + " due to an error: " + e.getMessage(), e );
|
throw new RepositoryMetadataDeploymentException( metadata + " could not be retrieved from repository: "
|
||||||
|
+ deploymentRepository.getId() + " due to an error: " + e.getMessage(), e );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( file.isFile() )
|
if ( file.isFile() )
|
||||||
|
@ -634,7 +655,9 @@ public class DefaultRepositoryMetadataManager
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// It's a POM - we don't need to retrieve it first
|
// It's a POM - we don't need to retrieve it first
|
||||||
file = new File( localRepository.getBasedir(), localRepository.pathOfLocalRepositoryMetadata( metadata, deploymentRepository ) );
|
file =
|
||||||
|
new File( localRepository.getBasedir(),
|
||||||
|
localRepository.pathOfLocalRepositoryMetadata( metadata, deploymentRepository ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
|
|
|
@ -46,13 +46,15 @@ public interface ArtifactResolver
|
||||||
|
|
||||||
// USED BY SUREFIRE
|
// USED BY SUREFIRE
|
||||||
@Deprecated
|
@Deprecated
|
||||||
ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories,
|
ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
|
||||||
|
ArtifactRepository localRepository,
|
||||||
|
List<ArtifactRepository> remoteRepositories,
|
||||||
ArtifactMetadataSource source, ArtifactFilter filter )
|
ArtifactMetadataSource source, ArtifactFilter filter )
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException;
|
throws ArtifactResolutionException, ArtifactNotFoundException;
|
||||||
|
|
||||||
// USED BY MAVEN ASSEMBLY PLUGIN
|
// USED BY MAVEN ASSEMBLY PLUGIN
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
|
ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
|
||||||
Map managedVersions, ArtifactRepository localRepository,
|
Map managedVersions, ArtifactRepository localRepository,
|
||||||
List<ArtifactRepository> remoteRepositories,
|
List<ArtifactRepository> remoteRepositories,
|
||||||
ArtifactMetadataSource source )
|
ArtifactMetadataSource source )
|
||||||
|
@ -60,19 +62,20 @@ public interface ArtifactResolver
|
||||||
|
|
||||||
// USED BY MAVEN ASSEMBLY PLUGIN
|
// USED BY MAVEN ASSEMBLY PLUGIN
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact, Map managedVersions, ArtifactRepository localRepository,
|
ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
|
||||||
List<ArtifactRepository> remoteRepositories, ArtifactMetadataSource source, ArtifactFilter filter )
|
Map managedVersions, ArtifactRepository localRepository,
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException;
|
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
|
|
||||||
List<ArtifactRepository> remoteRepositories,
|
List<ArtifactRepository> remoteRepositories,
|
||||||
ArtifactRepository localRepository,
|
ArtifactMetadataSource source, ArtifactFilter filter )
|
||||||
ArtifactMetadataSource source )
|
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException;
|
throws ArtifactResolutionException, ArtifactNotFoundException;
|
||||||
|
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
|
ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
|
||||||
|
List<ArtifactRepository> remoteRepositories,
|
||||||
|
ArtifactRepository localRepository, ArtifactMetadataSource source )
|
||||||
|
throws ArtifactResolutionException, ArtifactNotFoundException;
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
|
ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
|
||||||
Map managedVersions, ArtifactRepository localRepository,
|
Map managedVersions, ArtifactRepository localRepository,
|
||||||
List<ArtifactRepository> remoteRepositories,
|
List<ArtifactRepository> remoteRepositories,
|
||||||
ArtifactMetadataSource source, ArtifactFilter filter,
|
ArtifactMetadataSource source, ArtifactFilter filter,
|
||||||
|
@ -80,10 +83,9 @@ public interface ArtifactResolver
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException;
|
throws ArtifactResolutionException, ArtifactNotFoundException;
|
||||||
|
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
|
ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
|
||||||
List<ArtifactRepository> remoteRepositories,
|
List<ArtifactRepository> remoteRepositories,
|
||||||
ArtifactRepository localRepository,
|
ArtifactRepository localRepository, ArtifactMetadataSource source,
|
||||||
ArtifactMetadataSource source,
|
|
||||||
List<ResolutionListener> listeners )
|
List<ResolutionListener> listeners )
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException;
|
throws ArtifactResolutionException, ArtifactNotFoundException;
|
||||||
|
|
||||||
|
@ -94,11 +96,13 @@ public interface ArtifactResolver
|
||||||
|
|
||||||
// USED BY REMOTE RESOURCES PLUGIN
|
// USED BY REMOTE RESOURCES PLUGIN
|
||||||
@Deprecated
|
@Deprecated
|
||||||
void resolve( Artifact artifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository, TransferListener downloadMonitor )
|
void resolve( Artifact artifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository,
|
||||||
|
TransferListener downloadMonitor )
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException;
|
throws ArtifactResolutionException, ArtifactNotFoundException;
|
||||||
|
|
||||||
// USED BY ARCHETYPE DOWNLOADER
|
// USED BY ARCHETYPE DOWNLOADER
|
||||||
@Deprecated
|
@Deprecated
|
||||||
void resolveAlways( Artifact artifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository )
|
void resolveAlways( Artifact artifact, List<ArtifactRepository> remoteRepositories,
|
||||||
|
ArtifactRepository localRepository )
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException;
|
throws ArtifactResolutionException, ArtifactNotFoundException;
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,8 +65,7 @@ public class DebugResolutionListener
|
||||||
logger.debug( indent + artifact + " (selected for " + artifact.getScope() + ")" );
|
logger.debug( indent + artifact + " (selected for " + artifact.getScope() + ")" );
|
||||||
}
|
}
|
||||||
|
|
||||||
public void omitForNearer( Artifact omitted,
|
public void omitForNearer( Artifact omitted, Artifact kept )
|
||||||
Artifact kept )
|
|
||||||
{
|
{
|
||||||
String omittedVersion = omitted.getVersion();
|
String omittedVersion = omitted.getVersion();
|
||||||
String keptVersion = kept.getVersion();
|
String keptVersion = kept.getVersion();
|
||||||
|
@ -82,12 +81,10 @@ public class DebugResolutionListener
|
||||||
logger.debug( indent + omitted + " (removed - causes a cycle in the graph)" );
|
logger.debug( indent + omitted + " (removed - causes a cycle in the graph)" );
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateScopeCurrentPom( Artifact artifact,
|
public void updateScopeCurrentPom( Artifact artifact, String ignoredScope )
|
||||||
String ignoredScope )
|
|
||||||
{
|
{
|
||||||
logger.debug(
|
logger.debug( indent + artifact + " (not setting artifactScope to: " + ignoredScope + "; local artifactScope "
|
||||||
indent + artifact + " (not setting artifactScope to: " + ignoredScope + "; local artifactScope " + artifact.getScope()
|
+ artifact.getScope() + " wins)" );
|
||||||
+ " wins)" );
|
|
||||||
|
|
||||||
// TODO: better way than static? this might hide messages in a reactor
|
// TODO: better way than static? this might hide messages in a reactor
|
||||||
if ( !ignoredArtifacts.contains( artifact ) )
|
if ( !ignoredArtifacts.contains( artifact ) )
|
||||||
|
@ -99,8 +96,7 @@ public class DebugResolutionListener
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateScope( Artifact artifact,
|
public void updateScope( Artifact artifact, String scope )
|
||||||
String scope )
|
|
||||||
{
|
{
|
||||||
logger.debug( indent + artifact + " (setting artifactScope to: " + scope + ")" );
|
logger.debug( indent + artifact + " (setting artifactScope to: " + scope + ")" );
|
||||||
}
|
}
|
||||||
|
@ -111,9 +107,7 @@ public class DebugResolutionListener
|
||||||
+ artifact.getVersionRange() + ")" );
|
+ artifact.getVersionRange() + ")" );
|
||||||
}
|
}
|
||||||
|
|
||||||
public void restrictRange( Artifact artifact,
|
public void restrictRange( Artifact artifact, Artifact replacement, VersionRange newRange )
|
||||||
Artifact replacement,
|
|
||||||
VersionRange newRange )
|
|
||||||
{
|
{
|
||||||
logger.debug( indent + artifact + " (range restricted from: " + artifact.getVersionRange() + " and: "
|
logger.debug( indent + artifact + " (range restricted from: " + artifact.getVersionRange() + " and: "
|
||||||
+ replacement.getVersionRange() + " to: " + newRange + " )" );
|
+ replacement.getVersionRange() + " to: " + newRange + " )" );
|
||||||
|
@ -125,8 +119,7 @@ public class DebugResolutionListener
|
||||||
* more information) is needed to be able to determine when and if the version and/or artifactScope changes. See the two
|
* more information) is needed to be able to determine when and if the version and/or artifactScope changes. See the two
|
||||||
* added methods, manageArtifactVersion and manageArtifactScope.
|
* added methods, manageArtifactVersion and manageArtifactScope.
|
||||||
*/
|
*/
|
||||||
public void manageArtifact( Artifact artifact,
|
public void manageArtifact( Artifact artifact, Artifact replacement )
|
||||||
Artifact replacement )
|
|
||||||
{
|
{
|
||||||
String msg = indent + artifact;
|
String msg = indent + artifact;
|
||||||
msg += " (";
|
msg += " (";
|
||||||
|
@ -142,8 +135,7 @@ public class DebugResolutionListener
|
||||||
logger.debug( msg );
|
logger.debug( msg );
|
||||||
}
|
}
|
||||||
|
|
||||||
public void manageArtifactVersion( Artifact artifact,
|
public void manageArtifactVersion( Artifact artifact, Artifact replacement )
|
||||||
Artifact replacement )
|
|
||||||
{
|
{
|
||||||
// only show msg if a change is actually taking place
|
// only show msg if a change is actually taking place
|
||||||
if ( !replacement.getVersion().equals( artifact.getVersion() ) )
|
if ( !replacement.getVersion().equals( artifact.getVersion() ) )
|
||||||
|
@ -153,8 +145,7 @@ public class DebugResolutionListener
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void manageArtifactScope( Artifact artifact,
|
public void manageArtifactScope( Artifact artifact, Artifact replacement )
|
||||||
Artifact replacement )
|
|
||||||
{
|
{
|
||||||
// only show msg if a change is actually taking place
|
// only show msg if a change is actually taking place
|
||||||
if ( !replacement.getScope().equals( artifact.getScope() ) )
|
if ( !replacement.getScope().equals( artifact.getScope() ) )
|
||||||
|
@ -164,8 +155,7 @@ public class DebugResolutionListener
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void manageArtifactSystemPath( Artifact artifact,
|
public void manageArtifactSystemPath( Artifact artifact, Artifact replacement )
|
||||||
Artifact replacement )
|
|
||||||
{
|
{
|
||||||
// only show msg if a change is actually taking place
|
// only show msg if a change is actually taking place
|
||||||
if ( !replacement.getScope().equals( artifact.getScope() ) )
|
if ( !replacement.getScope().equals( artifact.getScope() ) )
|
||||||
|
|
|
@ -1,18 +1,22 @@
|
||||||
package org.apache.maven.artifact.resolver;
|
package org.apache.maven.artifact.resolver;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* agreements. See the NOTICE file distributed with this work for additional information regarding
|
* or more contributor license agreements. See the NOTICE file
|
||||||
* copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
|
* distributed with this work for additional information
|
||||||
* "License"); you may not use this file except in compliance with the License. You may obtain a
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
* copy of the License at
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
* software distributed under the License is distributed on an
|
||||||
* or implied. See the License for the specific language governing permissions and limitations under
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* the License.
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
@ -157,7 +161,8 @@ public class DefaultArtifactResolver
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void resolve( Artifact artifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository, TransferListener resolutionListener )
|
public void resolve( Artifact artifact, List<ArtifactRepository> remoteRepositories,
|
||||||
|
ArtifactRepository localRepository, TransferListener resolutionListener )
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException
|
throws ArtifactResolutionException, ArtifactNotFoundException
|
||||||
{
|
{
|
||||||
RepositoryRequest request = new DefaultRepositoryRequest();
|
RepositoryRequest request = new DefaultRepositoryRequest();
|
||||||
|
@ -167,7 +172,8 @@ public class DefaultArtifactResolver
|
||||||
resolve( artifact, request, resolutionListener, false );
|
resolve( artifact, request, resolutionListener, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
public void resolveAlways( Artifact artifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository )
|
public void resolveAlways( Artifact artifact, List<ArtifactRepository> remoteRepositories,
|
||||||
|
ArtifactRepository localRepository )
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException
|
throws ArtifactResolutionException, ArtifactNotFoundException
|
||||||
{
|
{
|
||||||
RepositoryRequest request = new DefaultRepositoryRequest();
|
RepositoryRequest request = new DefaultRepositoryRequest();
|
||||||
|
@ -177,7 +183,8 @@ public class DefaultArtifactResolver
|
||||||
resolve( artifact, request, null, true );
|
resolve( artifact, request, null, true );
|
||||||
}
|
}
|
||||||
|
|
||||||
private void resolve( Artifact artifact, RepositoryRequest request, TransferListener downloadMonitor, boolean force )
|
private void resolve( Artifact artifact, RepositoryRequest request, TransferListener downloadMonitor,
|
||||||
|
boolean force )
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException
|
throws ArtifactResolutionException, ArtifactNotFoundException
|
||||||
{
|
{
|
||||||
if ( artifact == null )
|
if ( artifact == null )
|
||||||
|
@ -193,17 +200,20 @@ public class DefaultArtifactResolver
|
||||||
|
|
||||||
if ( systemFile == null )
|
if ( systemFile == null )
|
||||||
{
|
{
|
||||||
throw new ArtifactNotFoundException( "System artifact: " + artifact + " has no file attached", artifact );
|
throw new ArtifactNotFoundException( "System artifact: " + artifact + " has no file attached",
|
||||||
|
artifact );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !systemFile.exists() )
|
if ( !systemFile.exists() )
|
||||||
{
|
{
|
||||||
throw new ArtifactNotFoundException( "System artifact: " + artifact + " not found in path: " + systemFile, artifact );
|
throw new ArtifactNotFoundException( "System artifact: " + artifact + " not found in path: "
|
||||||
|
+ systemFile, artifact );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !systemFile.isFile() )
|
if ( !systemFile.isFile() )
|
||||||
{
|
{
|
||||||
throw new ArtifactNotFoundException( "System artifact: " + artifact + " is not a file: " + systemFile, artifact );
|
throw new ArtifactNotFoundException( "System artifact: " + artifact + " is not a file: " + systemFile,
|
||||||
|
artifact );
|
||||||
}
|
}
|
||||||
|
|
||||||
artifact.setResolved( true );
|
artifact.setResolved( true );
|
||||||
|
@ -241,11 +251,13 @@ public class DefaultArtifactResolver
|
||||||
if ( artifact.getRepository() != null )
|
if ( artifact.getRepository() != null )
|
||||||
{
|
{
|
||||||
// the transformations discovered the artifact - so use it exclusively
|
// the transformations discovered the artifact - so use it exclusively
|
||||||
wagonManager.getArtifact( artifact, artifact.getRepository(), downloadMonitor, request.isForceUpdate() );
|
wagonManager.getArtifact( artifact, artifact.getRepository(), downloadMonitor,
|
||||||
|
request.isForceUpdate() );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
wagonManager.getArtifact( artifact, remoteRepositories, downloadMonitor, request.isForceUpdate() );
|
wagonManager.getArtifact( artifact, remoteRepositories, downloadMonitor,
|
||||||
|
request.isForceUpdate() );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( localRepositoryMaintainer != null )
|
if ( localRepositoryMaintainer != null )
|
||||||
|
@ -316,7 +328,8 @@ public class DefaultArtifactResolver
|
||||||
}
|
}
|
||||||
catch ( IOException e )
|
catch ( IOException e )
|
||||||
{
|
{
|
||||||
throw new ArtifactResolutionException( "Unable to copy resolved artifact for local use: " + e.getMessage(), artifact, remoteRepositories, e );
|
throw new ArtifactResolutionException( "Unable to copy resolved artifact for local use: "
|
||||||
|
+ e.getMessage(), artifact, remoteRepositories, e );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -372,52 +385,73 @@ public class DefaultArtifactResolver
|
||||||
return localCopy;
|
return localCopy;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories,
|
public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
|
||||||
|
ArtifactRepository localRepository,
|
||||||
|
List<ArtifactRepository> remoteRepositories,
|
||||||
ArtifactMetadataSource source, ArtifactFilter filter )
|
ArtifactMetadataSource source, ArtifactFilter filter )
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException
|
throws ArtifactResolutionException, ArtifactNotFoundException
|
||||||
{
|
{
|
||||||
return resolveTransitively( artifacts, originatingArtifact, Collections.EMPTY_MAP, localRepository, remoteRepositories, source, filter );
|
return resolveTransitively( artifacts, originatingArtifact, Collections.EMPTY_MAP, localRepository,
|
||||||
|
remoteRepositories, source, filter );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact, Map managedVersions, ArtifactRepository localRepository,
|
public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
|
||||||
List<ArtifactRepository> remoteRepositories, ArtifactMetadataSource source )
|
Map managedVersions, ArtifactRepository localRepository,
|
||||||
|
List<ArtifactRepository> remoteRepositories,
|
||||||
|
ArtifactMetadataSource source )
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException
|
throws ArtifactResolutionException, ArtifactNotFoundException
|
||||||
{
|
{
|
||||||
return resolveTransitively( artifacts, originatingArtifact, managedVersions, localRepository, remoteRepositories, source, null );
|
return resolveTransitively( artifacts, originatingArtifact, managedVersions, localRepository,
|
||||||
|
remoteRepositories, source, null );
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact, Map managedVersions, ArtifactRepository localRepository,
|
public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
|
||||||
List<ArtifactRepository> remoteRepositories, ArtifactMetadataSource source, ArtifactFilter filter )
|
Map managedVersions, ArtifactRepository localRepository,
|
||||||
|
List<ArtifactRepository> remoteRepositories,
|
||||||
|
ArtifactMetadataSource source, ArtifactFilter filter )
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException
|
throws ArtifactResolutionException, ArtifactNotFoundException
|
||||||
{
|
{
|
||||||
return resolveTransitively( artifacts, originatingArtifact, managedVersions, localRepository, remoteRepositories, source, filter, null );
|
return resolveTransitively( artifacts, originatingArtifact, managedVersions, localRepository,
|
||||||
|
remoteRepositories, source, filter, null );
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository,
|
public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
|
||||||
|
List<ArtifactRepository> remoteRepositories,
|
||||||
|
ArtifactRepository localRepository,
|
||||||
ArtifactMetadataSource source )
|
ArtifactMetadataSource source )
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException
|
throws ArtifactResolutionException, ArtifactNotFoundException
|
||||||
{
|
{
|
||||||
return resolveTransitively( artifacts, originatingArtifact, localRepository, remoteRepositories, source, null );
|
return resolveTransitively( artifacts, originatingArtifact, localRepository, remoteRepositories, source, null );
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository,
|
public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
|
||||||
ArtifactMetadataSource source, List<ResolutionListener> listeners )
|
List<ArtifactRepository> remoteRepositories,
|
||||||
|
ArtifactRepository localRepository,
|
||||||
|
ArtifactMetadataSource source,
|
||||||
|
List<ResolutionListener> listeners )
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException
|
throws ArtifactResolutionException, ArtifactNotFoundException
|
||||||
{
|
{
|
||||||
return resolveTransitively( artifacts, originatingArtifact, Collections.EMPTY_MAP, localRepository,
|
return resolveTransitively( artifacts, originatingArtifact, Collections.EMPTY_MAP, localRepository,
|
||||||
remoteRepositories, source, null, listeners );
|
remoteRepositories, source, null, listeners );
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact, Map managedVersions, ArtifactRepository localRepository,
|
public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
|
||||||
List<ArtifactRepository> remoteRepositories, ArtifactMetadataSource source, ArtifactFilter filter, List<ResolutionListener> listeners )
|
Map managedVersions, ArtifactRepository localRepository,
|
||||||
|
List<ArtifactRepository> remoteRepositories,
|
||||||
|
ArtifactMetadataSource source, ArtifactFilter filter,
|
||||||
|
List<ResolutionListener> listeners )
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException
|
throws ArtifactResolutionException, ArtifactNotFoundException
|
||||||
{
|
{
|
||||||
return resolveTransitively( artifacts, originatingArtifact, managedVersions, localRepository, remoteRepositories, source, filter, listeners, null );
|
return resolveTransitively( artifacts, originatingArtifact, managedVersions, localRepository,
|
||||||
|
remoteRepositories, source, filter, listeners, null );
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact, Map managedVersions, ArtifactRepository localRepository,
|
public ArtifactResolutionResult resolveTransitively( Set<Artifact> artifacts, Artifact originatingArtifact,
|
||||||
List<ArtifactRepository> remoteRepositories, ArtifactMetadataSource source, ArtifactFilter filter, List<ResolutionListener> listeners,
|
Map managedVersions, ArtifactRepository localRepository,
|
||||||
|
List<ArtifactRepository> remoteRepositories,
|
||||||
|
ArtifactMetadataSource source, ArtifactFilter filter,
|
||||||
|
List<ResolutionListener> listeners,
|
||||||
List<ConflictResolver> conflictResolvers )
|
List<ConflictResolver> conflictResolvers )
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException
|
throws ArtifactResolutionException, ArtifactNotFoundException
|
||||||
{
|
{
|
||||||
|
@ -592,7 +626,8 @@ public class DefaultArtifactResolver
|
||||||
// so we give this back to the calling code and let them deal with this information
|
// so we give this back to the calling code and let them deal with this information
|
||||||
// appropriately.
|
// appropriately.
|
||||||
|
|
||||||
if ( result.hasMetadataResolutionExceptions() || result.hasVersionRangeViolations() || result.hasCircularDependencyExceptions() )
|
if ( result.hasMetadataResolutionExceptions() || result.hasVersionRangeViolations()
|
||||||
|
|| result.hasCircularDependencyExceptions() )
|
||||||
{
|
{
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -645,7 +680,8 @@ public class DefaultArtifactResolver
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void resolve( Artifact artifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository )
|
public void resolve( Artifact artifact, List<ArtifactRepository> remoteRepositories,
|
||||||
|
ArtifactRepository localRepository )
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException
|
throws ArtifactResolutionException, ArtifactNotFoundException
|
||||||
{
|
{
|
||||||
resolve( artifact, remoteRepositories, localRepository, null );
|
resolve( artifact, remoteRepositories, localRepository, null );
|
||||||
|
@ -667,8 +703,9 @@ public class DefaultArtifactResolver
|
||||||
|
|
||||||
private final ArtifactResolutionResult result;
|
private final ArtifactResolutionResult result;
|
||||||
|
|
||||||
public ResolveTask( ClassLoader classLoader, CountDownLatch latch, Artifact artifact, TransferListener transferListener,
|
public ResolveTask( ClassLoader classLoader, CountDownLatch latch, Artifact artifact,
|
||||||
ArtifactResolutionRequest request, ArtifactResolutionResult result )
|
TransferListener transferListener, ArtifactResolutionRequest request,
|
||||||
|
ArtifactResolutionResult result )
|
||||||
{
|
{
|
||||||
this.classLoader = classLoader;
|
this.classLoader = classLoader;
|
||||||
this.latch = latch;
|
this.latch = latch;
|
||||||
|
|
|
@ -72,7 +72,8 @@ public class DefaultMavenProfilesBuilder
|
||||||
}
|
}
|
||||||
catch ( Exception e )
|
catch ( Exception e )
|
||||||
{
|
{
|
||||||
getLogger().warn( "Failed to initialize environment variable resolver. Skipping environment substitution in " + PROFILES_XML_FILE + "." );
|
getLogger().warn( "Failed to initialize environment variable resolver. Skipping environment "
|
||||||
|
+ "substitution in " + PROFILES_XML_FILE + "." );
|
||||||
getLogger().debug( "Failed to initialize envar resolver. Skipping resolution.", e );
|
getLogger().debug( "Failed to initialize envar resolver. Skipping resolution.", e );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -64,8 +64,8 @@ public class DefaultProfileManager
|
||||||
private Properties requestProperties;
|
private Properties requestProperties;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated without passing in the system properties, the SystemPropertiesProfileActivator will not work correctly
|
* @deprecated without passing in the system properties, the SystemPropertiesProfileActivator will not work
|
||||||
* in embedded envirnments.
|
* correctly in embedded envirnments.
|
||||||
*/
|
*/
|
||||||
public DefaultProfileManager( PlexusContainer container )
|
public DefaultProfileManager( PlexusContainer container )
|
||||||
{
|
{
|
||||||
|
|
|
@ -88,11 +88,13 @@ public class FileProfileActivator
|
||||||
{
|
{
|
||||||
if ( logger.isDebugEnabled() )
|
if ( logger.isDebugEnabled() )
|
||||||
{
|
{
|
||||||
logger.debug( "Failed to interpolate missing file location for profile activator: " + fileString, e );
|
logger.debug( "Failed to interpolate missing file location for profile activator: " + fileString,
|
||||||
|
e );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
logger.warn( "Failed to interpolate missing file location for profile activator: " + fileString + ". Run in debug mode (-X) for more information." );
|
logger.warn( "Failed to interpolate missing file location for profile activator: " + fileString
|
||||||
|
+ ". Run in debug mode (-X) for more information." );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,14 +44,7 @@ public class JdkPrefixProfileActivator
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if ( matchJdkVersionRange( jdk ) )
|
return matchJdkVersionRange( jdk );
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch ( InvalidVersionSpecificationException e )
|
catch ( InvalidVersionSpecificationException e )
|
||||||
{
|
{
|
||||||
|
|
|
@ -24,7 +24,7 @@ import org.apache.maven.model.Profile;
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public interface ProfileActivator
|
public interface ProfileActivator
|
||||||
{
|
{
|
||||||
static final String ROLE = ProfileActivator.class.getName();
|
final String ROLE = ProfileActivator.class.getName();
|
||||||
|
|
||||||
boolean canDetermineActivation( Profile profile );
|
boolean canDetermineActivation( Profile profile );
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,8 @@ public class SystemPropertyProfileActivator
|
||||||
{
|
{
|
||||||
private Properties properties;
|
private Properties properties;
|
||||||
|
|
||||||
public void contextualize(Context context) throws ContextException
|
public void contextualize( Context context )
|
||||||
|
throws ContextException
|
||||||
{
|
{
|
||||||
properties = (Properties) context.get( "SystemProperties" );
|
properties = (Properties) context.get( "SystemProperties" );
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,18 +1,22 @@
|
||||||
package org.apache.maven.project;
|
package org.apache.maven.project;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* agreements. See the NOTICE file distributed with this work for additional information regarding
|
* or more contributor license agreements. See the NOTICE file
|
||||||
* copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
|
* distributed with this work for additional information
|
||||||
* "License"); you may not use this file except in compliance with the License. You may obtain a
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
* copy of the License at
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
* software distributed under the License is distributed on an
|
||||||
* or implied. See the License for the specific language governing permissions and limitations under
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* the License.
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
|
@ -1,18 +1,22 @@
|
||||||
package org.apache.maven.project;
|
package org.apache.maven.project;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* agreements. See the NOTICE file distributed with this work for additional information regarding
|
* or more contributor license agreements. See the NOTICE file
|
||||||
* copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
|
* distributed with this work for additional information
|
||||||
* "License"); you may not use this file except in compliance with the License. You may obtain a
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
* copy of the License at
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
* software distributed under the License is distributed on an
|
||||||
* or implied. See the License for the specific language governing permissions and limitations under
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* the License.
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
@ -37,11 +41,13 @@ public interface MavenProjectBuilder
|
||||||
throws ProjectBuildingException;
|
throws ProjectBuildingException;
|
||||||
|
|
||||||
//TODO remote-resources-plugin
|
//TODO remote-resources-plugin
|
||||||
MavenProject buildFromRepository( Artifact artifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository )
|
MavenProject buildFromRepository( Artifact artifact, List<ArtifactRepository> remoteRepositories,
|
||||||
|
ArtifactRepository localRepository )
|
||||||
throws ProjectBuildingException;
|
throws ProjectBuildingException;
|
||||||
|
|
||||||
//TODO remote-resources-plugin
|
//TODO remote-resources-plugin
|
||||||
MavenProject buildFromRepository( Artifact artifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository, boolean allowStubModel )
|
MavenProject buildFromRepository( Artifact artifact, List<ArtifactRepository> remoteRepositories,
|
||||||
|
ArtifactRepository localRepository, boolean allowStubModel )
|
||||||
throws ProjectBuildingException;
|
throws ProjectBuildingException;
|
||||||
|
|
||||||
// TODO: this is only to provide a project for plugins that don't need a project to execute but need some
|
// TODO: this is only to provide a project for plugins that don't need a project to execute but need some
|
||||||
|
|
|
@ -45,7 +45,9 @@ public final class ProjectUtils
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<ArtifactRepository> buildArtifactRepositories( List<Repository> repositories, ArtifactRepositoryFactory artifactRepositoryFactory, PlexusContainer c )
|
public static List<ArtifactRepository> buildArtifactRepositories( List<Repository> repositories,
|
||||||
|
ArtifactRepositoryFactory artifactRepositoryFactory,
|
||||||
|
PlexusContainer c )
|
||||||
throws InvalidRepositoryException
|
throws InvalidRepositoryException
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -59,13 +61,17 @@ public final class ProjectUtils
|
||||||
return remoteRepositories;
|
return remoteRepositories;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ArtifactRepository buildDeploymentArtifactRepository( DeploymentRepository repo, ArtifactRepositoryFactory artifactRepositoryFactory, PlexusContainer c )
|
public static ArtifactRepository buildDeploymentArtifactRepository( DeploymentRepository repo,
|
||||||
|
ArtifactRepositoryFactory artifactRepositoryFactory,
|
||||||
|
PlexusContainer c )
|
||||||
throws InvalidRepositoryException
|
throws InvalidRepositoryException
|
||||||
{
|
{
|
||||||
return buildArtifactRepository( repo, artifactRepositoryFactory, c );
|
return buildArtifactRepository( repo, artifactRepositoryFactory, c );
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ArtifactRepository buildArtifactRepository( Repository repo, ArtifactRepositoryFactory artifactRepositoryFactory, PlexusContainer c )
|
public static ArtifactRepository buildArtifactRepository( Repository repo,
|
||||||
|
ArtifactRepositoryFactory artifactRepositoryFactory,
|
||||||
|
PlexusContainer c )
|
||||||
throws InvalidRepositoryException
|
throws InvalidRepositoryException
|
||||||
{
|
{
|
||||||
RepositorySystem repositorySystem = rs( c );
|
RepositorySystem repositorySystem = rs( c );
|
||||||
|
|
|
@ -84,7 +84,7 @@ public class DefaultModelInheritanceAssembler
|
||||||
childBuild.setTestOutputDirectory( parentBuild.getTestOutputDirectory() );
|
childBuild.setTestOutputDirectory( parentBuild.getTestOutputDirectory() );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Extensions are accumlated
|
// Extensions are accumulated
|
||||||
mergeExtensionLists( childBuild, parentBuild );
|
mergeExtensionLists( childBuild, parentBuild );
|
||||||
|
|
||||||
if ( childBuild.getDirectory() == null )
|
if ( childBuild.getDirectory() == null )
|
||||||
|
|
|
@ -215,7 +215,8 @@ public abstract class AbstractStringBasedModelInterpolator
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected List<ValueSource> createValueSources( final Model model, final File projectDir, final ProjectBuilderConfiguration config )
|
protected List<ValueSource> createValueSources( final Model model, final File projectDir,
|
||||||
|
final ProjectBuilderConfiguration config )
|
||||||
{
|
{
|
||||||
String timestampFormat = DEFAULT_BUILD_TIMESTAMP_FORMAT;
|
String timestampFormat = DEFAULT_BUILD_TIMESTAMP_FORMAT;
|
||||||
|
|
||||||
|
@ -228,7 +229,8 @@ public abstract class AbstractStringBasedModelInterpolator
|
||||||
ValueSource modelValueSource1 = new PrefixedObjectValueSource( PROJECT_PREFIXES, model, false );
|
ValueSource modelValueSource1 = new PrefixedObjectValueSource( PROJECT_PREFIXES, model, false );
|
||||||
ValueSource modelValueSource2 = new ObjectBasedValueSource( model );
|
ValueSource modelValueSource2 = new ObjectBasedValueSource( model );
|
||||||
|
|
||||||
ValueSource basedirValueSource = new PrefixedValueSourceWrapper( new AbstractValueSource( false ){
|
ValueSource basedirValueSource = new PrefixedValueSourceWrapper( new AbstractValueSource( false )
|
||||||
|
{
|
||||||
public Object getValue( String expression )
|
public Object getValue( String expression )
|
||||||
{
|
{
|
||||||
if ( projectDir != null && "basedir".equals( expression ) )
|
if ( projectDir != null && "basedir".equals( expression ) )
|
||||||
|
@ -237,9 +239,9 @@ public abstract class AbstractStringBasedModelInterpolator
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
},
|
}, PROJECT_PREFIXES, true );
|
||||||
PROJECT_PREFIXES, true );
|
ValueSource baseUriValueSource = new PrefixedValueSourceWrapper( new AbstractValueSource( false )
|
||||||
ValueSource baseUriValueSource = new PrefixedValueSourceWrapper( new AbstractValueSource( false ){
|
{
|
||||||
public Object getValue( String expression )
|
public Object getValue( String expression )
|
||||||
{
|
{
|
||||||
if ( projectDir != null && "baseUri".equals( expression ) )
|
if ( projectDir != null && "baseUri".equals( expression ) )
|
||||||
|
@ -248,8 +250,7 @@ public abstract class AbstractStringBasedModelInterpolator
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
},
|
}, PROJECT_PREFIXES, false );
|
||||||
PROJECT_PREFIXES, false );
|
|
||||||
|
|
||||||
List<ValueSource> valueSources = new ArrayList<ValueSource>( 9 );
|
List<ValueSource> valueSources = new ArrayList<ValueSource>( 9 );
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,8 @@ public class PathTranslatingPostProcessor
|
||||||
private final PathTranslator pathTranslator;
|
private final PathTranslator pathTranslator;
|
||||||
private final List<String> expressionPrefixes;
|
private final List<String> expressionPrefixes;
|
||||||
|
|
||||||
public PathTranslatingPostProcessor( List<String> expressionPrefixes, List<String> unprefixedPathKeys, File projectDir, PathTranslator pathTranslator )
|
public PathTranslatingPostProcessor( List<String> expressionPrefixes, List<String> unprefixedPathKeys,
|
||||||
|
File projectDir, PathTranslator pathTranslator )
|
||||||
{
|
{
|
||||||
this.expressionPrefixes = expressionPrefixes;
|
this.expressionPrefixes = expressionPrefixes;
|
||||||
this.unprefixedPathKeys = unprefixedPathKeys;
|
this.unprefixedPathKeys = unprefixedPathKeys;
|
||||||
|
|
|
@ -206,7 +206,8 @@ public class StringSearchModelInterpolator
|
||||||
{
|
{
|
||||||
if ( debugEnabled && logger != null )
|
if ( debugEnabled && logger != null )
|
||||||
{
|
{
|
||||||
logger.debug( "Skipping interpolation of field: " + fields[i] + " in: " + cls.getName() + "; it is an unmodifiable collection." );
|
logger.debug( "Skipping interpolation of field: " + fields[i] + " in: "
|
||||||
|
+ cls.getName() + "; it is an unmodifiable collection." );
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -217,7 +218,11 @@ public class StringSearchModelInterpolator
|
||||||
{
|
{
|
||||||
if ( String.class == value.getClass() )
|
if ( String.class == value.getClass() )
|
||||||
{
|
{
|
||||||
String interpolated = modelInterpolator.interpolateInternal( (String) value, valueSources, postProcessors, debugEnabled );
|
String interpolated =
|
||||||
|
modelInterpolator.interpolateInternal( (String) value,
|
||||||
|
valueSources,
|
||||||
|
postProcessors,
|
||||||
|
debugEnabled );
|
||||||
|
|
||||||
if ( !interpolated.equals( value ) )
|
if ( !interpolated.equals( value ) )
|
||||||
{
|
{
|
||||||
|
@ -262,7 +267,11 @@ public class StringSearchModelInterpolator
|
||||||
{
|
{
|
||||||
if ( String.class == value.getClass() )
|
if ( String.class == value.getClass() )
|
||||||
{
|
{
|
||||||
String interpolated = modelInterpolator.interpolateInternal( (String) value, valueSources, postProcessors, debugEnabled );
|
String interpolated =
|
||||||
|
modelInterpolator.interpolateInternal( (String) value,
|
||||||
|
valueSources,
|
||||||
|
postProcessors,
|
||||||
|
debugEnabled );
|
||||||
|
|
||||||
if ( !interpolated.equals( value ) )
|
if ( !interpolated.equals( value ) )
|
||||||
{
|
{
|
||||||
|
@ -274,7 +283,10 @@ public class StringSearchModelInterpolator
|
||||||
{
|
{
|
||||||
if ( debugEnabled && logger != null )
|
if ( debugEnabled && logger != null )
|
||||||
{
|
{
|
||||||
logger.debug( "Skipping interpolation of field: " + fields[i] + " (key: " + entry.getKey() + ") in: " + cls.getName() + "; it is an unmodifiable collection." );
|
logger.debug( "Skipping interpolation of field: "
|
||||||
|
+ fields[i] + " (key: " + entry.getKey() + ") in: "
|
||||||
|
+ cls.getName()
|
||||||
|
+ "; it is an unmodifiable collection." );
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -313,11 +325,13 @@ public class StringSearchModelInterpolator
|
||||||
}
|
}
|
||||||
catch ( IllegalArgumentException e )
|
catch ( IllegalArgumentException e )
|
||||||
{
|
{
|
||||||
throw new ModelInterpolationException( "Failed to interpolate field: " + fields[i] + " on class: " + cls.getName(), e );
|
throw new ModelInterpolationException( "Failed to interpolate field: " + fields[i]
|
||||||
|
+ " on class: " + cls.getName(), e );
|
||||||
}
|
}
|
||||||
catch ( IllegalAccessException e )
|
catch ( IllegalAccessException e )
|
||||||
{
|
{
|
||||||
throw new ModelInterpolationException( "Failed to interpolate field: " + fields[i] + " on class: " + cls.getName(), e );
|
throw new ModelInterpolationException( "Failed to interpolate field: " + fields[i]
|
||||||
|
+ " on class: " + cls.getName(), e );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
|
@ -372,7 +386,9 @@ public class StringSearchModelInterpolator
|
||||||
{
|
{
|
||||||
if ( String.class == value.getClass() )
|
if ( String.class == value.getClass() )
|
||||||
{
|
{
|
||||||
String interpolated = modelInterpolator.interpolateInternal( (String) value, valueSources, postProcessors, debugEnabled );
|
String interpolated =
|
||||||
|
modelInterpolator.interpolateInternal( (String) value, valueSources, postProcessors,
|
||||||
|
debugEnabled );
|
||||||
|
|
||||||
if ( !interpolated.equals( value ) )
|
if ( !interpolated.equals( value ) )
|
||||||
{
|
{
|
||||||
|
|
|
@ -21,7 +21,6 @@ package org.apache.maven.project.path;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.apache.maven.model.Build;
|
import org.apache.maven.model.Build;
|
||||||
|
@ -49,27 +48,21 @@ public class DefaultPathTranslator
|
||||||
|
|
||||||
build.setTestSourceDirectory( alignToBaseDirectory( build.getTestSourceDirectory(), basedir ) );
|
build.setTestSourceDirectory( alignToBaseDirectory( build.getTestSourceDirectory(), basedir ) );
|
||||||
|
|
||||||
for ( Iterator i = build.getResources().iterator(); i.hasNext(); )
|
for ( Resource resource : build.getResources() )
|
||||||
{
|
{
|
||||||
Resource resource = (Resource) i.next();
|
|
||||||
|
|
||||||
resource.setDirectory( alignToBaseDirectory( resource.getDirectory(), basedir ) );
|
resource.setDirectory( alignToBaseDirectory( resource.getDirectory(), basedir ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( Iterator i = build.getTestResources().iterator(); i.hasNext(); )
|
for ( Resource resource : build.getTestResources() )
|
||||||
{
|
{
|
||||||
Resource resource = (Resource) i.next();
|
|
||||||
|
|
||||||
resource.setDirectory( alignToBaseDirectory( resource.getDirectory(), basedir ) );
|
resource.setDirectory( alignToBaseDirectory( resource.getDirectory(), basedir ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( build.getFilters() != null )
|
if ( build.getFilters() != null )
|
||||||
{
|
{
|
||||||
List filters = new ArrayList();
|
List<String> filters = new ArrayList<String>();
|
||||||
for ( Iterator i = build.getFilters().iterator(); i.hasNext(); )
|
for ( String filter : build.getFilters() )
|
||||||
{
|
{
|
||||||
String filter = (String) i.next();
|
|
||||||
|
|
||||||
filters.add( alignToBaseDirectory( filter, basedir ) );
|
filters.add( alignToBaseDirectory( filter, basedir ) );
|
||||||
}
|
}
|
||||||
build.setFilters( filters );
|
build.setFilters( filters );
|
||||||
|
@ -183,27 +176,21 @@ public class DefaultPathTranslator
|
||||||
|
|
||||||
build.setTestSourceDirectory( unalignFromBaseDirectory( build.getTestSourceDirectory(), basedir ) );
|
build.setTestSourceDirectory( unalignFromBaseDirectory( build.getTestSourceDirectory(), basedir ) );
|
||||||
|
|
||||||
for ( Iterator i = build.getResources().iterator(); i.hasNext(); )
|
for ( Resource resource : build.getResources() )
|
||||||
{
|
{
|
||||||
Resource resource = (Resource) i.next();
|
|
||||||
|
|
||||||
resource.setDirectory( unalignFromBaseDirectory( resource.getDirectory(), basedir ) );
|
resource.setDirectory( unalignFromBaseDirectory( resource.getDirectory(), basedir ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( Iterator i = build.getTestResources().iterator(); i.hasNext(); )
|
for ( Resource resource : build.getTestResources() )
|
||||||
{
|
{
|
||||||
Resource resource = (Resource) i.next();
|
|
||||||
|
|
||||||
resource.setDirectory( unalignFromBaseDirectory( resource.getDirectory(), basedir ) );
|
resource.setDirectory( unalignFromBaseDirectory( resource.getDirectory(), basedir ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( build.getFilters() != null )
|
if ( build.getFilters() != null )
|
||||||
{
|
{
|
||||||
List filters = new ArrayList();
|
List<String> filters = new ArrayList<String>();
|
||||||
for ( Iterator i = build.getFilters().iterator(); i.hasNext(); )
|
for ( String filter : build.getFilters() )
|
||||||
{
|
{
|
||||||
String filter = (String) i.next();
|
|
||||||
|
|
||||||
filters.add( unalignFromBaseDirectory( filter, basedir ) );
|
filters.add( unalignFromBaseDirectory( filter, basedir ) );
|
||||||
}
|
}
|
||||||
build.setFilters( filters );
|
build.setFilters( filters );
|
||||||
|
|
|
@ -31,7 +31,7 @@ public class ModelValidationResult
|
||||||
{
|
{
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
private final static String NEWLINE = System.getProperty( "line.separator" );
|
private static final String NEWLINE = System.getProperty( "line.separator" );
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
private List<String> messages;
|
private List<String> messages;
|
||||||
|
|
|
@ -131,7 +131,8 @@ public class DefaultMirrorSelector
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
URL url = new URL( originalRepository.getUrl() );
|
URL url = new URL( originalRepository.getUrl() );
|
||||||
return !( url.getHost().equals( "localhost" ) || url.getHost().equals( "127.0.0.1" ) || url.getProtocol().equals( "file" ) );
|
return !( url.getHost().equals( "localhost" ) || url.getHost().equals( "127.0.0.1" )
|
||||||
|
|| url.getProtocol().equals( "file" ) );
|
||||||
}
|
}
|
||||||
catch ( MalformedURLException e )
|
catch ( MalformedURLException e )
|
||||||
{
|
{
|
||||||
|
|
|
@ -19,7 +19,6 @@ package org.apache.maven.repository;
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
|
@ -113,10 +112,9 @@ public class MavenArtifactMetadata
|
||||||
@Override
|
@Override
|
||||||
public String toString()
|
public String toString()
|
||||||
{
|
{
|
||||||
return getGroupId()+":"+getArtifactId()+":"+getVersion()
|
return getGroupId() + ":" + getArtifactId() + ":" + getVersion() + ":"
|
||||||
+":" + (getClassifier() == null ? "" : getClassifier() )
|
+ ( getClassifier() == null ? "" : getClassifier() ) + ":"
|
||||||
+":" + (getType() == null ? DEFAULT_TYPE : getType() )
|
+ ( getType() == null ? DEFAULT_TYPE : getType() );
|
||||||
;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,26 +68,34 @@ public class MetadataGraphNode
|
||||||
public boolean equals( Object obj )
|
public boolean equals( Object obj )
|
||||||
{
|
{
|
||||||
if ( obj == null )
|
if ( obj == null )
|
||||||
|
{
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if ( MetadataGraphNode.class.isAssignableFrom( obj.getClass() ) )
|
if ( MetadataGraphNode.class.isAssignableFrom( obj.getClass() ) )
|
||||||
{
|
{
|
||||||
MetadataGraphNode node2 = (MetadataGraphNode) obj;
|
MetadataGraphNode node2 = (MetadataGraphNode) obj;
|
||||||
|
|
||||||
if ( node2.metadata == null )
|
if ( node2.metadata == null )
|
||||||
|
{
|
||||||
return metadata == null;
|
return metadata == null;
|
||||||
|
}
|
||||||
|
|
||||||
return metadata == null ? false : metadata.toString().equals( node2.metadata.toString() );
|
return metadata == null ? false : metadata.toString().equals( node2.metadata.toString() );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
return super.equals( obj );
|
return super.equals( obj );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode()
|
public int hashCode()
|
||||||
{
|
{
|
||||||
if ( metadata == null )
|
if ( metadata == null )
|
||||||
|
{
|
||||||
return super.hashCode();
|
return super.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
return metadata.toString().hashCode();
|
return metadata.toString().hashCode();
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,7 +65,8 @@ public class MetadataResolutionRequest
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
public MetadataResolutionRequest( MavenArtifactMetadata md, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
|
public MetadataResolutionRequest( MavenArtifactMetadata md, ArtifactRepository localRepository,
|
||||||
|
List<ArtifactRepository> remoteRepositories )
|
||||||
{
|
{
|
||||||
this.mad = md;
|
this.mad = md;
|
||||||
this.localRepository = localRepository;
|
this.localRepository = localRepository;
|
||||||
|
|
|
@ -30,8 +30,6 @@ import org.apache.maven.artifact.repository.ArtifactRepository;
|
||||||
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
|
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
|
||||||
import org.apache.maven.artifact.resolver.CyclicDependencyException;
|
import org.apache.maven.artifact.resolver.CyclicDependencyException;
|
||||||
import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
|
import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
|
||||||
import org.apache.maven.repository.legacy.resolver.DefaultLegacyArtifactCollector;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -236,7 +234,9 @@ public class MetadataResolutionResult
|
||||||
public MetadataResolutionResult addError( Exception e )
|
public MetadataResolutionResult addError( Exception e )
|
||||||
{
|
{
|
||||||
if ( exceptions == null )
|
if ( exceptions == null )
|
||||||
|
{
|
||||||
initList( exceptions );
|
initList( exceptions );
|
||||||
|
}
|
||||||
|
|
||||||
exceptions.add( e );
|
exceptions.add( e );
|
||||||
|
|
||||||
|
|
|
@ -40,13 +40,11 @@ public class VersionNotFoundException
|
||||||
private File pomFile;
|
private File pomFile;
|
||||||
private InvalidVersionSpecificationException cause;
|
private InvalidVersionSpecificationException cause;
|
||||||
|
|
||||||
public VersionNotFoundException( String projectId
|
public VersionNotFoundException( String projectId, Dependency dependency, File pomFile,
|
||||||
, Dependency dependency
|
InvalidVersionSpecificationException cause )
|
||||||
, File pomFile
|
|
||||||
, InvalidVersionSpecificationException cause
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
super( projectId+", "+formatLocationInPom( dependency )+ " " +dependency.getVersion()+", pom file "+pomFile, cause );
|
super( projectId + ", " + formatLocationInPom( dependency ) + " " + dependency.getVersion() + ", pom file "
|
||||||
|
+ pomFile, cause );
|
||||||
|
|
||||||
this.projectId = projectId;
|
this.projectId = projectId;
|
||||||
|
|
||||||
|
|
|
@ -390,7 +390,8 @@ public class DefaultUpdateCheckManager
|
||||||
}
|
}
|
||||||
catch ( IOException e )
|
catch ( IOException e )
|
||||||
{
|
{
|
||||||
getLogger().debug( "Error releasing shared lock for resolution tracking file: " + touchfile, e );
|
getLogger().debug( "Error releasing shared lock for resolution tracking file: " + touchfile,
|
||||||
|
e );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ import org.codehaus.plexus.util.FileUtils;
|
||||||
|
|
||||||
//TODO: remove the update check manager
|
//TODO: remove the update check manager
|
||||||
//TODO: separate into retriever and publisher
|
//TODO: separate into retriever and publisher
|
||||||
//TODO: rmeove hardcoding of checksum logic
|
//TODO: remove hardcoding of checksum logic
|
||||||
@Component( role = WagonManager.class )
|
@Component( role = WagonManager.class )
|
||||||
public class DefaultWagonManager
|
public class DefaultWagonManager
|
||||||
implements WagonManager
|
implements WagonManager
|
||||||
|
@ -75,7 +75,8 @@ public class DefaultWagonManager
|
||||||
//
|
//
|
||||||
// Retriever
|
// Retriever
|
||||||
//
|
//
|
||||||
public void getArtifact( Artifact artifact, ArtifactRepository repository, TransferListener downloadMonitor, boolean force )
|
public void getArtifact( Artifact artifact, ArtifactRepository repository, TransferListener downloadMonitor,
|
||||||
|
boolean force )
|
||||||
throws TransferFailedException, ResourceDoesNotExistException
|
throws TransferFailedException, ResourceDoesNotExistException
|
||||||
{
|
{
|
||||||
String remotePath = repository.pathOf( artifact );
|
String remotePath = repository.pathOf( artifact );
|
||||||
|
@ -138,7 +139,8 @@ public class DefaultWagonManager
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getArtifact( Artifact artifact, List<ArtifactRepository> remoteRepositories, TransferListener downloadMonitor, boolean force )
|
public void getArtifact( Artifact artifact, List<ArtifactRepository> remoteRepositories,
|
||||||
|
TransferListener downloadMonitor, boolean force )
|
||||||
throws TransferFailedException, ResourceDoesNotExistException
|
throws TransferFailedException, ResourceDoesNotExistException
|
||||||
{
|
{
|
||||||
TransferFailedException tfe = null;
|
TransferFailedException tfe = null;
|
||||||
|
@ -195,7 +197,8 @@ public class DefaultWagonManager
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getArtifactMetadata( ArtifactMetadata metadata, ArtifactRepository repository, File destination, String checksumPolicy )
|
public void getArtifactMetadata( ArtifactMetadata metadata, ArtifactRepository repository, File destination,
|
||||||
|
String checksumPolicy )
|
||||||
throws TransferFailedException, ResourceDoesNotExistException
|
throws TransferFailedException, ResourceDoesNotExistException
|
||||||
{
|
{
|
||||||
String remotePath = repository.pathOfRemoteRepositoryMetadata( metadata );
|
String remotePath = repository.pathOfRemoteRepositoryMetadata( metadata );
|
||||||
|
@ -203,7 +206,8 @@ public class DefaultWagonManager
|
||||||
getRemoteFile( repository, destination, remotePath, null, checksumPolicy, true );
|
getRemoteFile( repository, destination, remotePath, null, checksumPolicy, true );
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getArtifactMetadataFromDeploymentRepository( ArtifactMetadata metadata, ArtifactRepository repository, File destination, String checksumPolicy )
|
public void getArtifactMetadataFromDeploymentRepository( ArtifactMetadata metadata, ArtifactRepository repository,
|
||||||
|
File destination, String checksumPolicy )
|
||||||
throws TransferFailedException, ResourceDoesNotExistException
|
throws TransferFailedException, ResourceDoesNotExistException
|
||||||
{
|
{
|
||||||
String remotePath = repository.pathOfRemoteRepositoryMetadata( metadata );
|
String remotePath = repository.pathOfRemoteRepositoryMetadata( metadata );
|
||||||
|
@ -235,7 +239,8 @@ public class DefaultWagonManager
|
||||||
}
|
}
|
||||||
else if ( repository.getAuthentication() != null )
|
else if ( repository.getAuthentication() != null )
|
||||||
{
|
{
|
||||||
wagon.connect( new Repository( repository.getId(), repository.getUrl() ), authenticationInfo( repository ) );
|
wagon.connect( new Repository( repository.getId(), repository.getUrl() ),
|
||||||
|
authenticationInfo( repository ) );
|
||||||
}
|
}
|
||||||
else if ( repository.getProxy() != null )
|
else if ( repository.getProxy() != null )
|
||||||
{
|
{
|
||||||
|
@ -267,7 +272,8 @@ public class DefaultWagonManager
|
||||||
return proxyInfo;
|
return proxyInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getRemoteFile( ArtifactRepository repository, File destination, String remotePath, TransferListener downloadMonitor, String checksumPolicy, boolean force )
|
public void getRemoteFile( ArtifactRepository repository, File destination, String remotePath,
|
||||||
|
TransferListener downloadMonitor, String checksumPolicy, boolean force )
|
||||||
throws TransferFailedException, ResourceDoesNotExistException
|
throws TransferFailedException, ResourceDoesNotExistException
|
||||||
{
|
{
|
||||||
String protocol = repository.getProtocol();
|
String protocol = repository.getProtocol();
|
||||||
|
@ -407,7 +413,8 @@ public class DefaultWagonManager
|
||||||
catch ( ResourceDoesNotExistException md5TryException )
|
catch ( ResourceDoesNotExistException md5TryException )
|
||||||
{
|
{
|
||||||
// this was a failed transfer, and we don't want to retry.
|
// this was a failed transfer, and we don't want to retry.
|
||||||
handleChecksumFailure( checksumPolicy, "Error retrieving checksum file for " + remotePath, md5TryException );
|
handleChecksumFailure( checksumPolicy, "Error retrieving checksum file for " + remotePath,
|
||||||
|
md5TryException );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -470,7 +477,8 @@ public class DefaultWagonManager
|
||||||
}
|
}
|
||||||
catch ( IOException e )
|
catch ( IOException e )
|
||||||
{
|
{
|
||||||
throw new TransferFailedException( "Error copying temporary file to the final destination: " + e.getMessage(), e );
|
throw new TransferFailedException( "Error copying temporary file to the final destination: "
|
||||||
|
+ e.getMessage(), e );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -479,7 +487,8 @@ public class DefaultWagonManager
|
||||||
//
|
//
|
||||||
// Publisher
|
// Publisher
|
||||||
//
|
//
|
||||||
public void putArtifact( File source, Artifact artifact, ArtifactRepository deploymentRepository, TransferListener downloadMonitor )
|
public void putArtifact( File source, Artifact artifact, ArtifactRepository deploymentRepository,
|
||||||
|
TransferListener downloadMonitor )
|
||||||
throws TransferFailedException
|
throws TransferFailedException
|
||||||
{
|
{
|
||||||
putRemoteFile( deploymentRepository, source, deploymentRepository.pathOf( artifact ), downloadMonitor );
|
putRemoteFile( deploymentRepository, source, deploymentRepository.pathOf( artifact ), downloadMonitor );
|
||||||
|
@ -492,7 +501,8 @@ public class DefaultWagonManager
|
||||||
putRemoteFile( repository, source, repository.pathOfRemoteRepositoryMetadata( artifactMetadata ), null );
|
putRemoteFile( repository, source, repository.pathOfRemoteRepositoryMetadata( artifactMetadata ), null );
|
||||||
}
|
}
|
||||||
|
|
||||||
public void putRemoteFile( ArtifactRepository repository, File source, String remotePath, TransferListener downloadMonitor )
|
public void putRemoteFile( ArtifactRepository repository, File source, String remotePath,
|
||||||
|
TransferListener downloadMonitor )
|
||||||
throws TransferFailedException
|
throws TransferFailedException
|
||||||
{
|
{
|
||||||
String protocol = repository.getProtocol();
|
String protocol = repository.getProtocol();
|
||||||
|
@ -648,7 +658,8 @@ public class DefaultWagonManager
|
||||||
// otherwise it is ignore
|
// otherwise it is ignore
|
||||||
}
|
}
|
||||||
|
|
||||||
private void verifyChecksum( ChecksumObserver checksumObserver, File destination, File tempDestination, String remotePath, String checksumFileExtension, Wagon wagon )
|
private void verifyChecksum( ChecksumObserver checksumObserver, File destination, File tempDestination,
|
||||||
|
String remotePath, String checksumFileExtension, Wagon wagon )
|
||||||
throws ResourceDoesNotExistException, TransferFailedException, AuthorizationException
|
throws ResourceDoesNotExistException, TransferFailedException, AuthorizationException
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -666,7 +677,8 @@ public class DefaultWagonManager
|
||||||
expectedChecksum = expectedChecksum.trim();
|
expectedChecksum = expectedChecksum.trim();
|
||||||
|
|
||||||
// check for 'ALGO (name) = CHECKSUM' like used by openssl
|
// check for 'ALGO (name) = CHECKSUM' like used by openssl
|
||||||
if ( expectedChecksum.regionMatches( true, 0, "MD", 0, 2 ) || expectedChecksum.regionMatches( true, 0, "SHA", 0, 3 ) )
|
if ( expectedChecksum.regionMatches( true, 0, "MD", 0, 2 )
|
||||||
|
|| expectedChecksum.regionMatches( true, 0, "SHA", 0, 3 ) )
|
||||||
{
|
{
|
||||||
int lastSpacePos = expectedChecksum.lastIndexOf( ' ' );
|
int lastSpacePos = expectedChecksum.lastIndexOf( ' ' );
|
||||||
expectedChecksum = expectedChecksum.substring( lastSpacePos + 1 );
|
expectedChecksum = expectedChecksum.substring( lastSpacePos + 1 );
|
||||||
|
@ -693,7 +705,8 @@ public class DefaultWagonManager
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
throw new ChecksumFailedException( "Checksum failed on download: local = '" + actualChecksum + "'; remote = '" + expectedChecksum + "'" );
|
throw new ChecksumFailedException( "Checksum failed on download: local = '" + actualChecksum
|
||||||
|
+ "'; remote = '" + expectedChecksum + "'" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch ( IOException e )
|
catch ( IOException e )
|
||||||
|
|
|
@ -1,18 +1,22 @@
|
||||||
package org.apache.maven.repository.legacy;
|
package org.apache.maven.repository.legacy;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* agreements. See the NOTICE file distributed with this work for additional information regarding
|
* or more contributor license agreements. See the NOTICE file
|
||||||
* copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
|
* distributed with this work for additional information
|
||||||
* "License"); you may not use this file except in compliance with the License. You may obtain a
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
* copy of the License at
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
* software distributed under the License is distributed on an
|
||||||
* or implied. See the License for the specific language governing permissions and limitations under
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* the License.
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
@ -112,7 +116,8 @@ public class LegacyRepositorySystem
|
||||||
return artifactFactory.createBuildArtifact( groupId, artifactId, version, packaging );
|
return artifactFactory.createBuildArtifact( groupId, artifactId, version, packaging );
|
||||||
}
|
}
|
||||||
|
|
||||||
public Artifact createArtifactWithClassifier( String groupId, String artifactId, String version, String type, String classifier )
|
public Artifact createArtifactWithClassifier( String groupId, String artifactId, String version, String type,
|
||||||
|
String classifier )
|
||||||
{
|
{
|
||||||
return artifactFactory.createArtifactWithClassifier( groupId, artifactId, version, type, classifier );
|
return artifactFactory.createArtifactWithClassifier( groupId, artifactId, version, type, classifier );
|
||||||
}
|
}
|
||||||
|
@ -134,7 +139,9 @@ public class LegacyRepositorySystem
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
Artifact artifact = artifactFactory.createDependencyArtifact( d.getGroupId(), d.getArtifactId(), versionRange, d.getType(), d.getClassifier(), d.getScope(), d.isOptional() );
|
Artifact artifact =
|
||||||
|
artifactFactory.createDependencyArtifact( d.getGroupId(), d.getArtifactId(), versionRange, d.getType(),
|
||||||
|
d.getClassifier(), d.getScope(), d.isOptional() );
|
||||||
|
|
||||||
if ( Artifact.SCOPE_SYSTEM.equals( d.getScope() ) && d.getSystemPath() != null )
|
if ( Artifact.SCOPE_SYSTEM.equals( d.getScope() ) && d.getSystemPath() != null )
|
||||||
{
|
{
|
||||||
|
@ -225,8 +232,11 @@ public class LegacyRepositorySystem
|
||||||
public ArtifactRepository createLocalRepository( File localRepository )
|
public ArtifactRepository createLocalRepository( File localRepository )
|
||||||
throws InvalidRepositoryException
|
throws InvalidRepositoryException
|
||||||
{
|
{
|
||||||
return createRepository( "file://" + localRepository.toURI().getRawPath(), RepositorySystem.DEFAULT_LOCAL_REPO_ID, true, ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS, true,
|
return createRepository( "file://" + localRepository.toURI().getRawPath(),
|
||||||
ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS, ArtifactRepositoryPolicy.CHECKSUM_POLICY_IGNORE );
|
RepositorySystem.DEFAULT_LOCAL_REPO_ID, true,
|
||||||
|
ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS, true,
|
||||||
|
ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS,
|
||||||
|
ArtifactRepositoryPolicy.CHECKSUM_POLICY_IGNORE );
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactRepository createDefaultRemoteRepository()
|
public ArtifactRepository createDefaultRemoteRepository()
|
||||||
|
@ -241,7 +251,9 @@ public class LegacyRepositorySystem
|
||||||
public ArtifactRepository createLocalRepository( String url, String repositoryId )
|
public ArtifactRepository createLocalRepository( String url, String repositoryId )
|
||||||
throws IOException
|
throws IOException
|
||||||
{
|
{
|
||||||
return createRepository( canonicalFileUrl( url ), repositoryId, true, ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS, true, ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS,
|
return createRepository( canonicalFileUrl( url ), repositoryId, true,
|
||||||
|
ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS, true,
|
||||||
|
ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS,
|
||||||
ArtifactRepositoryPolicy.CHECKSUM_POLICY_IGNORE );
|
ArtifactRepositoryPolicy.CHECKSUM_POLICY_IGNORE );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -282,11 +294,13 @@ public class LegacyRepositorySystem
|
||||||
*/
|
*/
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
LocalArtifactRepository ideWorkspace = plexus.lookup( LocalArtifactRepository.class, LocalArtifactRepository.IDE_WORKSPACE );
|
LocalArtifactRepository ideWorkspace =
|
||||||
|
plexus.lookup( LocalArtifactRepository.class, LocalArtifactRepository.IDE_WORKSPACE );
|
||||||
|
|
||||||
if ( request.getLocalRepository() instanceof DelegatingLocalArtifactRepository )
|
if ( request.getLocalRepository() instanceof DelegatingLocalArtifactRepository )
|
||||||
{
|
{
|
||||||
DelegatingLocalArtifactRepository delegatingLocalRepository = (DelegatingLocalArtifactRepository) request.getLocalRepository();
|
DelegatingLocalArtifactRepository delegatingLocalRepository =
|
||||||
|
(DelegatingLocalArtifactRepository) request.getLocalRepository();
|
||||||
|
|
||||||
LocalArtifactRepository orig = delegatingLocalRepository.getIdeWorspace();
|
LocalArtifactRepository orig = delegatingLocalRepository.getIdeWorspace();
|
||||||
|
|
||||||
|
@ -304,7 +318,8 @@ public class LegacyRepositorySystem
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ArtifactRepository localRepository = request.getLocalRepository();
|
ArtifactRepository localRepository = request.getLocalRepository();
|
||||||
DelegatingLocalArtifactRepository delegatingLocalRepository = new DelegatingLocalArtifactRepository( localRepository );
|
DelegatingLocalArtifactRepository delegatingLocalRepository =
|
||||||
|
new DelegatingLocalArtifactRepository( localRepository );
|
||||||
delegatingLocalRepository.setIdeWorkspace( ideWorkspace );
|
delegatingLocalRepository.setIdeWorkspace( ideWorkspace );
|
||||||
request.setLocalRepository( delegatingLocalRepository );
|
request.setLocalRepository( delegatingLocalRepository );
|
||||||
try
|
try
|
||||||
|
@ -370,7 +385,8 @@ public class LegacyRepositorySystem
|
||||||
|
|
||||||
for ( List<ArtifactRepository> aliasedRepos : reposByKey.values() )
|
for ( List<ArtifactRepository> aliasedRepos : reposByKey.values() )
|
||||||
{
|
{
|
||||||
List<ArtifactRepositoryPolicy> releasePolicies = new ArrayList<ArtifactRepositoryPolicy>( aliasedRepos.size() );
|
List<ArtifactRepositoryPolicy> releasePolicies =
|
||||||
|
new ArrayList<ArtifactRepositoryPolicy>( aliasedRepos.size() );
|
||||||
|
|
||||||
for ( ArtifactRepository aliasedRepo : aliasedRepos )
|
for ( ArtifactRepository aliasedRepo : aliasedRepos )
|
||||||
{
|
{
|
||||||
|
@ -379,7 +395,8 @@ public class LegacyRepositorySystem
|
||||||
|
|
||||||
ArtifactRepositoryPolicy releasePolicy = getEffectivePolicy( releasePolicies );
|
ArtifactRepositoryPolicy releasePolicy = getEffectivePolicy( releasePolicies );
|
||||||
|
|
||||||
List<ArtifactRepositoryPolicy> snapshotPolicies = new ArrayList<ArtifactRepositoryPolicy>( aliasedRepos.size() );
|
List<ArtifactRepositoryPolicy> snapshotPolicies =
|
||||||
|
new ArrayList<ArtifactRepositoryPolicy>( aliasedRepos.size() );
|
||||||
|
|
||||||
for ( ArtifactRepository aliasedRepo : aliasedRepos )
|
for ( ArtifactRepository aliasedRepo : aliasedRepos )
|
||||||
{
|
{
|
||||||
|
@ -391,7 +408,8 @@ public class LegacyRepositorySystem
|
||||||
ArtifactRepository aliasedRepo = aliasedRepos.get( 0 );
|
ArtifactRepository aliasedRepo = aliasedRepos.get( 0 );
|
||||||
|
|
||||||
ArtifactRepository effectiveRepository =
|
ArtifactRepository effectiveRepository =
|
||||||
createArtifactRepository( aliasedRepo.getId(), aliasedRepo.getUrl(), aliasedRepo.getLayout(), snapshotPolicy, releasePolicy );
|
createArtifactRepository( aliasedRepo.getId(), aliasedRepo.getUrl(), aliasedRepo.getLayout(),
|
||||||
|
snapshotPolicy, releasePolicy );
|
||||||
|
|
||||||
effectiveRepository.setAuthentication( aliasedRepo.getAuthentication() );
|
effectiveRepository.setAuthentication( aliasedRepo.getAuthentication() );
|
||||||
|
|
||||||
|
@ -571,7 +589,8 @@ public class LegacyRepositorySystem
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void retrieve( ArtifactRepository repository, File destination, String remotePath, ArtifactTransferListener transferListener )
|
public void retrieve( ArtifactRepository repository, File destination, String remotePath,
|
||||||
|
ArtifactTransferListener transferListener )
|
||||||
throws ArtifactTransferFailedException, ArtifactDoesNotExistException
|
throws ArtifactTransferFailedException, ArtifactDoesNotExistException
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -590,7 +609,8 @@ public class LegacyRepositorySystem
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void publish( ArtifactRepository repository, File source, String remotePath, ArtifactTransferListener transferListener )
|
public void publish( ArtifactRepository repository, File source, String remotePath,
|
||||||
|
ArtifactTransferListener transferListener )
|
||||||
throws ArtifactTransferFailedException
|
throws ArtifactTransferFailedException
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -638,23 +658,32 @@ public class LegacyRepositorySystem
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private ArtifactRepository createRepository( String url, String repositoryId, boolean releases, String releaseUpdates, boolean snapshots, String snapshotUpdates, String checksumPolicy )
|
private ArtifactRepository createRepository( String url, String repositoryId, boolean releases,
|
||||||
|
String releaseUpdates, boolean snapshots, String snapshotUpdates,
|
||||||
|
String checksumPolicy )
|
||||||
{
|
{
|
||||||
ArtifactRepositoryPolicy snapshotsPolicy = new ArtifactRepositoryPolicy( snapshots, snapshotUpdates, checksumPolicy );
|
ArtifactRepositoryPolicy snapshotsPolicy =
|
||||||
|
new ArtifactRepositoryPolicy( snapshots, snapshotUpdates, checksumPolicy );
|
||||||
|
|
||||||
ArtifactRepositoryPolicy releasesPolicy = new ArtifactRepositoryPolicy( releases, releaseUpdates, checksumPolicy );
|
ArtifactRepositoryPolicy releasesPolicy =
|
||||||
|
new ArtifactRepositoryPolicy( releases, releaseUpdates, checksumPolicy );
|
||||||
|
|
||||||
return createArtifactRepository( repositoryId, url, null, snapshotsPolicy, releasesPolicy );
|
return createArtifactRepository( repositoryId, url, null, snapshotsPolicy, releasesPolicy );
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactRepository createArtifactRepository( String repositoryId, String url, ArtifactRepositoryLayout repositoryLayout, ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases )
|
public ArtifactRepository createArtifactRepository( String repositoryId, String url,
|
||||||
|
ArtifactRepositoryLayout repositoryLayout,
|
||||||
|
ArtifactRepositoryPolicy snapshots,
|
||||||
|
ArtifactRepositoryPolicy releases )
|
||||||
{
|
{
|
||||||
if ( repositoryLayout == null )
|
if ( repositoryLayout == null )
|
||||||
{
|
{
|
||||||
repositoryLayout = layouts.get( "default" );
|
repositoryLayout = layouts.get( "default" );
|
||||||
}
|
}
|
||||||
|
|
||||||
ArtifactRepository artifactRepository = artifactRepositoryFactory.createArtifactRepository( repositoryId, url, repositoryLayout, snapshots, releases );
|
ArtifactRepository artifactRepository =
|
||||||
|
artifactRepositoryFactory.createArtifactRepository( repositoryId, url, repositoryLayout, snapshots,
|
||||||
|
releases );
|
||||||
|
|
||||||
return artifactRepository;
|
return artifactRepository;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,18 +1,22 @@
|
||||||
package org.apache.maven.repository.legacy;
|
package org.apache.maven.repository.legacy;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* agreements. See the NOTICE file distributed with this work for additional information regarding
|
* or more contributor license agreements. See the NOTICE file
|
||||||
* copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
|
* distributed with this work for additional information
|
||||||
* "License"); you may not use this file except in compliance with the License. You may obtain a
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
* copy of the License at
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
* software distributed under the License is distributed on an
|
||||||
* or implied. See the License for the specific language governing permissions and limitations under
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* the License.
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
@ -21,7 +25,6 @@ import java.util.List;
|
||||||
import org.apache.maven.artifact.Artifact;
|
import org.apache.maven.artifact.Artifact;
|
||||||
import org.apache.maven.artifact.metadata.ArtifactMetadata;
|
import org.apache.maven.artifact.metadata.ArtifactMetadata;
|
||||||
import org.apache.maven.artifact.repository.ArtifactRepository;
|
import org.apache.maven.artifact.repository.ArtifactRepository;
|
||||||
import org.apache.maven.repository.ArtifactTransferListener;
|
|
||||||
import org.apache.maven.wagon.ResourceDoesNotExistException;
|
import org.apache.maven.wagon.ResourceDoesNotExistException;
|
||||||
import org.apache.maven.wagon.TransferFailedException;
|
import org.apache.maven.wagon.TransferFailedException;
|
||||||
import org.apache.maven.wagon.UnsupportedProtocolException;
|
import org.apache.maven.wagon.UnsupportedProtocolException;
|
||||||
|
@ -45,22 +48,27 @@ public interface WagonManager
|
||||||
void getArtifact( Artifact artifact, ArtifactRepository repository, TransferListener transferListener, boolean force )
|
void getArtifact( Artifact artifact, ArtifactRepository repository, TransferListener transferListener, boolean force )
|
||||||
throws TransferFailedException, ResourceDoesNotExistException;
|
throws TransferFailedException, ResourceDoesNotExistException;
|
||||||
|
|
||||||
void getArtifact( Artifact artifact, List<ArtifactRepository> remoteRepositories, TransferListener transferListener, boolean force )
|
void getArtifact( Artifact artifact, List<ArtifactRepository> remoteRepositories,
|
||||||
|
TransferListener transferListener, boolean force )
|
||||||
throws TransferFailedException, ResourceDoesNotExistException;
|
throws TransferFailedException, ResourceDoesNotExistException;
|
||||||
|
|
||||||
void getRemoteFile( ArtifactRepository repository, File destination, String remotePath, TransferListener downloadMonitor, String checksumPolicy, boolean force )
|
void getRemoteFile( ArtifactRepository repository, File destination, String remotePath,
|
||||||
|
TransferListener downloadMonitor, String checksumPolicy, boolean force )
|
||||||
throws TransferFailedException, ResourceDoesNotExistException;
|
throws TransferFailedException, ResourceDoesNotExistException;
|
||||||
|
|
||||||
void getArtifactMetadata( ArtifactMetadata metadata, ArtifactRepository remoteRepository, File destination, String checksumPolicy )
|
void getArtifactMetadata( ArtifactMetadata metadata, ArtifactRepository remoteRepository, File destination,
|
||||||
|
String checksumPolicy )
|
||||||
throws TransferFailedException, ResourceDoesNotExistException;
|
throws TransferFailedException, ResourceDoesNotExistException;
|
||||||
|
|
||||||
void getArtifactMetadataFromDeploymentRepository( ArtifactMetadata metadata, ArtifactRepository remoteRepository, File file, String checksumPolicyWarn )
|
void getArtifactMetadataFromDeploymentRepository( ArtifactMetadata metadata, ArtifactRepository remoteRepository,
|
||||||
|
File file, String checksumPolicyWarn )
|
||||||
throws TransferFailedException, ResourceDoesNotExistException;
|
throws TransferFailedException, ResourceDoesNotExistException;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Deployer
|
// Deployer
|
||||||
//
|
//
|
||||||
void putArtifact( File source, Artifact artifact, ArtifactRepository deploymentRepository, TransferListener downloadMonitor )
|
void putArtifact( File source, Artifact artifact, ArtifactRepository deploymentRepository,
|
||||||
|
TransferListener downloadMonitor )
|
||||||
throws TransferFailedException;
|
throws TransferFailedException;
|
||||||
|
|
||||||
void putRemoteFile( ArtifactRepository repository, File source, String remotePath, TransferListener downloadMonitor )
|
void putRemoteFile( ArtifactRepository repository, File source, String remotePath, TransferListener downloadMonitor )
|
||||||
|
|
|
@ -1,18 +1,22 @@
|
||||||
package org.apache.maven.repository.legacy.repository;
|
package org.apache.maven.repository.legacy.repository;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* agreements. See the NOTICE file distributed with this work for additional information regarding
|
* or more contributor license agreements. See the NOTICE file
|
||||||
* copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
|
* distributed with this work for additional information
|
||||||
* "License"); you may not use this file except in compliance with the License. You may obtain a
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
* copy of the License at
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
* software distributed under the License is distributed on an
|
||||||
* or implied. See the License for the specific language governing permissions and limitations under
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* the License.
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import org.apache.maven.artifact.UnknownRepositoryLayoutException;
|
import org.apache.maven.artifact.UnknownRepositoryLayoutException;
|
||||||
|
@ -36,12 +40,15 @@ public interface ArtifactRepositoryFactory
|
||||||
ArtifactRepository createDeploymentArtifactRepository( String id, String url, String layoutId, boolean uniqueVersion )
|
ArtifactRepository createDeploymentArtifactRepository( String id, String url, String layoutId, boolean uniqueVersion )
|
||||||
throws UnknownRepositoryLayoutException;
|
throws UnknownRepositoryLayoutException;
|
||||||
|
|
||||||
ArtifactRepository createDeploymentArtifactRepository( String id, String url, ArtifactRepositoryLayout layout, boolean uniqueVersion );
|
ArtifactRepository createDeploymentArtifactRepository( String id, String url, ArtifactRepositoryLayout layout,
|
||||||
|
boolean uniqueVersion );
|
||||||
|
|
||||||
ArtifactRepository createArtifactRepository( String id, String url, String layoutId, ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases )
|
ArtifactRepository createArtifactRepository( String id, String url, String layoutId,
|
||||||
|
ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases )
|
||||||
throws UnknownRepositoryLayoutException;
|
throws UnknownRepositoryLayoutException;
|
||||||
|
|
||||||
ArtifactRepository createArtifactRepository( String id, String url, ArtifactRepositoryLayout repositoryLayout, ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases );
|
ArtifactRepository createArtifactRepository( String id, String url, ArtifactRepositoryLayout repositoryLayout,
|
||||||
|
ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases );
|
||||||
|
|
||||||
void setGlobalUpdatePolicy( String snapshotPolicy );
|
void setGlobalUpdatePolicy( String snapshotPolicy );
|
||||||
|
|
||||||
|
|
|
@ -51,9 +51,7 @@ public class DefaultArtifactRepositoryFactory
|
||||||
return repositoryLayouts.get( layoutId );
|
return repositoryLayouts.get( layoutId );
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactRepository createDeploymentArtifactRepository( String id,
|
public ArtifactRepository createDeploymentArtifactRepository( String id, String url, String layoutId,
|
||||||
String url,
|
|
||||||
String layoutId,
|
|
||||||
boolean uniqueVersion )
|
boolean uniqueVersion )
|
||||||
throws UnknownRepositoryLayoutException
|
throws UnknownRepositoryLayoutException
|
||||||
{
|
{
|
||||||
|
@ -64,9 +62,7 @@ public class DefaultArtifactRepositoryFactory
|
||||||
return createDeploymentArtifactRepository( id, url, layout, uniqueVersion );
|
return createDeploymentArtifactRepository( id, url, layout, uniqueVersion );
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkLayout( String repositoryId,
|
private void checkLayout( String repositoryId, String layoutId, ArtifactRepositoryLayout layout )
|
||||||
String layoutId,
|
|
||||||
ArtifactRepositoryLayout layout )
|
|
||||||
throws UnknownRepositoryLayoutException
|
throws UnknownRepositoryLayoutException
|
||||||
{
|
{
|
||||||
if ( layout == null )
|
if ( layout == null )
|
||||||
|
@ -75,17 +71,14 @@ public class DefaultArtifactRepositoryFactory
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactRepository createDeploymentArtifactRepository( String id,
|
public ArtifactRepository createDeploymentArtifactRepository( String id, String url,
|
||||||
String url,
|
|
||||||
ArtifactRepositoryLayout repositoryLayout,
|
ArtifactRepositoryLayout repositoryLayout,
|
||||||
boolean uniqueVersion )
|
boolean uniqueVersion )
|
||||||
{
|
{
|
||||||
return createArtifactRepository( id, url, repositoryLayout, null, null );
|
return createArtifactRepository( id, url, repositoryLayout, null, null );
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactRepository createArtifactRepository( String id,
|
public ArtifactRepository createArtifactRepository( String id, String url, String layoutId,
|
||||||
String url,
|
|
||||||
String layoutId,
|
|
||||||
ArtifactRepositoryPolicy snapshots,
|
ArtifactRepositoryPolicy snapshots,
|
||||||
ArtifactRepositoryPolicy releases )
|
ArtifactRepositoryPolicy releases )
|
||||||
throws UnknownRepositoryLayoutException
|
throws UnknownRepositoryLayoutException
|
||||||
|
@ -97,8 +90,7 @@ public class DefaultArtifactRepositoryFactory
|
||||||
return createArtifactRepository( id, url, layout, snapshots, releases );
|
return createArtifactRepository( id, url, layout, snapshots, releases );
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactRepository createArtifactRepository( String id,
|
public ArtifactRepository createArtifactRepository( String id, String url,
|
||||||
String url,
|
|
||||||
ArtifactRepositoryLayout repositoryLayout,
|
ArtifactRepositoryLayout repositoryLayout,
|
||||||
ArtifactRepositoryPolicy snapshots,
|
ArtifactRepositoryPolicy snapshots,
|
||||||
ArtifactRepositoryPolicy releases )
|
ArtifactRepositoryPolicy releases )
|
||||||
|
|
|
@ -87,13 +87,10 @@ public class DefaultLegacyArtifactCollector
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactResolutionResult collect( Set<Artifact> artifacts,
|
public ArtifactResolutionResult collect( Set<Artifact> artifacts, Artifact originatingArtifact,
|
||||||
Artifact originatingArtifact,
|
Map managedVersions, ArtifactRepository localRepository,
|
||||||
Map managedVersions,
|
|
||||||
ArtifactRepository localRepository,
|
|
||||||
List<ArtifactRepository> remoteRepositories,
|
List<ArtifactRepository> remoteRepositories,
|
||||||
ArtifactMetadataSource source,
|
ArtifactMetadataSource source, ArtifactFilter filter,
|
||||||
ArtifactFilter filter,
|
|
||||||
List<ResolutionListener> listeners,
|
List<ResolutionListener> listeners,
|
||||||
List<ConflictResolver> conflictResolvers )
|
List<ConflictResolver> conflictResolvers )
|
||||||
{
|
{
|
||||||
|
@ -105,12 +102,9 @@ public class DefaultLegacyArtifactCollector
|
||||||
conflictResolvers );
|
conflictResolvers );
|
||||||
}
|
}
|
||||||
|
|
||||||
public ArtifactResolutionResult collect( Set<Artifact> artifacts,
|
public ArtifactResolutionResult collect( Set<Artifact> artifacts, Artifact originatingArtifact,
|
||||||
Artifact originatingArtifact,
|
Map managedVersions, ArtifactResolutionRequest repositoryRequest,
|
||||||
Map managedVersions,
|
ArtifactMetadataSource source, ArtifactFilter filter,
|
||||||
ArtifactResolutionRequest repositoryRequest,
|
|
||||||
ArtifactMetadataSource source,
|
|
||||||
ArtifactFilter filter,
|
|
||||||
List<ResolutionListener> listeners,
|
List<ResolutionListener> listeners,
|
||||||
List<ConflictResolver> conflictResolvers )
|
List<ConflictResolver> conflictResolvers )
|
||||||
{
|
{
|
||||||
|
@ -148,7 +142,8 @@ public class DefaultLegacyArtifactCollector
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
recurse( result, root, resolvedArtifacts, versionMap, repositoryRequest, source, filter, listeners, conflictResolvers );
|
recurse( result, root, resolvedArtifacts, versionMap, repositoryRequest, source, filter, listeners,
|
||||||
|
conflictResolvers );
|
||||||
}
|
}
|
||||||
catch ( CyclicDependencyException e )
|
catch ( CyclicDependencyException e )
|
||||||
{
|
{
|
||||||
|
@ -242,15 +237,10 @@ public class DefaultLegacyArtifactCollector
|
||||||
return versionMap;
|
return versionMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void recurse( ArtifactResolutionResult result,
|
private void recurse( ArtifactResolutionResult result, ResolutionNode node,
|
||||||
ResolutionNode node,
|
Map<Object, List<ResolutionNode>> resolvedArtifacts, ManagedVersionMap managedVersions,
|
||||||
Map<Object, List<ResolutionNode>> resolvedArtifacts,
|
ArtifactResolutionRequest request, ArtifactMetadataSource source, ArtifactFilter filter,
|
||||||
ManagedVersionMap managedVersions,
|
List<ResolutionListener> listeners, List<ConflictResolver> conflictResolvers )
|
||||||
ArtifactResolutionRequest request,
|
|
||||||
ArtifactMetadataSource source,
|
|
||||||
ArtifactFilter filter,
|
|
||||||
List<ResolutionListener> listeners,
|
|
||||||
List<ConflictResolver> conflictResolvers )
|
|
||||||
throws ArtifactResolutionException
|
throws ArtifactResolutionException
|
||||||
{
|
{
|
||||||
fireEvent( ResolutionListener.TEST_ARTIFACT, listeners, node );
|
fireEvent( ResolutionListener.TEST_ARTIFACT, listeners, node );
|
||||||
|
@ -324,13 +314,17 @@ public class DefaultLegacyArtifactCollector
|
||||||
catch ( ArtifactMetadataRetrievalException e )
|
catch ( ArtifactMetadataRetrievalException e )
|
||||||
{
|
{
|
||||||
resetArtifact.setDependencyTrail( node.getDependencyTrail() );
|
resetArtifact.setDependencyTrail( node.getDependencyTrail() );
|
||||||
throw new ArtifactResolutionException( "Unable to get dependency information: " + e.getMessage(), resetArtifact, request.getRemoteRepositories(), e );
|
throw new ArtifactResolutionException(
|
||||||
|
"Unable to get dependency information: "
|
||||||
|
+ e.getMessage(), resetArtifact,
|
||||||
|
request.getRemoteRepositories(), e );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// end hack
|
// end hack
|
||||||
|
|
||||||
// MNG-2861: match version can return null
|
// MNG-2861: match version can return null
|
||||||
ArtifactVersion selectedVersion = resetArtifact.getVersionRange().matchVersion( resetArtifact.getAvailableVersions() );
|
ArtifactVersion selectedVersion =
|
||||||
|
resetArtifact.getVersionRange().matchVersion( resetArtifact.getAvailableVersions() );
|
||||||
if ( selectedVersion != null )
|
if ( selectedVersion != null )
|
||||||
{
|
{
|
||||||
resetArtifact.selectVersion( selectedVersion.toString() );
|
resetArtifact.selectVersion( selectedVersion.toString() );
|
||||||
|
@ -359,15 +353,19 @@ public class DefaultLegacyArtifactCollector
|
||||||
if ( resolved == null )
|
if ( resolved == null )
|
||||||
{
|
{
|
||||||
// TODO: add better exception that can detail the two conflicting artifacts
|
// TODO: add better exception that can detail the two conflicting artifacts
|
||||||
ArtifactResolutionException are = new ArtifactResolutionException( "Cannot resolve artifact version conflict between " + previous.getArtifact().getVersion()
|
ArtifactResolutionException are =
|
||||||
+ " and " + node.getArtifact().getVersion(), previous.getArtifact() );
|
new ArtifactResolutionException( "Cannot resolve artifact version conflict between "
|
||||||
|
+ previous.getArtifact().getVersion() + " and " + node.getArtifact().getVersion(),
|
||||||
|
previous.getArtifact() );
|
||||||
result.addVersionRangeViolation( are );
|
result.addVersionRangeViolation( are );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ( resolved != previous ) && ( resolved != node ) )
|
if ( ( resolved != previous ) && ( resolved != node ) )
|
||||||
{
|
{
|
||||||
// TODO: add better exception
|
// TODO: add better exception
|
||||||
result.addVersionRangeViolation( new ArtifactResolutionException( "Conflict resolver returned unknown resolution node: ", resolved.getArtifact() ) );
|
result.addVersionRangeViolation( new ArtifactResolutionException(
|
||||||
|
"Conflict resolver returned unknown resolution node: ",
|
||||||
|
resolved.getArtifact() ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: should this be part of mediation?
|
// TODO: should this be part of mediation?
|
||||||
|
@ -513,7 +511,8 @@ public class DefaultLegacyArtifactCollector
|
||||||
{
|
{
|
||||||
throw new OverConstrainedVersionException(
|
throw new OverConstrainedVersionException(
|
||||||
"No versions are present in the repository for the artifact with a range "
|
"No versions are present in the repository for the artifact with a range "
|
||||||
+ versionRange, artifact,
|
+ versionRange,
|
||||||
|
artifact,
|
||||||
childRemoteRepositories );
|
childRemoteRepositories );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -601,7 +600,8 @@ public class DefaultLegacyArtifactCollector
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void manageArtifact( ResolutionNode node, ManagedVersionMap managedVersions, List<ResolutionListener> listeners )
|
private void manageArtifact( ResolutionNode node, ManagedVersionMap managedVersions,
|
||||||
|
List<ResolutionListener> listeners )
|
||||||
{
|
{
|
||||||
Artifact artifact = (Artifact) managedVersions.get( node.getKey() );
|
Artifact artifact = (Artifact) managedVersions.get( node.getKey() );
|
||||||
|
|
||||||
|
@ -649,7 +649,8 @@ public class DefaultLegacyArtifactCollector
|
||||||
|
|
||||||
/* farthest is runtime and nearest has lower priority, change to runtime */
|
/* farthest is runtime and nearest has lower priority, change to runtime */
|
||||||
if ( Artifact.SCOPE_RUNTIME.equals( farthestArtifact.getScope() )
|
if ( Artifact.SCOPE_RUNTIME.equals( farthestArtifact.getScope() )
|
||||||
&& ( Artifact.SCOPE_TEST.equals( nearestArtifact.getScope() ) || Artifact.SCOPE_PROVIDED.equals( nearestArtifact.getScope() ) ) )
|
&& ( Artifact.SCOPE_TEST.equals( nearestArtifact.getScope() )
|
||||||
|
|| Artifact.SCOPE_PROVIDED.equals( nearestArtifact.getScope() ) ) )
|
||||||
{
|
{
|
||||||
updateScope = true;
|
updateScope = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,6 @@ import java.util.Set;
|
||||||
import org.apache.maven.artifact.Artifact;
|
import org.apache.maven.artifact.Artifact;
|
||||||
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
|
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
|
||||||
import org.apache.maven.artifact.repository.ArtifactRepository;
|
import org.apache.maven.artifact.repository.ArtifactRepository;
|
||||||
import org.apache.maven.artifact.repository.RepositoryRequest;
|
|
||||||
import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
|
import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
|
||||||
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
|
import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
|
||||||
import org.apache.maven.artifact.resolver.ResolutionListener;
|
import org.apache.maven.artifact.resolver.ResolutionListener;
|
||||||
|
@ -44,24 +43,15 @@ import org.apache.maven.repository.legacy.resolver.conflict.ConflictResolver;
|
||||||
public interface LegacyArtifactCollector
|
public interface LegacyArtifactCollector
|
||||||
{
|
{
|
||||||
|
|
||||||
ArtifactResolutionResult collect( Set<Artifact> artifacts,
|
ArtifactResolutionResult collect( Set<Artifact> artifacts, Artifact originatingArtifact, Map managedVersions,
|
||||||
Artifact originatingArtifact,
|
ArtifactResolutionRequest repositoryRequest, ArtifactMetadataSource source,
|
||||||
Map managedVersions,
|
ArtifactFilter filter, List<ResolutionListener> listeners,
|
||||||
ArtifactResolutionRequest repositoryRequest,
|
|
||||||
ArtifactMetadataSource source,
|
|
||||||
ArtifactFilter filter,
|
|
||||||
List<ResolutionListener> listeners,
|
|
||||||
List<ConflictResolver> conflictResolvers );
|
List<ConflictResolver> conflictResolvers );
|
||||||
|
|
||||||
ArtifactResolutionResult collect( Set<Artifact> artifacts,
|
ArtifactResolutionResult collect( Set<Artifact> artifacts, Artifact originatingArtifact, Map managedVersions,
|
||||||
Artifact originatingArtifact,
|
ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories,
|
||||||
Map managedVersions,
|
ArtifactMetadataSource source, ArtifactFilter filter,
|
||||||
ArtifactRepository localRepository,
|
List<ResolutionListener> listeners, List<ConflictResolver> conflictResolvers );
|
||||||
List<ArtifactRepository> remoteRepositories,
|
|
||||||
ArtifactMetadataSource source,
|
|
||||||
ArtifactFilter filter,
|
|
||||||
List<ResolutionListener> listeners,
|
|
||||||
List<ConflictResolver> conflictResolvers );
|
|
||||||
|
|
||||||
// used by maven-dependency-tree and maven-dependency-plugin
|
// used by maven-dependency-tree and maven-dependency-plugin
|
||||||
@Deprecated
|
@Deprecated
|
||||||
|
|
|
@ -30,7 +30,7 @@ import org.apache.maven.artifact.resolver.ResolutionNode;
|
||||||
*/
|
*/
|
||||||
public interface ConflictResolver
|
public interface ConflictResolver
|
||||||
{
|
{
|
||||||
static String ROLE = ConflictResolver.class.getName();
|
String ROLE = ConflictResolver.class.getName();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determines which of the specified versions of an artifact to use when there are conflicting declarations.
|
* Determines which of the specified versions of an artifact to use when there are conflicting declarations.
|
||||||
|
@ -41,6 +41,5 @@ public interface ConflictResolver
|
||||||
* this conflict cannot be resolved
|
* this conflict cannot be resolved
|
||||||
* @since 3.0
|
* @since 3.0
|
||||||
*/
|
*/
|
||||||
ResolutionNode resolveConflict( ResolutionNode node1,
|
ResolutionNode resolveConflict( ResolutionNode node1, ResolutionNode node2 );
|
||||||
ResolutionNode node2 );
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
package org.apache.maven.repository.legacy.resolver.conflict;
|
package org.apache.maven.repository.legacy.resolver.conflict;
|
||||||
|
|
||||||
import org.codehaus.plexus.component.annotations.Component;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* or more contributor license agreements. See the NOTICE file
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
@ -21,6 +19,8 @@ import org.codehaus.plexus.component.annotations.Component;
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import org.codehaus.plexus.component.annotations.Component;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The default conflict resolver that delegates to the nearest strategy.
|
* The default conflict resolver that delegates to the nearest strategy.
|
||||||
*
|
*
|
||||||
|
|
|
@ -38,8 +38,7 @@ import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
|
||||||
*/
|
*/
|
||||||
@Component( role = ConflictResolverFactory.class )
|
@Component( role = ConflictResolverFactory.class )
|
||||||
public class DefaultConflictResolverFactory
|
public class DefaultConflictResolverFactory
|
||||||
implements ConflictResolverFactory,
|
implements ConflictResolverFactory, Contextualizable
|
||||||
Contextualizable
|
|
||||||
{
|
{
|
||||||
// fields -----------------------------------------------------------------
|
// fields -----------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -41,8 +41,7 @@ public class FarthestConflictResolver
|
||||||
* org.apache.maven.artifact.resolver.ResolutionNode)
|
* org.apache.maven.artifact.resolver.ResolutionNode)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public ResolutionNode resolveConflict( ResolutionNode node1,
|
public ResolutionNode resolveConflict( ResolutionNode node1, ResolutionNode node2 )
|
||||||
ResolutionNode node2 )
|
|
||||||
{
|
{
|
||||||
return node1.getDepth() >= node2.getDepth() ? node1 : node2;
|
return node1.getDepth() >= node2.getDepth() ? node1 : node2;
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,8 +42,7 @@ public class NearestConflictResolver
|
||||||
* org.apache.maven.artifact.resolver.ResolutionNode)
|
* org.apache.maven.artifact.resolver.ResolutionNode)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public ResolutionNode resolveConflict( ResolutionNode node1,
|
public ResolutionNode resolveConflict( ResolutionNode node1, ResolutionNode node2 )
|
||||||
ResolutionNode node2 )
|
|
||||||
{
|
{
|
||||||
return node1.getDepth() <= node2.getDepth() ? node1 : node2;
|
return node1.getDepth() <= node2.getDepth() ? node1 : node2;
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,8 +44,7 @@ public class NewestConflictResolver
|
||||||
* org.apache.maven.artifact.resolver.ResolutionNode)
|
* org.apache.maven.artifact.resolver.ResolutionNode)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public ResolutionNode resolveConflict( ResolutionNode node1,
|
public ResolutionNode resolveConflict( ResolutionNode node1, ResolutionNode node2 )
|
||||||
ResolutionNode node2 )
|
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
|
@ -44,8 +44,7 @@ public class OldestConflictResolver
|
||||||
* org.apache.maven.artifact.resolver.ResolutionNode)
|
* org.apache.maven.artifact.resolver.ResolutionNode)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public ResolutionNode resolveConflict( ResolutionNode node1,
|
public ResolutionNode resolveConflict( ResolutionNode node1, ResolutionNode node2 )
|
||||||
ResolutionNode node2 )
|
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
|
@ -36,7 +36,7 @@ public interface ArtifactTransformationManager
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Take in a artifact and return the transformed artifact for locating in the remote repository. If no
|
* Take in a artifact and return the transformed artifact for locating in the remote repository. If no
|
||||||
* transformation has occured the original artifact is returned.
|
* transformation has occurred the original artifact is returned.
|
||||||
*
|
*
|
||||||
* @param artifact Artifact to be transformed.
|
* @param artifact Artifact to be transformed.
|
||||||
* @param request the repositories to check
|
* @param request the repositories to check
|
||||||
|
@ -47,18 +47,19 @@ public interface ArtifactTransformationManager
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Take in a artifact and return the transformed artifact for locating in the remote repository. If no
|
* Take in a artifact and return the transformed artifact for locating in the remote repository. If no
|
||||||
* transformation has occured the original artifact is returned.
|
* transformation has occurred the original artifact is returned.
|
||||||
*
|
*
|
||||||
* @param artifact Artifact to be transformed.
|
* @param artifact Artifact to be transformed.
|
||||||
* @param remoteRepositories the repositories to check
|
* @param remoteRepositories the repositories to check
|
||||||
* @param localRepository the local repository
|
* @param localRepository the local repository
|
||||||
*/
|
*/
|
||||||
void transformForResolve( Artifact artifact, List<ArtifactRepository> remoteRepositories, ArtifactRepository localRepository )
|
void transformForResolve( Artifact artifact, List<ArtifactRepository> remoteRepositories,
|
||||||
|
ArtifactRepository localRepository )
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException;
|
throws ArtifactResolutionException, ArtifactNotFoundException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Take in a artifact and return the transformed artifact for locating in the local repository. If no
|
* Take in a artifact and return the transformed artifact for locating in the local repository. If no
|
||||||
* transformation has occured the original artifact is returned.
|
* transformation has occurred the original artifact is returned.
|
||||||
*
|
*
|
||||||
* @param artifact Artifact to be transformed.
|
* @param artifact Artifact to be transformed.
|
||||||
* @param localRepository the local repository it will be stored in
|
* @param localRepository the local repository it will be stored in
|
||||||
|
@ -68,13 +69,14 @@ public interface ArtifactTransformationManager
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Take in a artifact and return the transformed artifact for distributing to a remote repository. If no
|
* Take in a artifact and return the transformed artifact for distributing to a remote repository. If no
|
||||||
* transformation has occured the original artifact is returned.
|
* transformation has occurred the original artifact is returned.
|
||||||
*
|
*
|
||||||
* @param artifact Artifact to be transformed.
|
* @param artifact Artifact to be transformed.
|
||||||
* @param remoteRepository the repository to deploy to
|
* @param remoteRepository the repository to deploy to
|
||||||
* @param localRepository the local repository the metadata is stored in
|
* @param localRepository the local repository the metadata is stored in
|
||||||
*/
|
*/
|
||||||
void transformForDeployment( Artifact artifact, ArtifactRepository remoteRepository, ArtifactRepository localRepository )
|
void transformForDeployment( Artifact artifact, ArtifactRepository remoteRepository,
|
||||||
|
ArtifactRepository localRepository )
|
||||||
throws ArtifactDeploymentException;
|
throws ArtifactDeploymentException;
|
||||||
|
|
||||||
List getArtifactTransformations();
|
List getArtifactTransformations();
|
||||||
|
|
|
@ -50,8 +50,7 @@ public class DefaultArtifactTransformationManager
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void transformForResolve( Artifact artifact,
|
public void transformForResolve( Artifact artifact, List<ArtifactRepository> remoteRepositories,
|
||||||
List<ArtifactRepository> remoteRepositories,
|
|
||||||
ArtifactRepository localRepository )
|
ArtifactRepository localRepository )
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException
|
throws ArtifactResolutionException, ArtifactNotFoundException
|
||||||
{
|
{
|
||||||
|
@ -61,8 +60,7 @@ public class DefaultArtifactTransformationManager
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void transformForInstall( Artifact artifact,
|
public void transformForInstall( Artifact artifact, ArtifactRepository localRepository )
|
||||||
ArtifactRepository localRepository )
|
|
||||||
throws ArtifactInstallationException
|
throws ArtifactInstallationException
|
||||||
{
|
{
|
||||||
for ( ArtifactTransformation transform : artifactTransformations )
|
for ( ArtifactTransformation transform : artifactTransformations )
|
||||||
|
@ -71,8 +69,7 @@ public class DefaultArtifactTransformationManager
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void transformForDeployment( Artifact artifact,
|
public void transformForDeployment( Artifact artifact, ArtifactRepository remoteRepository,
|
||||||
ArtifactRepository remoteRepository,
|
|
||||||
ArtifactRepository localRepository )
|
ArtifactRepository localRepository )
|
||||||
throws ArtifactDeploymentException
|
throws ArtifactDeploymentException
|
||||||
{
|
{
|
||||||
|
|
|
@ -56,21 +56,18 @@ public class LatestArtifactTransformation
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void transformForInstall( Artifact artifact,
|
public void transformForInstall( Artifact artifact, ArtifactRepository localRepository )
|
||||||
|
{
|
||||||
|
// metadata is added via addPluginArtifactMetadata
|
||||||
|
}
|
||||||
|
|
||||||
|
public void transformForDeployment( Artifact artifact, ArtifactRepository remoteRepository,
|
||||||
ArtifactRepository localRepository )
|
ArtifactRepository localRepository )
|
||||||
{
|
{
|
||||||
// metadata is added via addPluginArtifactMetadata
|
// metadata is added via addPluginArtifactMetadata
|
||||||
}
|
}
|
||||||
|
|
||||||
public void transformForDeployment( Artifact artifact,
|
protected String constructVersion( Versioning versioning, String baseVersion )
|
||||||
ArtifactRepository remoteRepository,
|
|
||||||
ArtifactRepository localRepository )
|
|
||||||
{
|
|
||||||
// metadata is added via addPluginArtifactMetadata
|
|
||||||
}
|
|
||||||
|
|
||||||
protected String constructVersion( Versioning versioning,
|
|
||||||
String baseVersion )
|
|
||||||
{
|
{
|
||||||
return versioning.getLatest();
|
return versioning.getLatest();
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,16 +65,14 @@ public class ReleaseArtifactTransformation
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void transformForInstall( Artifact artifact,
|
public void transformForInstall( Artifact artifact, ArtifactRepository localRepository )
|
||||||
ArtifactRepository localRepository )
|
|
||||||
{
|
{
|
||||||
ArtifactMetadata metadata = createMetadata( artifact );
|
ArtifactMetadata metadata = createMetadata( artifact );
|
||||||
|
|
||||||
artifact.addMetadata( metadata );
|
artifact.addMetadata( metadata );
|
||||||
}
|
}
|
||||||
|
|
||||||
public void transformForDeployment( Artifact artifact,
|
public void transformForDeployment( Artifact artifact, ArtifactRepository remoteRepository,
|
||||||
ArtifactRepository remoteRepository,
|
|
||||||
ArtifactRepository localRepository )
|
ArtifactRepository localRepository )
|
||||||
{
|
{
|
||||||
ArtifactMetadata metadata = createMetadata( artifact );
|
ArtifactMetadata metadata = createMetadata( artifact );
|
||||||
|
@ -96,8 +94,7 @@ public class ReleaseArtifactTransformation
|
||||||
return new ArtifactRepositoryMetadata( artifact, versioning );
|
return new ArtifactRepositoryMetadata( artifact, versioning );
|
||||||
}
|
}
|
||||||
|
|
||||||
protected String constructVersion( Versioning versioning,
|
protected String constructVersion( Versioning versioning, String baseVersion )
|
||||||
String baseVersion )
|
|
||||||
{
|
{
|
||||||
return versioning.getRelease();
|
return versioning.getRelease();
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,8 +71,7 @@ public class SnapshotTransformation
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void transformForInstall( Artifact artifact,
|
public void transformForInstall( Artifact artifact, ArtifactRepository localRepository )
|
||||||
ArtifactRepository localRepository )
|
|
||||||
{
|
{
|
||||||
if ( artifact.isSnapshot() )
|
if ( artifact.isSnapshot() )
|
||||||
{
|
{
|
||||||
|
@ -84,8 +83,7 @@ public class SnapshotTransformation
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void transformForDeployment( Artifact artifact,
|
public void transformForDeployment( Artifact artifact, ArtifactRepository remoteRepository,
|
||||||
ArtifactRepository remoteRepository,
|
|
||||||
ArtifactRepository localRepository )
|
ArtifactRepository localRepository )
|
||||||
throws ArtifactDeploymentException
|
throws ArtifactDeploymentException
|
||||||
{
|
{
|
||||||
|
@ -126,8 +124,7 @@ public class SnapshotTransformation
|
||||||
return deploymentTimestamp;
|
return deploymentTimestamp;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected String constructVersion( Versioning versioning,
|
protected String constructVersion( Versioning versioning, String baseVersion )
|
||||||
String baseVersion )
|
|
||||||
{
|
{
|
||||||
String version = null;
|
String version = null;
|
||||||
Snapshot snapshot = versioning.getSnapshot();
|
Snapshot snapshot = versioning.getSnapshot();
|
||||||
|
@ -146,8 +143,7 @@ public class SnapshotTransformation
|
||||||
return version;
|
return version;
|
||||||
}
|
}
|
||||||
|
|
||||||
private int resolveLatestSnapshotBuildNumber( Artifact artifact,
|
private int resolveLatestSnapshotBuildNumber( Artifact artifact, ArtifactRepository localRepository,
|
||||||
ArtifactRepository localRepository,
|
|
||||||
ArtifactRepository remoteRepository )
|
ArtifactRepository remoteRepository )
|
||||||
throws RepositoryMetadataResolutionException
|
throws RepositoryMetadataResolutionException
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,24 @@
|
||||||
package org.apache.maven.repository.metadata;
|
package org.apache.maven.repository.metadata;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.apache.maven.artifact.Artifact;
|
import org.apache.maven.artifact.Artifact;
|
||||||
|
@ -53,12 +72,16 @@ public class ArtifactMetadata
|
||||||
public ArtifactMetadata( String name )
|
public ArtifactMetadata( String name )
|
||||||
{
|
{
|
||||||
if ( name == null )
|
if ( name == null )
|
||||||
|
{
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
int ind1 = name.indexOf( ':' );
|
int ind1 = name.indexOf( ':' );
|
||||||
int ind2 = name.lastIndexOf( ':' );
|
int ind2 = name.lastIndexOf( ':' );
|
||||||
|
|
||||||
if ( ind1 == -1 || ind2 == -1 )
|
if ( ind1 == -1 || ind2 == -1 )
|
||||||
|
{
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
this.groupId = name.substring( 0, ind1 );
|
this.groupId = name.substring( 0, ind1 );
|
||||||
if ( ind1 == ind2 )
|
if ( ind1 == ind2 )
|
||||||
|
@ -73,65 +96,37 @@ public class ArtifactMetadata
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------------------------------------------------------
|
// ------------------------------------------------------------------
|
||||||
public ArtifactMetadata( String groupId,
|
public ArtifactMetadata( String groupId, String name, String version )
|
||||||
String name,
|
|
||||||
String version )
|
|
||||||
{
|
{
|
||||||
this( groupId, name, version, null );
|
this( groupId, name, version, null );
|
||||||
}
|
}
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
public ArtifactMetadata( String groupId,
|
public ArtifactMetadata( String groupId, String name, String version, String type )
|
||||||
String name,
|
|
||||||
String version,
|
|
||||||
String type )
|
|
||||||
{
|
{
|
||||||
this( groupId, name, version, type, null );
|
this( groupId, name, version, type, null );
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
public ArtifactMetadata( String groupId,
|
public ArtifactMetadata( String groupId, String name, String version, String type, ArtifactScopeEnum artifactScope )
|
||||||
String name,
|
|
||||||
String version,
|
|
||||||
String type,
|
|
||||||
ArtifactScopeEnum artifactScope )
|
|
||||||
{
|
{
|
||||||
this( groupId, name, version, type, artifactScope, null );
|
this( groupId, name, version, type, artifactScope, null );
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
public ArtifactMetadata( String groupId,
|
public ArtifactMetadata( String groupId, String name, String version, String type, ArtifactScopeEnum artifactScope,
|
||||||
String name,
|
|
||||||
String version,
|
|
||||||
String type,
|
|
||||||
ArtifactScopeEnum artifactScope,
|
|
||||||
String classifier )
|
String classifier )
|
||||||
{
|
{
|
||||||
this( groupId, name, version, type, artifactScope, classifier, null );
|
this( groupId, name, version, type, artifactScope, classifier, null );
|
||||||
}
|
}
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
public ArtifactMetadata( String groupId,
|
public ArtifactMetadata( String groupId, String name, String version, String type, ArtifactScopeEnum artifactScope,
|
||||||
String name,
|
String classifier, String artifactUri )
|
||||||
String version,
|
|
||||||
String type,
|
|
||||||
ArtifactScopeEnum artifactScope,
|
|
||||||
String classifier
|
|
||||||
, String artifactUri
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
this( groupId, name, version, type, artifactScope, classifier, artifactUri, null, true, null );
|
this( groupId, name, version, type, artifactScope, classifier, artifactUri, null, true, null );
|
||||||
}
|
}
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
public ArtifactMetadata( String groupId
|
public ArtifactMetadata( String groupId, String name, String version, String type, ArtifactScopeEnum artifactScope,
|
||||||
, String name
|
String classifier, String artifactUri, String why, boolean resolved, String error )
|
||||||
, String version
|
|
||||||
, String type
|
|
||||||
, ArtifactScopeEnum artifactScope
|
|
||||||
, String classifier
|
|
||||||
, String artifactUri
|
|
||||||
, String why
|
|
||||||
, boolean resolved
|
|
||||||
, String error
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
this.groupId = groupId;
|
this.groupId = groupId;
|
||||||
this.artifactId = name;
|
this.artifactId = name;
|
||||||
|
@ -145,29 +140,12 @@ public class ArtifactMetadata
|
||||||
this.error = error;
|
this.error = error;
|
||||||
}
|
}
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
public ArtifactMetadata( String groupId
|
public ArtifactMetadata( String groupId, String name, String version, String type, String scopeString,
|
||||||
, String name
|
String classifier, String artifactUri, String why, boolean resolved, String error )
|
||||||
, String version
|
|
||||||
, String type
|
|
||||||
, String scopeString
|
|
||||||
, String classifier
|
|
||||||
, String artifactUri
|
|
||||||
, String why
|
|
||||||
, boolean resolved
|
|
||||||
, String error
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
this( groupId
|
this( groupId, name, version, type,
|
||||||
, name
|
scopeString == null ? ArtifactScopeEnum.DEFAULT_SCOPE : ArtifactScopeEnum.valueOf( scopeString ),
|
||||||
, version
|
classifier, artifactUri, why, resolved, error );
|
||||||
, type
|
|
||||||
, scopeString == null ? ArtifactScopeEnum.DEFAULT_SCOPE : ArtifactScopeEnum.valueOf(scopeString)
|
|
||||||
, classifier
|
|
||||||
, artifactUri
|
|
||||||
, why
|
|
||||||
, resolved
|
|
||||||
, error
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
|
@ -265,10 +243,7 @@ public class ArtifactMetadata
|
||||||
|
|
||||||
public void setScope( String scope )
|
public void setScope( String scope )
|
||||||
{
|
{
|
||||||
this.artifactScope = scope == null
|
this.artifactScope = scope == null ? ArtifactScopeEnum.DEFAULT_SCOPE : ArtifactScopeEnum.valueOf( scope );
|
||||||
? ArtifactScopeEnum.DEFAULT_SCOPE
|
|
||||||
: ArtifactScopeEnum.valueOf( scope )
|
|
||||||
;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getClassifier()
|
public String getClassifier()
|
||||||
|
|
|
@ -1,7 +1,25 @@
|
||||||
package org.apache.maven.repository.metadata;
|
package org.apache.maven.repository.metadata;
|
||||||
|
|
||||||
import org.apache.maven.artifact.ArtifactScopeEnum;
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import org.apache.maven.artifact.ArtifactScopeEnum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper class to conver an Md Graph into some form of a classpath
|
* Helper class to conver an Md Graph into some form of a classpath
|
||||||
|
@ -23,8 +41,6 @@ public interface ClasspathTransformation
|
||||||
* @return Collection of metadata objects in the linked subgraph of the graph which
|
* @return Collection of metadata objects in the linked subgraph of the graph which
|
||||||
* contains the graph.getEntry() vertice
|
* contains the graph.getEntry() vertice
|
||||||
*/
|
*/
|
||||||
ClasspathContainer transform( MetadataGraph dirtyGraph,
|
ClasspathContainer transform( MetadataGraph dirtyGraph, ArtifactScopeEnum scope, boolean resolve )
|
||||||
ArtifactScopeEnum scope,
|
|
||||||
boolean resolve)
|
|
||||||
throws MetadataGraphTransformationException;
|
throws MetadataGraphTransformationException;
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,20 +49,30 @@ public class DefaultGraphConflictResolver
|
||||||
throws GraphConflictResolutionException
|
throws GraphConflictResolutionException
|
||||||
{
|
{
|
||||||
if ( policy == null )
|
if ( policy == null )
|
||||||
|
{
|
||||||
throw new GraphConflictResolutionException( "no GraphConflictResolutionPolicy injected" );
|
throw new GraphConflictResolutionException( "no GraphConflictResolutionPolicy injected" );
|
||||||
|
}
|
||||||
|
|
||||||
if ( graph == null )
|
if ( graph == null )
|
||||||
|
{
|
||||||
return null;
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
final MetadataGraphVertex entry = graph.getEntry();
|
final MetadataGraphVertex entry = graph.getEntry();
|
||||||
if ( entry == null )
|
if ( entry == null )
|
||||||
|
{
|
||||||
return null;
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
if ( graph.isEmpty() )
|
if ( graph.isEmpty() )
|
||||||
|
{
|
||||||
throw new GraphConflictResolutionException( "graph with an entry, but not vertices do not exist" );
|
throw new GraphConflictResolutionException( "graph with an entry, but not vertices do not exist" );
|
||||||
|
}
|
||||||
|
|
||||||
if ( graph.isEmptyEdges() )
|
if ( graph.isEmptyEdges() )
|
||||||
|
{
|
||||||
return null; // no edges - nothing to worry about
|
return null; // no edges - nothing to worry about
|
||||||
|
}
|
||||||
|
|
||||||
final TreeSet<MetadataGraphVertex> vertices = graph.getVertices();
|
final TreeSet<MetadataGraphVertex> vertices = graph.getVertices();
|
||||||
|
|
||||||
|
@ -70,7 +80,9 @@ public class DefaultGraphConflictResolver
|
||||||
{
|
{
|
||||||
// edge case - single vertex graph
|
// edge case - single vertex graph
|
||||||
if ( vertices.size() == 1 )
|
if ( vertices.size() == 1 )
|
||||||
|
{
|
||||||
return new MetadataGraph( entry );
|
return new MetadataGraph( entry );
|
||||||
|
}
|
||||||
|
|
||||||
final ArtifactScopeEnum requestedScope = ArtifactScopeEnum.checkScope( scope );
|
final ArtifactScopeEnum requestedScope = ArtifactScopeEnum.checkScope( scope );
|
||||||
|
|
||||||
|
@ -138,7 +150,9 @@ public class DefaultGraphConflictResolver
|
||||||
private MetadataGraph findLinkedSubgraph( MetadataGraph g )
|
private MetadataGraph findLinkedSubgraph( MetadataGraph g )
|
||||||
{
|
{
|
||||||
if ( g.getVertices().size() == 1 )
|
if ( g.getVertices().size() == 1 )
|
||||||
|
{
|
||||||
return g;
|
return g;
|
||||||
|
}
|
||||||
|
|
||||||
List<MetadataGraphVertex> visited = new ArrayList<MetadataGraphVertex>( g.getVertices().size() );
|
List<MetadataGraphVertex> visited = new ArrayList<MetadataGraphVertex>( g.getVertices().size() );
|
||||||
visit( g.getEntry(), visited, g );
|
visit( g.getEntry(), visited, g );
|
||||||
|
@ -149,11 +163,15 @@ public class DefaultGraphConflictResolver
|
||||||
for ( MetadataGraphVertex v : g.getVertices() )
|
for ( MetadataGraphVertex v : g.getVertices() )
|
||||||
{
|
{
|
||||||
if ( !visited.contains( v ) )
|
if ( !visited.contains( v ) )
|
||||||
|
{
|
||||||
dropList.add( v );
|
dropList.add( v );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ( dropList.size() < 1 )
|
if ( dropList.size() < 1 )
|
||||||
|
{
|
||||||
return g;
|
return g;
|
||||||
|
}
|
||||||
|
|
||||||
// now - drop vertices
|
// now - drop vertices
|
||||||
TreeSet<MetadataGraphVertex> vertices = g.getVertices();
|
TreeSet<MetadataGraphVertex> vertices = g.getVertices();
|
||||||
|
@ -169,7 +187,9 @@ public class DefaultGraphConflictResolver
|
||||||
private void visit( MetadataGraphVertex from, List<MetadataGraphVertex> visited, MetadataGraph graph )
|
private void visit( MetadataGraphVertex from, List<MetadataGraphVertex> visited, MetadataGraph graph )
|
||||||
{
|
{
|
||||||
if ( visited.contains( from ) )
|
if ( visited.contains( from ) )
|
||||||
|
{
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
visited.add( from );
|
visited.add( from );
|
||||||
|
|
||||||
|
@ -185,16 +205,21 @@ public class DefaultGraphConflictResolver
|
||||||
}
|
}
|
||||||
|
|
||||||
// -------------------------------------------------------------------------------------
|
// -------------------------------------------------------------------------------------
|
||||||
private MetadataGraphEdge cleanEdges( MetadataGraphVertex v, List<MetadataGraphEdge> edges, ArtifactScopeEnum scope )
|
private MetadataGraphEdge cleanEdges( MetadataGraphVertex v, List<MetadataGraphEdge> edges,
|
||||||
|
ArtifactScopeEnum scope )
|
||||||
{
|
{
|
||||||
if ( edges == null || edges.isEmpty() )
|
if ( edges == null || edges.isEmpty() )
|
||||||
|
{
|
||||||
return null;
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
if ( edges.size() == 1 )
|
if ( edges.size() == 1 )
|
||||||
{
|
{
|
||||||
MetadataGraphEdge e = edges.get( 0 );
|
MetadataGraphEdge e = edges.get( 0 );
|
||||||
if ( scope.encloses( e.getScope() ) )
|
if ( scope.encloses( e.getScope() ) )
|
||||||
|
{
|
||||||
return e;
|
return e;
|
||||||
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -204,13 +229,19 @@ public class DefaultGraphConflictResolver
|
||||||
for ( MetadataGraphEdge e : edges )
|
for ( MetadataGraphEdge e : edges )
|
||||||
{
|
{
|
||||||
if ( !scope.encloses( e.getScope() ) )
|
if ( !scope.encloses( e.getScope() ) )
|
||||||
|
{
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if ( res == null )
|
if ( res == null )
|
||||||
|
{
|
||||||
res = e;
|
res = e;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
res = policy.apply( e, res );
|
res = policy.apply( e, res );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,30 @@
|
||||||
package org.apache.maven.repository.metadata;
|
package org.apache.maven.repository.metadata;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author <a href="mailto:oleg@codehaus.org">Oleg Gusakov</a>
|
* @author <a href="mailto:oleg@codehaus.org">Oleg Gusakov</a>
|
||||||
*
|
*
|
||||||
* @version $Id$
|
* @version $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class GraphConflictResolutionException
|
public class GraphConflictResolutionException
|
||||||
extends Exception
|
extends Exception
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,23 @@
|
||||||
package org.apache.maven.repository.metadata;
|
package org.apache.maven.repository.metadata;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MetadataGraph edge selection policy. Complements
|
* MetadataGraph edge selection policy. Complements
|
||||||
|
@ -12,10 +30,7 @@ package org.apache.maven.repository.metadata;
|
||||||
|
|
||||||
public interface GraphConflictResolutionPolicy
|
public interface GraphConflictResolutionPolicy
|
||||||
{
|
{
|
||||||
static String ROLE = GraphConflictResolutionPolicy.class.getName();
|
String ROLE = GraphConflictResolutionPolicy.class.getName();
|
||||||
|
|
||||||
public MetadataGraphEdge apply(
|
MetadataGraphEdge apply( MetadataGraphEdge e1, MetadataGraphEdge e2 );
|
||||||
MetadataGraphEdge e1
|
|
||||||
, MetadataGraphEdge e2
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@ import org.apache.maven.artifact.ArtifactScopeEnum;
|
||||||
*/
|
*/
|
||||||
public interface GraphConflictResolver
|
public interface GraphConflictResolver
|
||||||
{
|
{
|
||||||
static String ROLE = GraphConflictResolver.class.getName();
|
String ROLE = GraphConflictResolver.class.getName();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cleanses the supplied graph by leaving only one directed versioned edge\
|
* Cleanses the supplied graph by leaving only one directed versioned edge\
|
||||||
|
|
|
@ -33,7 +33,6 @@ import org.apache.maven.artifact.ArtifactScopeEnum;
|
||||||
* @author <a href="oleg@codehaus.org">Oleg Gusakov</a>
|
* @author <a href="oleg@codehaus.org">Oleg Gusakov</a>
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class MetadataGraph
|
public class MetadataGraph
|
||||||
{
|
{
|
||||||
public static final int DEFAULT_VERTICES = 32;
|
public static final int DEFAULT_VERTICES = 32;
|
||||||
|
@ -129,11 +128,7 @@ public class MetadataGraph
|
||||||
processTreeNodes( null, tree, 0, 0 );
|
processTreeNodes( null, tree, 0, 0 );
|
||||||
}
|
}
|
||||||
//------------------------------------------------------------------------
|
//------------------------------------------------------------------------
|
||||||
private void processTreeNodes( MetadataGraphVertex parentVertex
|
private void processTreeNodes( MetadataGraphVertex parentVertex, MetadataTreeNode node, int depth, int pomOrder )
|
||||||
, MetadataTreeNode node
|
|
||||||
, int depth
|
|
||||||
, int pomOrder
|
|
||||||
)
|
|
||||||
throws MetadataResolutionException
|
throws MetadataResolutionException
|
||||||
{
|
{
|
||||||
if ( node == null )
|
if ( node == null )
|
||||||
|
@ -150,7 +145,8 @@ public class MetadataGraph
|
||||||
if ( parentVertex != null ) // then create the edge
|
if ( parentVertex != null ) // then create the edge
|
||||||
{
|
{
|
||||||
ArtifactMetadata md = node.getMd();
|
ArtifactMetadata md = node.getMd();
|
||||||
MetadataGraphEdge e = new MetadataGraphEdge( md.version, md.resolved, md.artifactScope, md.artifactUri, depth, pomOrder );
|
MetadataGraphEdge e =
|
||||||
|
new MetadataGraphEdge( md.version, md.resolved, md.artifactScope, md.artifactUri, depth, pomOrder );
|
||||||
addEdge( parentVertex, vertex, e );
|
addEdge( parentVertex, vertex, e );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -1,7 +1,25 @@
|
||||||
package org.apache.maven.repository.metadata;
|
package org.apache.maven.repository.metadata;
|
||||||
|
|
||||||
import org.apache.maven.artifact.ArtifactScopeEnum;
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import org.apache.maven.artifact.ArtifactScopeEnum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* metadata graph edge - combination of version, scope and depth define
|
* metadata graph edge - combination of version, scope and depth define
|
||||||
|
@ -30,13 +48,8 @@ public class MetadataGraphEdge
|
||||||
MetadataGraphVertex target;
|
MetadataGraphVertex target;
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
public MetadataGraphEdge( String version
|
public MetadataGraphEdge( String version, boolean resolved, ArtifactScopeEnum scope, String artifactUri, int depth,
|
||||||
, boolean resolved
|
int pomOrder )
|
||||||
, ArtifactScopeEnum scope
|
|
||||||
, String artifactUri
|
|
||||||
, int depth
|
|
||||||
, int pomOrder
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
super();
|
super();
|
||||||
this.version = version;
|
this.version = version;
|
||||||
|
@ -50,16 +63,13 @@ public class MetadataGraphEdge
|
||||||
/**
|
/**
|
||||||
* helper for equals
|
* helper for equals
|
||||||
*/
|
*/
|
||||||
private static boolean objectsEqual( Object o1,
|
private static boolean objectsEqual( Object o1, Object o2 )
|
||||||
Object o2 )
|
|
||||||
{
|
{
|
||||||
if ( o1 == null && o2 == null )
|
if ( o1 == null && o2 == null )
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if ( ( o1 == null && o2 != null )
|
if ( ( o1 == null && o2 != null ) || ( o1 != null && o2 == null ) )
|
||||||
|| ( o1 != null && o2 == null )
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -77,13 +87,9 @@ public class MetadataGraphEdge
|
||||||
{
|
{
|
||||||
MetadataGraphEdge e = (MetadataGraphEdge) o;
|
MetadataGraphEdge e = (MetadataGraphEdge) o;
|
||||||
|
|
||||||
return
|
return objectsEqual( version, e.version )
|
||||||
objectsEqual( version, e.version )
|
&& ArtifactScopeEnum.checkScope( scope ).getScope().equals( ArtifactScopeEnum.checkScope( e.scope ).getScope() )
|
||||||
&& ArtifactScopeEnum.checkScope(scope).getScope().equals(
|
&& depth == e.depth;
|
||||||
ArtifactScopeEnum.checkScope(e.scope).getScope()
|
|
||||||
)
|
|
||||||
&& depth == e.depth
|
|
||||||
;
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -143,6 +149,7 @@ public class MetadataGraphEdge
|
||||||
{
|
{
|
||||||
return artifactUri;
|
return artifactUri;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setArtifactUri( String artifactUri )
|
public void setArtifactUri( String artifactUri )
|
||||||
{
|
{
|
||||||
this.artifactUri = artifactUri;
|
this.artifactUri = artifactUri;
|
||||||
|
@ -152,28 +159,30 @@ public class MetadataGraphEdge
|
||||||
{
|
{
|
||||||
return source;
|
return source;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSource( MetadataGraphVertex source )
|
public void setSource( MetadataGraphVertex source )
|
||||||
{
|
{
|
||||||
this.source = source;
|
this.source = source;
|
||||||
}
|
}
|
||||||
|
|
||||||
public MetadataGraphVertex getTarget()
|
public MetadataGraphVertex getTarget()
|
||||||
{
|
{
|
||||||
return target;
|
return target;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setTarget( MetadataGraphVertex target )
|
public void setTarget( MetadataGraphVertex target )
|
||||||
{
|
{
|
||||||
this.target = target;
|
this.target = target;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString()
|
public String toString()
|
||||||
{
|
{
|
||||||
return "[ "
|
return "[ " + "FROM:("
|
||||||
+ "FROM:("+( source==null?"no source":(source.md==null?"no source MD":source.md.toString()) )+") "
|
+ ( source == null ? "no source" : ( source.md == null ? "no source MD" : source.md.toString() ) ) + ") "
|
||||||
+ "TO:("+( target==null?"no target":(target.md==null?"no target MD":target.md.toString()) )+") "
|
+ "TO:(" + ( target == null ? "no target" : ( target.md == null ? "no target MD" : target.md.toString() ) )
|
||||||
+"version="+version
|
+ ") " + "version=" + version + ", scope=" + ( scope == null ? "null" : scope.getScope() ) + ", depth="
|
||||||
+", scope="+(scope == null ? "null" : scope.getScope())
|
+ depth + "]";
|
||||||
+", depth="+depth+"]"
|
|
||||||
;
|
|
||||||
}
|
}
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
|
|
@ -1,5 +1,24 @@
|
||||||
package org.apache.maven.repository.metadata;
|
package org.apache.maven.repository.metadata;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author <a href="oleg@codehaus.org">Oleg Gusakov</a>
|
* @author <a href="oleg@codehaus.org">Oleg Gusakov</a>
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,5 +1,24 @@
|
||||||
package org.apache.maven.repository.metadata;
|
package org.apache.maven.repository.metadata;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.apache.maven.artifact.repository.ArtifactRepository;
|
import org.apache.maven.artifact.repository.ArtifactRepository;
|
||||||
|
@ -22,8 +41,7 @@ public class MetadataResolution
|
||||||
this.artifactMetadata = artifactMetadata;
|
this.artifactMetadata = artifactMetadata;
|
||||||
}
|
}
|
||||||
//-------------------------------------------------------------------
|
//-------------------------------------------------------------------
|
||||||
public MetadataResolution( ArtifactMetadata artifactMetadata,
|
public MetadataResolution( ArtifactMetadata artifactMetadata, Collection<ArtifactRepository> metadataRepositories )
|
||||||
Collection<ArtifactRepository> metadataRepositories )
|
|
||||||
{
|
{
|
||||||
this( artifactMetadata );
|
this( artifactMetadata );
|
||||||
this.metadataRepositories = metadataRepositories;
|
this.metadataRepositories = metadataRepositories;
|
||||||
|
@ -34,8 +52,7 @@ public class MetadataResolution
|
||||||
return metadataRepositories;
|
return metadataRepositories;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMetadataRepositories(
|
public void setMetadataRepositories( Collection<ArtifactRepository> metadataRepositories )
|
||||||
Collection<ArtifactRepository> metadataRepositories)
|
|
||||||
{
|
{
|
||||||
this.metadataRepositories = metadataRepositories;
|
this.metadataRepositories = metadataRepositories;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,24 @@
|
||||||
package org.apache.maven.repository.metadata;
|
package org.apache.maven.repository.metadata;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
public class MetadataResolutionException
|
public class MetadataResolutionException
|
||||||
extends Exception
|
extends Exception
|
||||||
{
|
{
|
||||||
|
@ -21,8 +40,7 @@ public class MetadataResolutionException
|
||||||
// TODO Auto-generated constructor stub
|
// TODO Auto-generated constructor stub
|
||||||
}
|
}
|
||||||
|
|
||||||
public MetadataResolutionException( String message,
|
public MetadataResolutionException( String message, Throwable cause )
|
||||||
Throwable cause )
|
|
||||||
{
|
{
|
||||||
super( message, cause );
|
super( message, cause );
|
||||||
// TODO Auto-generated constructor stub
|
// TODO Auto-generated constructor stub
|
||||||
|
|
|
@ -1,10 +1,28 @@
|
||||||
package org.apache.maven.repository.metadata;
|
package org.apache.maven.repository.metadata;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.apache.maven.artifact.repository.ArtifactRepository;
|
import org.apache.maven.artifact.repository.ArtifactRepository;
|
||||||
|
|
||||||
|
|
||||||
/** @author Oleg Gusakov */
|
/** @author Oleg Gusakov */
|
||||||
public class MetadataResolutionRequest
|
public class MetadataResolutionRequest
|
||||||
{
|
{
|
||||||
|
@ -18,8 +36,7 @@ public class MetadataResolutionRequest
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------
|
//--------------------------------------------------------------------
|
||||||
public MetadataResolutionRequest( ArtifactMetadata query,
|
public MetadataResolutionRequest( ArtifactMetadata query, ArtifactRepository localRepository,
|
||||||
ArtifactRepository localRepository,
|
|
||||||
List<ArtifactRepository> remoteRepositories )
|
List<ArtifactRepository> remoteRepositories )
|
||||||
{
|
{
|
||||||
this.query = query;
|
this.query = query;
|
||||||
|
|
|
@ -1,5 +1,24 @@
|
||||||
package org.apache.maven.repository.metadata;
|
package org.apache.maven.repository.metadata;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
public enum MetadataResolutionRequestTypeEnum
|
public enum MetadataResolutionRequestTypeEnum
|
||||||
{
|
{
|
||||||
tree( 1 )
|
tree( 1 )
|
||||||
|
|
|
@ -41,15 +41,12 @@ public class MetadataRetrievalException
|
||||||
this( null, cause, null );
|
this( null, cause, null );
|
||||||
}
|
}
|
||||||
|
|
||||||
public MetadataRetrievalException( String message,
|
public MetadataRetrievalException( String message, Throwable cause )
|
||||||
Throwable cause )
|
|
||||||
{
|
{
|
||||||
this( message, cause, null );
|
this( message, cause, null );
|
||||||
}
|
}
|
||||||
|
|
||||||
public MetadataRetrievalException( String message,
|
public MetadataRetrievalException( String message, Throwable cause, ArtifactMetadata artifact )
|
||||||
Throwable cause,
|
|
||||||
ArtifactMetadata artifact )
|
|
||||||
{
|
{
|
||||||
super( message, cause );
|
super( message, cause );
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,7 @@ public interface MetadataSource
|
||||||
{
|
{
|
||||||
String ROLE = MetadataSource.class.getName();
|
String ROLE = MetadataSource.class.getName();
|
||||||
|
|
||||||
MetadataResolution retrieve( ArtifactMetadata artifact, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
|
MetadataResolution retrieve( ArtifactMetadata artifact, ArtifactRepository localRepository,
|
||||||
|
List<ArtifactRepository> remoteRepositories )
|
||||||
throws MetadataRetrievalException;
|
throws MetadataRetrievalException;
|
||||||
}
|
}
|
|
@ -1,14 +1,33 @@
|
||||||
package org.apache.maven.repository.metadata;
|
package org.apache.maven.repository.metadata;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
import org.apache.maven.artifact.Artifact;
|
import org.apache.maven.artifact.Artifact;
|
||||||
import org.apache.maven.artifact.ArtifactScopeEnum;
|
import org.apache.maven.artifact.ArtifactScopeEnum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* metadata [dirty] Tree
|
* metadata [dirty] Tree
|
||||||
*
|
*
|
||||||
* @author <a href="oleg@codehaus.org">Oleg Gusakov</a>
|
* @author <a href="oleg@codehaus.org">Oleg Gusakov</a>
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class MetadataTreeNode
|
public class MetadataTreeNode
|
||||||
{
|
{
|
||||||
ArtifactMetadata md; // this node
|
ArtifactMetadata md; // this node
|
||||||
|
@ -35,10 +54,7 @@ public class MetadataTreeNode
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
//------------------------------------------------------------------------
|
//------------------------------------------------------------------------
|
||||||
public MetadataTreeNode( ArtifactMetadata md,
|
public MetadataTreeNode( ArtifactMetadata md, MetadataTreeNode parent, boolean resolved, ArtifactScopeEnum scope )
|
||||||
MetadataTreeNode parent,
|
|
||||||
boolean resolved,
|
|
||||||
ArtifactScopeEnum scope )
|
|
||||||
{
|
{
|
||||||
if ( md != null )
|
if ( md != null )
|
||||||
{
|
{
|
||||||
|
@ -50,14 +66,11 @@ public class MetadataTreeNode
|
||||||
this.parent = parent;
|
this.parent = parent;
|
||||||
}
|
}
|
||||||
//------------------------------------------------------------------------
|
//------------------------------------------------------------------------
|
||||||
public MetadataTreeNode( Artifact af,
|
public MetadataTreeNode( Artifact af, MetadataTreeNode parent, boolean resolved, ArtifactScopeEnum scope )
|
||||||
MetadataTreeNode parent,
|
|
||||||
boolean resolved,
|
|
||||||
ArtifactScopeEnum scope
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
this( new ArtifactMetadata( af ), parent, resolved, scope );
|
this( new ArtifactMetadata( af ), parent, resolved, scope );
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------------------------------------------------------------------------
|
// ------------------------------------------------------------------------
|
||||||
public void addChild( int index, MetadataTreeNode kid )
|
public void addChild( int index, MetadataTreeNode kid )
|
||||||
{
|
{
|
||||||
|
@ -67,16 +80,20 @@ public class MetadataTreeNode
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( children == null )
|
if ( children == null )
|
||||||
|
{
|
||||||
children = new MetadataTreeNode[nChildren];
|
children = new MetadataTreeNode[nChildren];
|
||||||
|
}
|
||||||
|
|
||||||
children[index % nChildren] = kid;
|
children[index % nChildren] = kid;
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
@Override
|
@Override
|
||||||
public String toString()
|
public String toString()
|
||||||
{
|
{
|
||||||
return md == null ? "no metadata" : md.toString();
|
return md == null ? "no metadata" : md.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
public String graphHash()
|
public String graphHash()
|
||||||
throws MetadataResolutionException
|
throws MetadataResolutionException
|
||||||
|
@ -84,8 +101,7 @@ public class MetadataTreeNode
|
||||||
if ( md == null )
|
if ( md == null )
|
||||||
{
|
{
|
||||||
throw new MetadataResolutionException( "treenode without metadata, parent: "
|
throw new MetadataResolutionException( "treenode without metadata, parent: "
|
||||||
+ ( parent == null ? "null" : parent.toString() )
|
+ ( parent == null ? "null" : parent.toString() ) );
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return md.groupId + ":" + md.artifactId;
|
return md.groupId + ":" + md.artifactId;
|
||||||
|
|
|
@ -72,11 +72,13 @@ public class ExpressionDocumenter
|
||||||
}
|
}
|
||||||
catch ( IOException e )
|
catch ( IOException e )
|
||||||
{
|
{
|
||||||
throw new ExpressionDocumentationException( "Failed to read documentation for expression root: " + EXPRESSION_ROOTS[i], e );
|
throw new ExpressionDocumentationException( "Failed to read documentation for expression root: "
|
||||||
|
+ EXPRESSION_ROOTS[i], e );
|
||||||
}
|
}
|
||||||
catch ( XmlPullParserException e )
|
catch ( XmlPullParserException e )
|
||||||
{
|
{
|
||||||
throw new ExpressionDocumentationException( "Failed to parse documentation for expression root: " + EXPRESSION_ROOTS[i], e );
|
throw new ExpressionDocumentationException( "Failed to parse documentation for expression root: "
|
||||||
|
+ EXPRESSION_ROOTS[i], e );
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,21 +1,24 @@
|
||||||
package org.apache.maven;
|
package org.apache.maven;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* agreements. See the NOTICE file distributed with this work for additional information regarding
|
* or more contributor license agreements. See the NOTICE file
|
||||||
* copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
|
* distributed with this work for additional information
|
||||||
* "License"); you may not use this file except in compliance with the License. You may obtain a
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
* copy of the License at
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
* software distributed under the License is distributed on an
|
||||||
* or implied. See the License for the specific language governing permissions and limitations under
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* the License.
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
import org.apache.maven.execution.MavenSession;
|
import org.apache.maven.execution.MavenSession;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -34,7 +37,8 @@ public abstract class AbstractMavenLifecycleParticipant
|
||||||
* This callback is intended to allow extensions to manipulate MavenProjects
|
* This callback is intended to allow extensions to manipulate MavenProjects
|
||||||
* before they are sorted and actual build execution starts.
|
* before they are sorted and actual build execution starts.
|
||||||
*/
|
*/
|
||||||
public void afterProjectsRead( MavenSession session ) throws MavenExecutionException
|
public void afterProjectsRead( MavenSession session )
|
||||||
|
throws MavenExecutionException
|
||||||
{
|
{
|
||||||
// do nothing
|
// do nothing
|
||||||
}
|
}
|
||||||
|
@ -47,7 +51,8 @@ public abstract class AbstractMavenLifecycleParticipant
|
||||||
* instance construction.
|
* instance construction.
|
||||||
*/
|
*/
|
||||||
// TODO: This is too early for build extensions, so maybe just remove it?
|
// TODO: This is too early for build extensions, so maybe just remove it?
|
||||||
public void afterSessionStart( MavenSession session ) throws MavenExecutionException
|
public void afterSessionStart( MavenSession session )
|
||||||
|
throws MavenExecutionException
|
||||||
{
|
{
|
||||||
// do nothing
|
// do nothing
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,24 @@
|
||||||
package org.apache.maven;
|
package org.apache.maven;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public interface ArtifactFilterManagerDelegate
|
public interface ArtifactFilterManagerDelegate
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package org.apache.maven;
|
package org.apache.maven;
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* or more contributor license agreements. See the NOTICE file
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
|
|
@ -1,18 +1,22 @@
|
||||||
package org.apache.maven;
|
package org.apache.maven;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* agreements. See the NOTICE file distributed with this work for additional information regarding
|
* or more contributor license agreements. See the NOTICE file
|
||||||
* copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
|
* distributed with this work for additional information
|
||||||
* "License"); you may not use this file except in compliance with the License. You may obtain a
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
* copy of the License at
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
* software distributed under the License is distributed on an
|
||||||
* or implied. See the License for the specific language governing permissions and limitations under
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* the License.
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
@ -37,7 +41,6 @@ import org.apache.maven.execution.MavenExecutionRequestPopulator;
|
||||||
import org.apache.maven.execution.MavenExecutionResult;
|
import org.apache.maven.execution.MavenExecutionResult;
|
||||||
import org.apache.maven.execution.MavenSession;
|
import org.apache.maven.execution.MavenSession;
|
||||||
import org.apache.maven.execution.ProjectDependencyGraph;
|
import org.apache.maven.execution.ProjectDependencyGraph;
|
||||||
import org.apache.maven.lifecycle.LifecycleExecutor;
|
|
||||||
import org.apache.maven.lifecycle.internal.ExecutionEventCatapult;
|
import org.apache.maven.lifecycle.internal.ExecutionEventCatapult;
|
||||||
import org.apache.maven.lifecycle.internal.LifecycleStarter;
|
import org.apache.maven.lifecycle.internal.LifecycleStarter;
|
||||||
import org.apache.maven.model.building.ModelProblem;
|
import org.apache.maven.model.building.ModelProblem;
|
||||||
|
@ -120,7 +123,8 @@ public class DefaultMaven
|
||||||
//TODO: Need a general way to inject standard properties
|
//TODO: Need a general way to inject standard properties
|
||||||
if ( request.getStartTime() != null )
|
if ( request.getStartTime() != null )
|
||||||
{
|
{
|
||||||
request.getSystemProperties().put( "${build.timestamp}", new SimpleDateFormat( "yyyyMMdd-hhmm" ).format( request.getStartTime() ) );
|
request.getSystemProperties().put( "${build.timestamp}",
|
||||||
|
new SimpleDateFormat( "yyyyMMdd-hhmm" ).format( request.getStartTime() ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
request.setStartTime( new Date() );
|
request.setStartTime( new Date() );
|
||||||
|
@ -401,7 +405,8 @@ public class DefaultMaven
|
||||||
{
|
{
|
||||||
ProjectBuildingRequest projectBuildingRequest = request.getProjectBuildingRequest();
|
ProjectBuildingRequest projectBuildingRequest = request.getProjectBuildingRequest();
|
||||||
|
|
||||||
List<ProjectBuildingResult> results = projectBuilder.build( files, request.isRecursive(), projectBuildingRequest );
|
List<ProjectBuildingResult> results =
|
||||||
|
projectBuilder.build( files, request.isRecursive(), projectBuildingRequest );
|
||||||
|
|
||||||
boolean problems = false;
|
boolean problems = false;
|
||||||
|
|
||||||
|
@ -418,7 +423,8 @@ public class DefaultMaven
|
||||||
for ( ModelProblem problem : result.getProblems() )
|
for ( ModelProblem problem : result.getProblems() )
|
||||||
{
|
{
|
||||||
String location = ModelProblemUtils.formatLocation( problem, result.getProjectId() );
|
String location = ModelProblemUtils.formatLocation( problem, result.getProjectId() );
|
||||||
logger.warn( problem.getMessage() + ( StringUtils.isNotEmpty( location ) ? " @ " + location : "" ) );
|
logger.warn( problem.getMessage()
|
||||||
|
+ ( StringUtils.isNotEmpty( location ) ? " @ " + location : "" ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
problems = true;
|
problems = true;
|
||||||
|
|
|
@ -97,15 +97,15 @@ public class DefaultProjectDependenciesResolver
|
||||||
return resolved;
|
return resolved;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ( scopesToCollect == null || scopesToCollect.isEmpty() ) &&
|
if ( ( scopesToCollect == null || scopesToCollect.isEmpty() )
|
||||||
( scopesToResolve == null || scopesToResolve.isEmpty() ) )
|
&& ( scopesToResolve == null || scopesToResolve.isEmpty() ) )
|
||||||
{
|
{
|
||||||
return resolved;
|
return resolved;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
Logic for transitve global exclusions
|
Logic for transitive global exclusions
|
||||||
|
|
||||||
List<String> exclusions = new ArrayList<String>();
|
List<String> exclusions = new ArrayList<String>();
|
||||||
|
|
||||||
|
@ -126,7 +126,8 @@ public class DefaultProjectDependenciesResolver
|
||||||
|
|
||||||
if ( ! exclusions.isEmpty() )
|
if ( ! exclusions.isEmpty() )
|
||||||
{
|
{
|
||||||
filter = new AndArtifactFilter( Arrays.asList( new ArtifactFilter[]{ new ExcludesArtifactFilter( exclusions ), scopeFilter } ) );
|
filter = new AndArtifactFilter( Arrays.asList( new ArtifactFilter[]{ new ExcludesArtifactFilter( exclusions ),
|
||||||
|
scopeFilter } ) );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -140,10 +141,10 @@ public class DefaultProjectDependenciesResolver
|
||||||
collectionScopeFilter = new CumulativeScopeArtifactFilter( collectionScopeFilter, resolutionScopeFilter );
|
collectionScopeFilter = new CumulativeScopeArtifactFilter( collectionScopeFilter, resolutionScopeFilter );
|
||||||
|
|
||||||
ArtifactResolutionRequest request =
|
ArtifactResolutionRequest request =
|
||||||
new ArtifactResolutionRequest().setResolveRoot( false ).setResolveTransitively( true ).setCollectionFilter(
|
new ArtifactResolutionRequest().setResolveRoot( false ).setResolveTransitively( true )
|
||||||
collectionScopeFilter ).setResolutionFilter( resolutionScopeFilter ).setLocalRepository(
|
.setCollectionFilter( collectionScopeFilter ).setResolutionFilter( resolutionScopeFilter )
|
||||||
session.getLocalRepository() ).setOffline( session.isOffline() ).setForceUpdate(
|
.setLocalRepository( session.getLocalRepository() ).setOffline( session.isOffline() )
|
||||||
session.getRequest().isUpdateSnapshots() ).setCache( session.getRepositoryCache() );
|
.setForceUpdate( session.getRequest().isUpdateSnapshots() ).setCache( session.getRepositoryCache() );
|
||||||
request.setTransferListener( session.getRequest().getTransferListener() );
|
request.setTransferListener( session.getRequest().getTransferListener() );
|
||||||
request.setServers( session.getRequest().getServers() );
|
request.setServers( session.getRequest().getServers() );
|
||||||
request.setMirrors( session.getRequest().getMirrors() );
|
request.setMirrors( session.getRequest().getMirrors() );
|
||||||
|
|
|
@ -1,5 +1,23 @@
|
||||||
package org.apache.maven;
|
package org.apache.maven;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,24 @@
|
||||||
package org.apache.maven;
|
package org.apache.maven;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
import org.codehaus.plexus.util.dag.CycleDetectedException;
|
import org.codehaus.plexus.util.dag.CycleDetectedException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -39,7 +39,7 @@ public interface ProjectDependenciesResolver
|
||||||
* @param session The current build session, must not be {@code null}.
|
* @param session The current build session, must not be {@code null}.
|
||||||
* @return The transitive dependencies of the specified project that match the requested scopes, never {@code null}.
|
* @return The transitive dependencies of the specified project that match the requested scopes, never {@code null}.
|
||||||
*/
|
*/
|
||||||
public Set<Artifact> resolve( MavenProject project, Collection<String> scopesToResolve, MavenSession session )
|
Set<Artifact> resolve( MavenProject project, Collection<String> scopesToResolve, MavenSession session )
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException;
|
throws ArtifactResolutionException, ArtifactNotFoundException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -51,7 +51,7 @@ public interface ProjectDependenciesResolver
|
||||||
* @param session The current build session, must not be {@code null}.
|
* @param session The current build session, must not be {@code null}.
|
||||||
* @return The transitive dependencies of the specified project that match the requested scopes, never {@code null}.
|
* @return The transitive dependencies of the specified project that match the requested scopes, never {@code null}.
|
||||||
*/
|
*/
|
||||||
public Set<Artifact> resolve( MavenProject project, Collection<String> scopesToCollect,
|
Set<Artifact> resolve( MavenProject project, Collection<String> scopesToCollect,
|
||||||
Collection<String> scopesToResolve, MavenSession session )
|
Collection<String> scopesToResolve, MavenSession session )
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException;
|
throws ArtifactResolutionException, ArtifactNotFoundException;
|
||||||
|
|
||||||
|
@ -65,9 +65,8 @@ public interface ProjectDependenciesResolver
|
||||||
* @param ignoreableArtifacts Artifacts that need not be resolved
|
* @param ignoreableArtifacts Artifacts that need not be resolved
|
||||||
* @return The transitive dependencies of the specified project that match the requested scopes, never {@code null}.
|
* @return The transitive dependencies of the specified project that match the requested scopes, never {@code null}.
|
||||||
*/
|
*/
|
||||||
public Set<Artifact> resolve( MavenProject project, Collection<String> scopesToCollect,
|
Set<Artifact> resolve( MavenProject project, Collection<String> scopesToCollect,
|
||||||
Collection<String> scopesToResolve, MavenSession session,
|
Collection<String> scopesToResolve, MavenSession session, Set<Artifact> ignoreableArtifacts )
|
||||||
Set<Artifact> ignoreableArtifacts )
|
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException;
|
throws ArtifactResolutionException, ArtifactNotFoundException;
|
||||||
|
|
||||||
|
|
||||||
|
@ -83,8 +82,7 @@ public interface ProjectDependenciesResolver
|
||||||
* @return The transitive dependencies of the specified projects that match the requested scopes, never {@code null}
|
* @return The transitive dependencies of the specified projects that match the requested scopes, never {@code null}
|
||||||
* .
|
* .
|
||||||
*/
|
*/
|
||||||
public Set<Artifact> resolve( Collection<? extends MavenProject> projects, Collection<String> scopes,
|
Set<Artifact> resolve( Collection<? extends MavenProject> projects, Collection<String> scopes, MavenSession session )
|
||||||
MavenSession session )
|
|
||||||
throws ArtifactResolutionException, ArtifactNotFoundException;
|
throws ArtifactResolutionException, ArtifactNotFoundException;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,12 @@ import org.apache.maven.project.MavenProject;
|
||||||
import org.apache.maven.repository.LocalArtifactRepository;
|
import org.apache.maven.repository.LocalArtifactRepository;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An implementation of a repository that knows how to search the Maven reactor for artifacts.
|
* An implementation of a repository that knows how to search the Maven reactor for artifacts.
|
||||||
|
|
|
@ -1,9 +1,5 @@
|
||||||
package org.apache.maven.artifact;
|
package org.apache.maven.artifact;
|
||||||
|
|
||||||
import java.net.MalformedURLException;
|
|
||||||
|
|
||||||
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* or more contributor license agreements. See the NOTICE file
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
@ -23,6 +19,10 @@ import org.codehaus.plexus.component.repository.exception.ComponentLookupExcepti
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import java.net.MalformedURLException;
|
||||||
|
|
||||||
|
import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Error constructing an artifact repository.
|
* Error constructing an artifact repository.
|
||||||
*
|
*
|
||||||
|
@ -34,17 +34,13 @@ public class InvalidRepositoryException
|
||||||
{
|
{
|
||||||
private final String repositoryId;
|
private final String repositoryId;
|
||||||
|
|
||||||
public InvalidRepositoryException( String message,
|
public InvalidRepositoryException( String message, String repositoryId, MalformedURLException cause )
|
||||||
String repositoryId,
|
|
||||||
MalformedURLException cause )
|
|
||||||
{
|
{
|
||||||
super( message, cause );
|
super( message, cause );
|
||||||
this.repositoryId = repositoryId;
|
this.repositoryId = repositoryId;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected InvalidRepositoryException( String message,
|
protected InvalidRepositoryException( String message, String repositoryId, ComponentLookupException cause )
|
||||||
String repositoryId,
|
|
||||||
ComponentLookupException cause )
|
|
||||||
{
|
{
|
||||||
super( message, cause );
|
super( message, cause );
|
||||||
this.repositoryId = repositoryId;
|
this.repositoryId = repositoryId;
|
||||||
|
@ -57,8 +53,7 @@ public class InvalidRepositoryException
|
||||||
this.repositoryId = null;
|
this.repositoryId = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public InvalidRepositoryException( String message,
|
public InvalidRepositoryException( String message, String repositoryId )
|
||||||
String repositoryId )
|
|
||||||
{
|
{
|
||||||
super( message );
|
super( message );
|
||||||
this.repositoryId = repositoryId;
|
this.repositoryId = repositoryId;
|
||||||
|
|
|
@ -1,18 +1,22 @@
|
||||||
package org.apache.maven.artifact.factory;
|
package org.apache.maven.artifact.factory;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* agreements. See the NOTICE file distributed with this work for additional information regarding
|
* or more contributor license agreements. See the NOTICE file
|
||||||
* copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
|
* distributed with this work for additional information
|
||||||
* "License"); you may not use this file except in compliance with the License. You may obtain a
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
* copy of the License at
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
* software distributed under the License is distributed on an
|
||||||
* or implied. See the License for the specific language governing permissions and limitations under
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* the License.
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import org.apache.maven.artifact.Artifact;
|
import org.apache.maven.artifact.Artifact;
|
||||||
|
@ -26,15 +30,20 @@ public interface ArtifactFactory
|
||||||
|
|
||||||
Artifact createArtifact( String groupId, String artifactId, String version, String scope, String type );
|
Artifact createArtifact( String groupId, String artifactId, String version, String scope, String type );
|
||||||
|
|
||||||
Artifact createArtifactWithClassifier( String groupId, String artifactId, String version, String type, String classifier );
|
Artifact createArtifactWithClassifier( String groupId, String artifactId, String version, String type,
|
||||||
|
String classifier );
|
||||||
|
|
||||||
Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange, String type, String classifier, String scope );
|
Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange, String type,
|
||||||
|
String classifier, String scope );
|
||||||
|
|
||||||
Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange, String type, String classifier, String scope, boolean optional );
|
Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange, String type,
|
||||||
|
String classifier, String scope, boolean optional );
|
||||||
|
|
||||||
Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange, String type, String classifier, String scope, String inheritedScope );
|
Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange, String type,
|
||||||
|
String classifier, String scope, String inheritedScope );
|
||||||
|
|
||||||
Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange, String type, String classifier, String scope, String inheritedScope, boolean optional );
|
Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange, String type,
|
||||||
|
String classifier, String scope, String inheritedScope, boolean optional );
|
||||||
|
|
||||||
Artifact createBuildArtifact( String groupId, String artifactId, String version, String packaging );
|
Artifact createBuildArtifact( String groupId, String artifactId, String version, String packaging );
|
||||||
|
|
||||||
|
|
|
@ -39,27 +39,33 @@ public class DefaultArtifactFactory
|
||||||
return createArtifact( groupId, artifactId, version, scope, type, null, null );
|
return createArtifact( groupId, artifactId, version, scope, type, null, null );
|
||||||
}
|
}
|
||||||
|
|
||||||
public Artifact createArtifactWithClassifier( String groupId, String artifactId, String version, String type, String classifier )
|
public Artifact createArtifactWithClassifier( String groupId, String artifactId, String version, String type,
|
||||||
|
String classifier )
|
||||||
{
|
{
|
||||||
return createArtifact( groupId, artifactId, version, null, type, classifier, null );
|
return createArtifact( groupId, artifactId, version, null, type, classifier, null );
|
||||||
}
|
}
|
||||||
|
|
||||||
public Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange, String type, String classifier, String scope )
|
public Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange,
|
||||||
|
String type, String classifier, String scope )
|
||||||
{
|
{
|
||||||
return createArtifact( groupId, artifactId, versionRange, type, classifier, scope, null );
|
return createArtifact( groupId, artifactId, versionRange, type, classifier, scope, null );
|
||||||
}
|
}
|
||||||
|
|
||||||
public Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange, String type, String classifier, String scope, boolean optional )
|
public Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange,
|
||||||
|
String type, String classifier, String scope, boolean optional )
|
||||||
{
|
{
|
||||||
return createArtifact( groupId, artifactId, versionRange, type, classifier, scope, null, optional );
|
return createArtifact( groupId, artifactId, versionRange, type, classifier, scope, null, optional );
|
||||||
}
|
}
|
||||||
|
|
||||||
public Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange, String type, String classifier, String scope, String inheritedScope )
|
public Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange,
|
||||||
|
String type, String classifier, String scope, String inheritedScope )
|
||||||
{
|
{
|
||||||
return createArtifact( groupId, artifactId, versionRange, type, classifier, scope, inheritedScope );
|
return createArtifact( groupId, artifactId, versionRange, type, classifier, scope, inheritedScope );
|
||||||
}
|
}
|
||||||
|
|
||||||
public Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange, String type, String classifier, String scope, String inheritedScope, boolean optional )
|
public Artifact createDependencyArtifact( String groupId, String artifactId, VersionRange versionRange,
|
||||||
|
String type, String classifier, String scope, String inheritedScope,
|
||||||
|
boolean optional )
|
||||||
{
|
{
|
||||||
return createArtifact( groupId, artifactId, versionRange, type, classifier, scope, inheritedScope, optional );
|
return createArtifact( groupId, artifactId, versionRange, type, classifier, scope, inheritedScope, optional );
|
||||||
}
|
}
|
||||||
|
@ -94,7 +100,8 @@ public class DefaultArtifactFactory
|
||||||
return createArtifact( groupId, artifactId, versionRange, "jar", null, Artifact.SCOPE_RUNTIME, null );
|
return createArtifact( groupId, artifactId, versionRange, "jar", null, Artifact.SCOPE_RUNTIME, null );
|
||||||
}
|
}
|
||||||
|
|
||||||
private Artifact createArtifact( String groupId, String artifactId, String version, String scope, String type, String classifier, String inheritedScope )
|
private Artifact createArtifact( String groupId, String artifactId, String version, String scope, String type,
|
||||||
|
String classifier, String inheritedScope )
|
||||||
{
|
{
|
||||||
VersionRange versionRange = null;
|
VersionRange versionRange = null;
|
||||||
if ( version != null )
|
if ( version != null )
|
||||||
|
@ -104,12 +111,14 @@ public class DefaultArtifactFactory
|
||||||
return createArtifact( groupId, artifactId, versionRange, type, classifier, scope, inheritedScope );
|
return createArtifact( groupId, artifactId, versionRange, type, classifier, scope, inheritedScope );
|
||||||
}
|
}
|
||||||
|
|
||||||
private Artifact createArtifact( String groupId, String artifactId, VersionRange versionRange, String type, String classifier, String scope, String inheritedScope )
|
private Artifact createArtifact( String groupId, String artifactId, VersionRange versionRange, String type,
|
||||||
|
String classifier, String scope, String inheritedScope )
|
||||||
{
|
{
|
||||||
return createArtifact( groupId, artifactId, versionRange, type, classifier, scope, inheritedScope, false );
|
return createArtifact( groupId, artifactId, versionRange, type, classifier, scope, inheritedScope, false );
|
||||||
}
|
}
|
||||||
|
|
||||||
private Artifact createArtifact( String groupId, String artifactId, VersionRange versionRange, String type, String classifier, String scope, String inheritedScope, boolean optional )
|
private Artifact createArtifact( String groupId, String artifactId, VersionRange versionRange, String type,
|
||||||
|
String classifier, String scope, String inheritedScope, boolean optional )
|
||||||
{
|
{
|
||||||
String desiredScope = Artifact.SCOPE_RUNTIME;
|
String desiredScope = Artifact.SCOPE_RUNTIME;
|
||||||
|
|
||||||
|
@ -145,6 +154,7 @@ public class DefaultArtifactFactory
|
||||||
|
|
||||||
ArtifactHandler handler = artifactHandlerManager.getArtifactHandler( type );
|
ArtifactHandler handler = artifactHandlerManager.getArtifactHandler( type );
|
||||||
|
|
||||||
return new DefaultArtifact( groupId, artifactId, versionRange, desiredScope, type, classifier, handler, optional );
|
return new DefaultArtifact( groupId, artifactId, versionRange, desiredScope, type, classifier, handler,
|
||||||
|
optional );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
package org.apache.maven.artifact.handler;
|
package org.apache.maven.artifact.handler;
|
||||||
|
|
||||||
import org.codehaus.plexus.component.annotations.Component;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* or more contributor license agreements. See the NOTICE file
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
@ -21,6 +19,8 @@ import org.codehaus.plexus.component.annotations.Component;
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import org.codehaus.plexus.component.annotations.Component;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
|
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
|
||||||
* @author Jason van Zyl
|
* @author Jason van Zyl
|
||||||
|
|
|
@ -34,15 +34,19 @@ public interface ArtifactMetadataSource
|
||||||
ResolutionGroup retrieve( MetadataResolutionRequest request )
|
ResolutionGroup retrieve( MetadataResolutionRequest request )
|
||||||
throws ArtifactMetadataRetrievalException;
|
throws ArtifactMetadataRetrievalException;
|
||||||
|
|
||||||
ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
|
ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepository,
|
||||||
|
List<ArtifactRepository> remoteRepositories )
|
||||||
throws ArtifactMetadataRetrievalException;
|
throws ArtifactMetadataRetrievalException;
|
||||||
|
|
||||||
List<ArtifactVersion> retrieveAvailableVersions( MetadataResolutionRequest request )
|
List<ArtifactVersion> retrieveAvailableVersions( MetadataResolutionRequest request )
|
||||||
throws ArtifactMetadataRetrievalException;
|
throws ArtifactMetadataRetrievalException;
|
||||||
|
|
||||||
List<ArtifactVersion> retrieveAvailableVersions( Artifact artifact, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
|
List<ArtifactVersion> retrieveAvailableVersions( Artifact artifact, ArtifactRepository localRepository,
|
||||||
|
List<ArtifactRepository> remoteRepositories )
|
||||||
throws ArtifactMetadataRetrievalException;
|
throws ArtifactMetadataRetrievalException;
|
||||||
|
|
||||||
List<ArtifactVersion> retrieveAvailableVersionsFromDeploymentRepository( Artifact artifact, ArtifactRepository localRepository, ArtifactRepository remoteRepository )
|
List<ArtifactVersion> retrieveAvailableVersionsFromDeploymentRepository( Artifact artifact,
|
||||||
|
ArtifactRepository localRepository,
|
||||||
|
ArtifactRepository remoteRepository )
|
||||||
throws ArtifactMetadataRetrievalException;
|
throws ArtifactMetadataRetrievalException;
|
||||||
}
|
}
|
|
@ -1,18 +1,22 @@
|
||||||
package org.apache.maven.artifact.metadata;
|
package org.apache.maven.artifact.metadata;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more contributor license
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* agreements. See the NOTICE file distributed with this work for additional information regarding
|
* or more contributor license agreements. See the NOTICE file
|
||||||
* copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
|
* distributed with this work for additional information
|
||||||
* "License"); you may not use this file except in compliance with the License. You may obtain a
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
* copy of the License at
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
*
|
*
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
*
|
*
|
||||||
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
* Unless required by applicable law or agreed to in writing,
|
||||||
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
* software distributed under the License is distributed on an
|
||||||
* or implied. See the License for the specific language governing permissions and limitations under
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
* the License.
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
|
@ -70,12 +70,14 @@ public class DefaultRepositoryRequest
|
||||||
setTransferListener( repositoryRequest.getTransferListener() );
|
setTransferListener( repositoryRequest.getTransferListener() );
|
||||||
}
|
}
|
||||||
|
|
||||||
public static RepositoryRequest getRepositoryRequest(MavenSession session, MavenProject project) {
|
public static RepositoryRequest getRepositoryRequest( MavenSession session, MavenProject project )
|
||||||
|
{
|
||||||
RepositoryRequest request = new DefaultRepositoryRequest();
|
RepositoryRequest request = new DefaultRepositoryRequest();
|
||||||
|
|
||||||
request.setCache( session.getRepositoryCache() );
|
request.setCache( session.getRepositoryCache() );
|
||||||
request.setLocalRepository( session.getLocalRepository() );
|
request.setLocalRepository( session.getLocalRepository() );
|
||||||
if (project != null) {
|
if ( project != null )
|
||||||
|
{
|
||||||
request.setRemoteRepositories( project.getPluginArtifactRepositories() );
|
request.setRemoteRepositories( project.getPluginArtifactRepositories() );
|
||||||
}
|
}
|
||||||
request.setOffline( session.isOffline() );
|
request.setOffline( session.isOffline() );
|
||||||
|
|
|
@ -63,7 +63,8 @@ public class MavenArtifactRepository
|
||||||
* @param snapshots the policies to use for snapshots
|
* @param snapshots the policies to use for snapshots
|
||||||
* @param releases the policies to use for releases
|
* @param releases the policies to use for releases
|
||||||
*/
|
*/
|
||||||
public MavenArtifactRepository( String id, String url, ArtifactRepositoryLayout layout, ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases )
|
public MavenArtifactRepository( String id, String url, ArtifactRepositoryLayout layout,
|
||||||
|
ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases )
|
||||||
{
|
{
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.url = url;
|
this.url = url;
|
||||||
|
|
|
@ -31,10 +31,12 @@ public interface RepositoryMetadataManager
|
||||||
void resolve( RepositoryMetadata repositoryMetadata, RepositoryRequest repositoryRequest )
|
void resolve( RepositoryMetadata repositoryMetadata, RepositoryRequest repositoryRequest )
|
||||||
throws RepositoryMetadataResolutionException;
|
throws RepositoryMetadataResolutionException;
|
||||||
|
|
||||||
void resolve( RepositoryMetadata repositoryMetadata, List<ArtifactRepository> repositories, ArtifactRepository localRepository )
|
void resolve( RepositoryMetadata repositoryMetadata, List<ArtifactRepository> repositories,
|
||||||
|
ArtifactRepository localRepository )
|
||||||
throws RepositoryMetadataResolutionException;
|
throws RepositoryMetadataResolutionException;
|
||||||
|
|
||||||
void resolveAlways( RepositoryMetadata metadata, ArtifactRepository localRepository, ArtifactRepository remoteRepository )
|
void resolveAlways( RepositoryMetadata metadata, ArtifactRepository localRepository,
|
||||||
|
ArtifactRepository remoteRepository )
|
||||||
throws RepositoryMetadataResolutionException;
|
throws RepositoryMetadataResolutionException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -44,7 +46,8 @@ public interface RepositoryMetadataManager
|
||||||
* @param localRepository the local repository to install to first
|
* @param localRepository the local repository to install to first
|
||||||
* @param deploymentRepository the remote repository to deploy to
|
* @param deploymentRepository the remote repository to deploy to
|
||||||
*/
|
*/
|
||||||
void deploy( ArtifactMetadata metadata, ArtifactRepository localRepository, ArtifactRepository deploymentRepository )
|
void deploy( ArtifactMetadata metadata, ArtifactRepository localRepository,
|
||||||
|
ArtifactRepository deploymentRepository )
|
||||||
throws RepositoryMetadataDeploymentException;
|
throws RepositoryMetadataDeploymentException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -39,7 +39,7 @@ public interface MetadataReader
|
||||||
* The key for the option to enable strict parsing. This option is of type {@link Boolean} and defaults to {@code
|
* The key for the option to enable strict parsing. This option is of type {@link Boolean} and defaults to {@code
|
||||||
* true}. If {@code false}, unknown elements will be ignored instead of causing a failure.
|
* true}. If {@code false}, unknown elements will be ignored instead of causing a failure.
|
||||||
*/
|
*/
|
||||||
static final String IS_STRICT = "org.apache.maven.artifact.repository.metadata.io.isStrict";
|
final String IS_STRICT = "org.apache.maven.artifact.repository.metadata.io.isStrict";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reads the metadata from the specified file.
|
* Reads the metadata from the specified file.
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue