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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]