Author: jdcasey
Date: Mon Jul 25 22:54:24 2005
New Revision: 225234
URL: http://svn.apache.org/viewcvs?rev=225234&view=rev
Log:
o Fixing resolution of LATEST in plugin-versions, when <useLatest/> is enabled
in plugin-registry.xml, or when --check-plugin-latest is specified on the
command line.
o Fixing core-library resolution for expression: ${plugin.artifacts} and
${plugin.artifactMap} (latter is keyed by g:a)
o Modified maven-core-it-plugin to accept something like
"-DartifactToFile=org.apache.maven:maven-artifact"...it'll lookup that artifact
in ${plugin.artifactMap}, and touch a file that's a mutation of the abs. path
for that artifact.
o Added pomArtifact to ResolutionGroup, since the MavenMetadataSource ALWAYS
creates a new Artifact for a pom...this allows us to retrieve the resolved
Artifact for that pom.
Modified:
maven/components/trunk/maven-artifact-manager/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ResolutionGroup.java
maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java
maven/components/trunk/maven-core-it-plugin/pom.xml
maven/components/trunk/maven-core-it-plugin/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java
maven/components/trunk/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java
Modified:
maven/components/trunk/maven-artifact-manager/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-manager/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java?rev=225234&r1=225233&r2=225234&view=diff
==============================================================================
---
maven/components/trunk/maven-artifact-manager/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
(original)
+++
maven/components/trunk/maven-artifact-manager/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
Mon Jul 25 22:54:24 2005
@@ -115,7 +115,7 @@
}
}
- return new ResolutionGroup( dependencies, remoteRepositories );
+ return new ResolutionGroup( artifact, dependencies,
remoteRepositories );
}
};
@@ -162,7 +162,7 @@
}
}
- return new ResolutionGroup( dependencies, remoteRepositories );
+ return new ResolutionGroup( artifact, dependencies,
remoteRepositories );
}
};
Modified:
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ResolutionGroup.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ResolutionGroup.java?rev=225234&r1=225233&r2=225234&view=diff
==============================================================================
---
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ResolutionGroup.java
(original)
+++
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/metadata/ResolutionGroup.java
Mon Jul 25 22:54:24 2005
@@ -1,5 +1,7 @@
package org.apache.maven.artifact.metadata;
+import org.apache.maven.artifact.Artifact;
+
import java.util.List;
import java.util.Set;
@@ -8,11 +10,18 @@
private final Set artifacts;
private final List resolutionRepositories;
+ private final Artifact pomArtifact;
- public ResolutionGroup( Set artifacts, List resolutionRepositories )
+ public ResolutionGroup( Artifact pomArtifact, Set artifacts, List
resolutionRepositories )
{
+ this.pomArtifact = pomArtifact;
this.artifacts = artifacts;
this.resolutionRepositories = resolutionRepositories;
+ }
+
+ public Artifact getPomArtifact()
+ {
+ return pomArtifact;
}
public Set getArtifacts()
Modified:
maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java?rev=225234&r1=225233&r2=225234&view=diff
==============================================================================
---
maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java
(original)
+++
maven/components/trunk/maven-artifact/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactCollectorTest.java
Mon Jul 25 22:54:24 2005
@@ -419,7 +419,7 @@
ArtifactSpec a = (ArtifactSpec) artifacts.get( key );
try
{
- return new ResolutionGroup( createArtifacts( artifactFactory,
a.dependencies, artifact.getScope(),
+ return new ResolutionGroup( artifact, createArtifacts(
artifactFactory, a.dependencies, artifact.getScope(),
artifact.getDependencyFilter() ), Collections.EMPTY_LIST );
}
catch ( InvalidVersionSpecificationException e )
Modified: maven/components/trunk/maven-core-it-plugin/pom.xml
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it-plugin/pom.xml?rev=225234&r1=225233&r2=225234&view=diff
==============================================================================
--- maven/components/trunk/maven-core-it-plugin/pom.xml (original)
+++ maven/components/trunk/maven-core-it-plugin/pom.xml Mon Jul 25 22:54:24 2005
@@ -17,5 +17,15 @@
<artifactId>maven-project</artifactId>
<version>2.0-beta-1-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0-beta-1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>jline</groupId>
+ <artifactId>jline</artifactId>
+ <version>0.9.1</version>
+ </dependency>
</dependencies>
</model>
Modified:
maven/components/trunk/maven-core-it-plugin/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it-plugin/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java?rev=225234&r1=225233&r2=225234&view=diff
==============================================================================
---
maven/components/trunk/maven-core-it-plugin/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java
(original)
+++
maven/components/trunk/maven-core-it-plugin/src/main/java/org/apache/maven/plugin/coreit/CoreItMojo.java
Mon Jul 25 22:54:24 2005
@@ -16,14 +16,15 @@
* limitations under the License.
*/
+import org.apache.maven.artifact.Artifact;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.project.MavenProject;
-import java.io.IOException;
import java.io.File;
import java.io.FileWriter;
-import java.util.List;
+import java.io.IOException;
+import java.util.Map;
/**
* @goal touch
@@ -47,10 +48,10 @@
private String outputDirectory;
/** Test setting of plugin-artifacts on the PluginDescriptor instance.
- * @parameter expression="${plugin.artifacts}"
+ * @parameter expression="${plugin.artifactMap}"
* @required
*/
- private List pluginArtifacts;
+ private Map pluginArtifacts;
/**
* @parameter expression="target/test-basedir-alignment"
@@ -66,6 +67,11 @@
* @parameter
*/
private String goalItem = "bar";
+
+ /**
+ * @parameter expression="${artifactToFile}"
+ */
+ private String artifactToFile;
public void execute()
throws MojoExecutionException
@@ -81,16 +87,29 @@
}
touch( basedirAlignmentDirectory, "touch.txt" );
+
+ File outDir = new File( outputDirectory );
// Test parameter setting
if ( pluginItem != null )
{
- touch( new File( outputDirectory ), pluginItem );
+ touch( outDir, pluginItem );
}
if ( goalItem != null )
{
- touch( new File( outputDirectory ), goalItem );
+ touch( outDir, goalItem );
+ }
+
+ if ( artifactToFile != null )
+ {
+ Artifact artifact = (Artifact) pluginArtifacts.get( artifactToFile
);
+
+ File artifactFile = artifact.getFile();
+
+ String filename = artifactFile.getAbsolutePath().replace('/',
'_').replace(':', '_') + ".txt";
+
+ touch( outDir, filename );
}
project.getBuild().setFinalName( "coreitified" );
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java?rev=225234&r1=225233&r2=225234&view=diff
==============================================================================
---
maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
(original)
+++
maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
Mon Jul 25 22:54:24 2005
@@ -493,17 +493,17 @@
public static final char ACTIVATE_PROFILES = 'P';
- public static final String FORCE_PLUGIN_UPDATES =
"check-plugin-updates";
+ public static final String FORCE_PLUGIN_UPDATES = "cpu";
- public static final String FORCE_PLUGIN_UPDATES2 = "update-plugins";
+ public static final String FORCE_PLUGIN_UPDATES2 = "up";
- public static final String SUPPRESS_PLUGIN_UPDATES =
"no-plugin-updates";
+ public static final String SUPPRESS_PLUGIN_UPDATES = "npu";
- public static final String SUPPRESS_PLUGIN_REGISTRY =
"no-plugin-registry";
+ public static final String SUPPRESS_PLUGIN_REGISTRY = "npr";
- public static final String FORCE_PLUGIN_LATEST_CHECK =
"check-plugin-latest";
+ public static final String FORCE_PLUGIN_LATEST_CHECK = "cpl";
- public static final String SUPPRESS_PLUGIN_LATEST_CHECK =
"no-plugin-latest";
+ public static final String SUPPRESS_PLUGIN_LATEST_CHECK = "npl";
public static final char CHECKSUM_FAILURE_POLICY = 'C';
@@ -545,19 +545,19 @@
options.addOption( OptionBuilder.withLongOpt( "batch-mode"
).withDescription(
"Run in non-interactive (batch) mode" ).create( BATCH_MODE ) );
- options.addOption( OptionBuilder.withLongOpt( FORCE_PLUGIN_UPDATES
).withDescription(
- "Force upToDate check for any relevant registered plugins"
).create( "cpu" ) );
- options.addOption( OptionBuilder.withLongOpt(
FORCE_PLUGIN_UPDATES2 ).withDescription(
- "Synonym for " + FORCE_PLUGIN_UPDATES ).create( "up" ) );
- options.addOption( OptionBuilder.withLongOpt(
SUPPRESS_PLUGIN_UPDATES ).withDescription(
- "Suppress upToDate check for any relevant registered plugins"
).create( "npu" ) );
- options.addOption( OptionBuilder.withLongOpt(
FORCE_PLUGIN_LATEST_CHECK ).withDescription(
- "Force checking of LATEST metadata for plugin versions"
).create( "cpl" ) );
- options.addOption( OptionBuilder.withLongOpt(
SUPPRESS_PLUGIN_LATEST_CHECK ).withDescription(
- "Suppress checking of LATEST metadata for plugin versions"
).create( "npl" ) );
+ options.addOption( OptionBuilder.withLongOpt(
"check-plugin-updates" ).withDescription(
+ "Force upToDate check for any relevant registered plugins"
).create( FORCE_PLUGIN_UPDATES ) );
+ options.addOption( OptionBuilder.withLongOpt( "update-plugins"
).withDescription(
+ "Synonym for " + FORCE_PLUGIN_UPDATES ).create(
FORCE_PLUGIN_UPDATES2 ) );
+ options.addOption( OptionBuilder.withLongOpt( "no-plugin-updates"
).withDescription(
+ "Suppress upToDate check for any relevant registered plugins"
).create( SUPPRESS_PLUGIN_UPDATES ) );
+ options.addOption( OptionBuilder.withLongOpt(
"check-plugin-latest" ).withDescription(
+ "Force checking of LATEST metadata for plugin versions"
).create( FORCE_PLUGIN_LATEST_CHECK ) );
+ options.addOption( OptionBuilder.withLongOpt( "no-plugin-latest"
).withDescription(
+ "Suppress checking of LATEST metadata for plugin versions"
).create( SUPPRESS_PLUGIN_LATEST_CHECK ) );
- options.addOption( OptionBuilder.withLongOpt(
SUPPRESS_PLUGIN_REGISTRY ).withDescription(
- "Don't use ~/.m2/plugin-registry.xml for plugin versions"
).create( "npr" ) );
+ options.addOption( OptionBuilder.withLongOpt( "no-plugin-registry"
).withDescription(
+ "Don't use ~/.m2/plugin-registry.xml for plugin versions"
).create( SUPPRESS_PLUGIN_REGISTRY ) );
options.addOption( OptionBuilder.withLongOpt( "strict-checksums"
).withDescription(
"Fail the build if checksums don't match" ).create(
CHECKSUM_FAILURE_POLICY ) );
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=225234&r1=225233&r2=225234&view=diff
==============================================================================
---
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
(original)
+++
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
Mon Jul 25 22:54:24 2005
@@ -623,6 +623,11 @@
else
{
String artifactPath = resourceUrl.getPath();
+
+ if ( artifactPath.startsWith( "file:" ) )
+ {
+ artifactPath = artifactPath.substring(
"file:".length() );
+ }
artifactPath = artifactPath.substring( 0,
artifactPath.length() - resource.length() );
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java?rev=225234&r1=225233&r2=225234&view=diff
==============================================================================
---
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java
(original)
+++
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java
Mon Jul 25 22:54:24 2005
@@ -20,8 +20,8 @@
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
+import org.apache.maven.artifact.metadata.ResolutionGroup;
import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.transform.LatestArtifactTransformation;
import org.apache.maven.artifact.transform.ReleaseArtifactTransformation;
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
import org.apache.maven.execution.RuntimeInformation;
@@ -149,7 +149,7 @@
Boolean rtCheckLatest = settingsRTInfo.getCheckLatestPluginVersion();
boolean checkLatestMetadata = Boolean.TRUE.equals( rtCheckLatest ) ||
- ( !Boolean.FALSE.equals( rtCheckLatest ) && Boolean.valueOf(
getPluginRegistry( groupId, artifactId).getCheckLatest() )
+ ( !Boolean.FALSE.equals( rtCheckLatest ) && Boolean.valueOf(
getPluginRegistry( groupId, artifactId ).getCheckLatest() )
.booleanValue() );
// third pass...if we're checking for latest install/deploy, retrieve
the version for LATEST metadata and also
@@ -622,32 +622,42 @@
Artifact artifact = artifactFactory.createProjectArtifact( groupId,
artifactId, metaVersionId );
String version = null;
+
try
{
- artifactMetadataSource.retrieve( artifact, localRepository,
remoteRepositories );
-
- MavenProject project = mavenProjectBuilder.buildFromRepository(
artifact, remoteRepositories,
-
localRepository );
-
- boolean pluginValid = true;
+ ResolutionGroup resolutionGroup = artifactMetadataSource.retrieve(
artifact, localRepository, remoteRepositories );
+
+ // switching this out with the actual resolved artifact instance,
since the MMSource re-creates the pom
+ // artifact.
+ artifact = resolutionGroup.getPomArtifact();
+
+ // make sure this artifact was actually resolved to a file in the
repo...
+ if ( artifact.getFile() != null )
+ {
+ MavenProject project =
mavenProjectBuilder.buildFromRepository( artifact, remoteRepositories,
+
localRepository );
+
+ boolean pluginValid = true;
+
+ // if we don't have the required Maven version, then ignore an
update
+ if ( project.getPrerequesites() != null &&
project.getPrerequesites().getMaven() != null )
+ {
+ DefaultArtifactVersion requiredVersion = new
DefaultArtifactVersion(
+ project.getPrerequesites().getMaven() );
+
+ if ( runtimeInformation.getApplicationVersion().compareTo(
requiredVersion ) < 0 )
+ {
+ getLogger().info( "Ignoring available plugin update: "
+ artifact.getVersion() +
+ " as it requires Maven version " + requiredVersion
);
+ pluginValid = false;
+ }
+ }
- // if we don't have the required Maven version, then ignore an
update
- if ( project.getPrerequesites() != null &&
project.getPrerequesites().getMaven() != null )
- {
- DefaultArtifactVersion requiredVersion = new
DefaultArtifactVersion(
- project.getPrerequesites().getMaven() );
- if ( runtimeInformation.getApplicationVersion().compareTo(
requiredVersion ) < 0 )
+ if ( pluginValid )
{
- getLogger().info( "Ignoring available plugin update: " +
artifact.getVersion() +
- " as it requires Maven version " + requiredVersion );
- pluginValid = false;
+ version = artifact.getVersion();
}
}
-
- if ( pluginValid )
- {
- version = artifact.getVersion();
- }
}
catch ( ArtifactMetadataRetrievalException e )
{
@@ -663,6 +673,7 @@
throw new PluginVersionResolutionException( groupId, artifactId,
"Unable to determine
Maven version for comparison", e );
}
+
return version;
}
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java?rev=225234&r1=225233&r2=225234&view=diff
==============================================================================
---
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
(original)
+++
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
Mon Jul 25 22:54:24 2005
@@ -130,7 +130,7 @@
Set artifacts = createArtifacts( artifactFactory,
p.getDependencies(), artifact.getScope(),
artifact.getDependencyFilter() );
- return new ResolutionGroup( artifacts,
p.getRemoteArtifactRepositories() );
+ return new ResolutionGroup( pomArtifact, artifacts,
p.getRemoteArtifactRepositories() );
}
catch ( InvalidVersionSpecificationException e )
{
Modified:
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java?rev=225234&r1=225233&r2=225234&view=diff
==============================================================================
---
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java
(original)
+++
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/TestArtifactResolver.java
Mon Jul 25 22:54:24 2005
@@ -132,7 +132,7 @@
throw new ArtifactMetadataRetrievalException( e );
}
- return new ResolutionGroup( artifacts, artifactRepositories );
+ return new ResolutionGroup( artifact, artifacts,
artifactRepositories );
}
protected Set createArtifacts( List dependencies, String
inheritedScope )
Modified:
maven/components/trunk/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java?rev=225234&r1=225233&r2=225234&view=diff
==============================================================================
---
maven/components/trunk/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java
(original)
+++
maven/components/trunk/maven-settings/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java
Mon Jul 25 22:54:24 2005
@@ -52,6 +52,8 @@
private File userSettingsFile;
private File globalSettingsFile;
+
+ private Settings loadedSettings;
// ----------------------------------------------------------------------
// Component Lifecycle
@@ -106,20 +108,25 @@
public Settings buildSettings()
throws IOException, XmlPullParserException
{
- Settings globalSettings = readSettings( globalSettingsFile );
- Settings userSettings = readSettings( userSettingsFile );
-
- if ( userSettings == null )
+ if ( loadedSettings == null )
{
- userSettings = new Settings();
- userSettings.setRuntimeInfo( new RuntimeInfo( userSettings ) );
- }
+ Settings globalSettings = readSettings( globalSettingsFile );
+ Settings userSettings = readSettings( userSettingsFile );
+
+ if ( userSettings == null )
+ {
+ userSettings = new Settings();
+ userSettings.setRuntimeInfo( new RuntimeInfo( userSettings ) );
+ }
- SettingsUtils.merge( userSettings, globalSettings,
TrackableBase.GLOBAL_LEVEL );
+ SettingsUtils.merge( userSettings, globalSettings,
TrackableBase.GLOBAL_LEVEL );
- setLocalRepository( userSettings );
+ setLocalRepository( userSettings );
+
+ loadedSettings = userSettings;
+ }
- return userSettings;
+ return loadedSettings;
}
private void setLocalRepository( Settings userSettings )
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]