You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by jd...@apache.org on 2005/07/15 21:04:22 UTC
svn commit: r219234 - in /maven/components/trunk:
maven-artifact/src/main/java/org/apache/maven/artifact/
maven-mboot2/src/main/java/ maven-plugin-descriptor/
maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/
maven-project/src/m...
Author: jdcasey
Date: Fri Jul 15 12:04:20 2005
New Revision: 219234
URL: http://svn.apache.org/viewcvs?rev=219234&view=rev
Log:
Resolving: MNG-482
To use the new artifact map for either the project or the current plugin from your mojo, simply use one of the following expressions:
${plugin.artifactMap}
${project.artifactMap}
The artifacts in these maps are keyed using org.apache.maven.artifact.ArtifactUtils.versionlessKey( String groupId, String artifactId ) (found in the maven-artifact project).
Added:
maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/ArtifactUtils.java (with props)
Modified:
maven/components/trunk/maven-mboot2/src/main/java/MBoot.java
maven/components/trunk/maven-plugin-descriptor/pom.xml
maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
Added: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/ArtifactUtils.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/ArtifactUtils.java?rev=219234&view=auto
==============================================================================
--- maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/ArtifactUtils.java (added)
+++ maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/ArtifactUtils.java Fri Jul 15 12:04:20 2005
@@ -0,0 +1,40 @@
+package org.apache.maven.artifact;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+public final class ArtifactUtils
+{
+
+ private ArtifactUtils()
+ {
+ }
+
+ public static String versionlessKey( Artifact artifact )
+ {
+ return versionlessKey( artifact.getGroupId(), artifact.getArtifactId() );
+ }
+
+ public static String versionlessKey( String groupId, String artifactId )
+ {
+ return groupId + ":" + artifactId;
+ }
+
+ public static Map artifactMap( Collection artifacts )
+ {
+ Map artifactMap = new HashMap();
+
+ for ( Iterator it = artifacts.iterator(); it.hasNext(); )
+ {
+ Artifact artifact = (Artifact) it.next();
+
+ artifactMap.put( versionlessKey( artifact ), artifact );
+ }
+
+ return artifactMap;
+ }
+
+}
Propchange: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/ArtifactUtils.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/ArtifactUtils.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/components/trunk/maven-mboot2/src/main/java/MBoot.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-mboot2/src/main/java/MBoot.java?rev=219234&r1=219233&r2=219234&view=diff
==============================================================================
--- maven/components/trunk/maven-mboot2/src/main/java/MBoot.java (original)
+++ maven/components/trunk/maven-mboot2/src/main/java/MBoot.java Fri Jul 15 12:04:20 2005
@@ -38,7 +38,7 @@
public class MBoot
{
String[] builds = new String[]{"maven-model", "maven-settings", "maven-monitor", "maven-plugin-api",
- "maven-plugin-descriptor", "maven-artifact", "maven-artifact-manager", "maven-artifact-test",
+ "maven-artifact", "maven-plugin-descriptor", "maven-artifact-manager", "maven-artifact-test",
"maven-plugin-mapping",
"maven-script/maven-script-beanshell", "maven-script/maven-script-marmalade", "maven-project", "maven-profile",
"maven-plugin-registry", "maven-reporting/maven-reporting-api", "maven-core", "maven-archiver",
Modified: maven/components/trunk/maven-plugin-descriptor/pom.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-descriptor/pom.xml?rev=219234&r1=219233&r2=219234&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-descriptor/pom.xml (original)
+++ maven/components/trunk/maven-plugin-descriptor/pom.xml Fri Jul 15 12:04:20 2005
@@ -16,6 +16,11 @@
<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>plexus</groupId>
<artifactId>plexus-container-default</artifactId>
<version>1.0-alpha-4</version>
Modified: maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java?rev=219234&r1=219233&r2=219234&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java (original)
+++ maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java Fri Jul 15 12:04:20 2005
@@ -20,6 +20,8 @@
import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import org.codehaus.classworlds.ClassRealm;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.ArtifactUtils;
import org.apache.maven.plugin.lifecycle.LifecycleConfiguration;
import org.apache.maven.plugin.lifecycle.Lifecycle;
import org.apache.maven.plugin.lifecycle.io.xpp3.LifecycleMappingsXpp3Reader;
@@ -60,6 +62,9 @@
private ClassRealm classRealm;
+ // calculated on-demand.
+ private Map artifactMap;
+
// ----------------------------------------------------------------------
//
// ----------------------------------------------------------------------
@@ -216,6 +221,19 @@
public void setArtifacts( List artifacts )
{
this.artifacts = artifacts;
+
+ // clear the calculated artifactMap
+ artifactMap = null;
+ }
+
+ public Map getArtifactMap()
+ {
+ if ( artifactMap == null )
+ {
+ artifactMap = ArtifactUtils.artifactMap( getArtifacts() );
+ }
+
+ return artifactMap;
}
public boolean equals( Object object )
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java?rev=219234&r1=219233&r2=219234&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java Fri Jul 15 12:04:20 2005
@@ -17,6 +17,7 @@
*/
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.ArtifactUtils;
import org.apache.maven.artifact.DependencyResolutionRequiredException;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.model.Build;
@@ -49,6 +50,7 @@
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
+import java.util.Map;
import java.util.Properties;
import java.util.Set;
@@ -105,6 +107,9 @@
private Artifact artifact;
+ // calculated.
+ private Map artifactMap;
+
public MavenProject( Model model )
{
this.model = model;
@@ -782,11 +787,24 @@
public void setArtifacts( Set artifacts )
{
this.artifacts = artifacts;
+
+ // flush the calculated artifactMap
+ artifactMap = null;
}
public Set getArtifacts()
{
return artifacts;
+ }
+
+ public Map getArtifactMap()
+ {
+ if ( artifactMap == null )
+ {
+ artifactMap = ArtifactUtils.artifactMap( getArtifacts() );
+ }
+
+ return artifactMap;
}
public void setPluginArtifacts( Set pluginArtifacts )
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org