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();