1
0
mirror of https://github.com/apache/maven.git synced 2025-03-08 01:30:33 +00:00

roll back r332220 as it broke it0063

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@332234 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Brett Leslie Porter 2005-11-10 06:35:25 +00:00
parent 03d12b26be
commit 47788f3930

@ -231,67 +231,46 @@ else if ( currentRange == null )
{ {
if ( artifact.getVersion() == null ) if ( artifact.getVersion() == null )
{ {
if ( Artifact.SCOPE_SYSTEM.equals( artifact.getScope() ) ) // set the recommended version
// TODO: maybe its better to just pass the range through to retrieval and use a transformation?
ArtifactVersion version;
if ( !artifact.isSelectedVersionKnown() )
{ {
String selectedVersion = "unknown"; List versions = artifact.getAvailableVersions();
VersionRange versionRange = artifact.getVersionRange(); if ( versions == null )
if ( versionRange != null )
{ {
ArtifactVersion version = ( versionRange != null ) ? ( versionRange.getRecommendedVersion() ) : null; versions = source.retrieveAvailableVersions( artifact, localRepository,
remoteRepositories );
if ( version != null ) artifact.setAvailableVersions( versions );
}
VersionRange versionRange = artifact.getVersionRange();
version = versionRange.matchVersion( versions );
if ( version == null )
{
if ( versions.isEmpty() )
{ {
selectedVersion = version.toString(); throw new OverConstrainedVersionException(
"No versions are present in the repository for the artifact with a range " +
versionRange, artifact, remoteRepositories );
}
else
{
throw new OverConstrainedVersionException( "Couldn't find a version in " +
versions + " to match range " + versionRange, artifact,
remoteRepositories );
} }
} }
artifact.selectVersion( selectedVersion );
} }
else else
{ {
// set the recommended version version = artifact.getSelectedVersion();
// TODO: maybe its better to just pass the range through to retrieval and use a transformation?
ArtifactVersion version;
if ( !artifact.isSelectedVersionKnown() )
{
List versions = artifact.getAvailableVersions();
if ( versions == null )
{
versions = source.retrieveAvailableVersions( artifact, localRepository,
remoteRepositories );
artifact.setAvailableVersions( versions );
}
VersionRange versionRange = artifact.getVersionRange();
version = versionRange.matchVersion( versions );
if ( version == null )
{
if ( versions.isEmpty() )
{
throw new OverConstrainedVersionException(
"No versions are present in the repository for the artifact with a range "
+ versionRange, artifact,
remoteRepositories );
}
else
{
throw new OverConstrainedVersionException( "Couldn't find a version in "
+ versions + " to match range " + versionRange, artifact,
remoteRepositories );
}
}
}
else
{
version = artifact.getSelectedVersion();
}
artifact.selectVersion( version.toString() );
fireEvent( ResolutionListener.SELECT_VERSION_FROM_RANGE, listeners, child );
} }
artifact.selectVersion( version.toString() );
fireEvent( ResolutionListener.SELECT_VERSION_FROM_RANGE, listeners, child );
} }
ResolutionGroup rGroup = source.retrieve( artifact, localRepository, remoteRepositories ); ResolutionGroup rGroup = source.retrieve( artifact, localRepository, remoteRepositories );
@ -321,12 +300,8 @@ else if ( currentRange == null )
e ); e );
} }
// don't pull in the transitive deps of a system-scoped dependency. recurse( child, resolvedArtifacts, managedVersions, localRepository, remoteRepositories, source,
if ( !Artifact.SCOPE_SYSTEM.equals( artifact.getScope() ) ) filter, listeners );
{
recurse( child, resolvedArtifacts, managedVersions, localRepository, remoteRepositories,
source, filter, listeners );
}
} }
} }