You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by pg...@apache.org on 2009/11/25 20:15:18 UTC

svn commit: r884230 - in /maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant: AbstractArtifactTask.java DependenciesTask.java Pom.java

Author: pgier
Date: Wed Nov 25 19:15:17 2009
New Revision: 884230

URL: http://svn.apache.org/viewvc?rev=884230&view=rev
Log:
Adding some comments and minor refactoring.

Modified:
    maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java
    maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
    maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/Pom.java

Modified: maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java
URL: http://svn.apache.org/viewvc/maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java?rev=884230&r1=884229&r2=884230&view=diff
==============================================================================
--- maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java (original)
+++ maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java Wed Nov 25 19:15:17 2009
@@ -46,7 +46,6 @@
 import org.apache.maven.project.DefaultProjectBuilderConfiguration;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectBuilder;
-import org.apache.maven.project.ProjectBuilderConfiguration;
 import org.apache.maven.project.ProjectBuildingException;
 import org.apache.maven.settings.Mirror;
 import org.apache.maven.settings.RuntimeInfo;
@@ -58,6 +57,7 @@
 import org.apache.maven.usability.diagnostics.ErrorDiagnostics;
 import org.apache.maven.wagon.Wagon;
 import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.BuildListener;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.Task;
 import org.apache.tools.ant.taskdefs.Execute;
@@ -68,11 +68,11 @@
 import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
 import org.codehaus.plexus.embed.Embedder;
+import org.codehaus.plexus.interpolation.EnvarBasedValueSource;
+import org.codehaus.plexus.interpolation.RegexBasedInterpolator;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.ReaderFactory;
 import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.interpolation.EnvarBasedValueSource;
-import org.codehaus.plexus.interpolation.RegexBasedInterpolator;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
 /**
@@ -526,7 +526,7 @@
         if ( pom != null )
         {
             MavenProjectBuilder projectBuilder = (MavenProjectBuilder) lookup( MavenProjectBuilder.ROLE );
-            pom.initialise( projectBuilder, localArtifactRepository );
+            pom.initialiseMavenProject( projectBuilder, localArtifactRepository );
         }
         
         return pom;
@@ -631,9 +631,11 @@
      */
     public Pom getPom()
     {
-        if ( pom != null && getPomRefId() != null )
+        Pom thePom = this.pom;
+        
+        if ( thePom != null && getPomRefId() != null )
         {
-            throw new BuildException( "You cannot specify both a POM element and a pomrefid element" );
+            throw new BuildException( "You cannot specify both a nested \"pom\" element and a \"pomrefid\" attribute" );
         }
 
         if ( getPomRefId() != null )
@@ -641,7 +643,7 @@
             Object pomRefObj = getProject().getReference( getPomRefId() );
             if ( pomRefObj instanceof Pom )
             {
-                pom = (Pom) pomRefObj;
+                thePom = (Pom) pomRefObj;
             }
             else
             {
@@ -649,9 +651,9 @@
             }
         }
         
-        return pom;
+        return thePom;
     }
-
+    
     public String getPomRefId()
     {
         return pomRefId;
@@ -706,6 +708,9 @@
     /** @noinspection RefusedBequest */
     public void execute()
     {
+        // Display the version if the log level is verbose
+        showVersion();
+        
         ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
         try
         {
@@ -853,14 +858,18 @@
         }
     }
 
+    /**
+     * Log the current version of the ant-tasks to the verbose output.
+     */
     protected void showVersion()
     {
-        InputStream resourceAsStream;
+        
+        Properties properties = new Properties();
+        final String antTasksPropertiesPath = "META-INF/maven/org.apache.maven/maven-ant-tasks/pom.properties";
+        InputStream resourceAsStream = AbstractArtifactTask.class.getClassLoader().getResourceAsStream( antTasksPropertiesPath );
+        
         try
         {
-            Properties properties = new Properties();
-            resourceAsStream = AbstractArtifactTask.class.getClassLoader().getResourceAsStream(
-                "META-INF/maven/org.apache.maven/maven-ant-tasks/pom.properties" );
             if ( resourceAsStream != null )
             {
                 properties.load( resourceAsStream );

Modified: maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
URL: http://svn.apache.org/viewvc/maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java?rev=884230&r1=884229&r2=884230&view=diff
==============================================================================
--- maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java (original)
+++ maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java Wed Nov 25 19:15:17 2009
@@ -132,14 +132,18 @@
      */
     protected void doExecute()
     {
-        showVersion();
         
         if ( useScope != null && scopes != null )
         {
             throw new BuildException( "You cannot specify both useScope and scopes in the dependencies task." );
         }
+                
+        if ( getPom() != null && !this.dependencies.isEmpty() )
+        {
+            throw new BuildException( "You cannot specify both dependencies and a pom in the dependencies task" );
+        }
         
-        // Try to load dependency refs from Ant
+        // Try to load dependency refs from an exsiting Ant cache file
         if ( isCacheDependencyRefs() )
         {
             if ( getDependencyRefsBuildFile() == null )
@@ -156,20 +160,14 @@
         ArtifactRepository localRepo = createLocalArtifactRepository();
         log( "Using local repository: " + localRepo.getBasedir(), Project.MSG_VERBOSE );
 
+        // Look up required resources from the plexus container
         ArtifactResolver resolver = (ArtifactResolver) lookup( ArtifactResolver.ROLE );
         ArtifactFactory artifactFactory = (ArtifactFactory) lookup( ArtifactFactory.ROLE );
         MavenMetadataSource metadataSource = (MavenMetadataSource) lookup( ArtifactMetadataSource.ROLE );
 
-        List dependencies = this.dependencies;
-
         Pom pom = initializePom( localRepo );
         if ( pom != null )
         {
-            if ( !dependencies.isEmpty() )
-            {
-                throw new BuildException( "You cannot specify both dependencies and a pom in the dependencies task" );
-            }
-
             dependencies = pom.getDependencies();
         }
         else

Modified: maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/Pom.java
URL: http://svn.apache.org/viewvc/maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/Pom.java?rev=884230&r1=884229&r2=884230&view=diff
==============================================================================
--- maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/Pom.java (original)
+++ maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/Pom.java Wed Nov 25 19:15:17 2009
@@ -67,20 +67,35 @@
 public class Pom
     extends AbstractArtifactWithRepositoryTask
 {
+    /**
+     * The id refering to an existing pom object in the current Ant project.
+     */
     private String refid;
 
+    /**
+     * The id of this pom object to be stored in the current Ant project.
+     */
     private String antId;
 
+    /**
+     * The maven project represented by this pom
+     */
     private MavenProject mavenProject;
 
+    /**
+     * The file from which the pom was loaded.
+     */
     private File file;
 
+    /**
+     * The list of profiles to either activate or deactivate for this pom.
+     */
     private List profiles = new ArrayList();
 
     private boolean inheritAllProperties = true;
 
     /**
-     * The property interceptor.
+     * The property intercepter.
      */
     private final POMPropertyHelper helper = new POMPropertyHelper();
 
@@ -181,7 +196,7 @@
         return getMavenProject().getAttachedArtifacts();
     }
 
-    void initialise( MavenProjectBuilder builder, ArtifactRepository localRepository )
+    public void initialiseMavenProject( MavenProjectBuilder builder, ArtifactRepository localRepository )
     {
         if ( file != null )
         {
@@ -200,10 +215,6 @@
         {
             this.getPomFromAntProject( refid );
         }
-        else
-        {
-            throw new BuildException( "POM type requires configuration of either 'file' or 'refid'." );
-        }
     }
 
     protected MavenProject getMavenProject()
@@ -356,7 +367,7 @@
         }
         ArtifactRepository localRepo = createLocalArtifactRepository();
         MavenProjectBuilder projectBuilder = (MavenProjectBuilder) lookup( MavenProjectBuilder.ROLE );
-        initialise( projectBuilder, localRepo );
+        initialiseMavenProject( projectBuilder, localRepo );
 
         Project antProject = getProject();