You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2005/06/08 05:08:20 UTC
svn commit: r189505 - in /maven/components/trunk/maven-artifact-ant: ./
src/main/java/org/apache/maven/artifact/ant/
src/main/resources/org/apache/maven/artifact/ant/
Author: brett
Date: Tue Jun 7 20:08:20 2005
New Revision: 189505
URL: http://svn.apache.org/viewcvs?rev=189505&view=rev
Log:
PR: MNG-435
add a <artifact:setProperty property|ref="..." expression="project.*" pomRefId="..." /> tag for exposing the pom as variables
Modified:
maven/components/trunk/maven-artifact-ant/pom.xml
maven/components/trunk/maven-artifact-ant/sample.build.xml
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DeployTask.java
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/InstallTask.java
maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/Pom.java
maven/components/trunk/maven-artifact-ant/src/main/resources/org/apache/maven/artifact/ant/antlib.xml
Modified: maven/components/trunk/maven-artifact-ant/pom.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/pom.xml?rev=189505&r1=189504&r2=189505&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-ant/pom.xml (original)
+++ maven/components/trunk/maven-artifact-ant/pom.xml Tue Jun 7 20:08:20 2005
@@ -1,4 +1,4 @@
-<model>
+<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.maven</groupId>
@@ -74,4 +74,4 @@
</plugin>
</plugins>
</build>
-</model>
+</project>
Modified: maven/components/trunk/maven-artifact-ant/sample.build.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/sample.build.xml?rev=189505&r1=189504&r2=189505&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-ant/sample.build.xml (original)
+++ maven/components/trunk/maven-artifact-ant/sample.build.xml Tue Jun 7 20:08:20 2005
@@ -1,10 +1,15 @@
<project name="foo" xmlns:artifact="antlib:org.apache.maven.artifact.ant" default="foo">
- <target name="foo">
- <!--
- TODO...
- - read .m2/settings.xml
- -->
+ <target name="test-pom">
+ <artifact:pom file="pom.xml" id="my.maven.project"/>
+
+ <artifact:setProperty property="my.artifactid" expression="project.artifactId" pomRefId="my.maven.project" />
+ <echo>Artifact ID = ${my.artifactid}</echo>
+ <artifact:setProperty property="my.parent.artifactid" expression="project.parent.artifactId" pomRefId="my.maven.project" />
+ <echo>Artifact ID = ${my.parent.artifactid}</echo>
+ </target>
+
+ <target name="foo">
<artifact:localRepository id="local.repository" location="${basedir}/target/local-repo" layout="default"/>
<artifact:remoteRepository id="deploy.repository" url="file://${basedir}/target/deployment-repo" layout="legacy"/>
Modified: maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java?rev=189505&r1=189504&r2=189505&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java (original)
+++ maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java Tue Jun 7 20:08:20 2005
@@ -19,10 +19,11 @@
import org.apache.maven.artifact.manager.WagonManager;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.settings.Mirror;
import org.apache.maven.settings.Server;
import org.apache.maven.settings.Settings;
-import org.apache.maven.settings.Mirror;
import org.apache.maven.settings.io.xpp3.SettingsXpp3Reader;
+import org.apache.maven.project.MavenProjectBuilder;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.Task;
@@ -46,19 +47,30 @@
public abstract class AbstractArtifactTask
extends Task
{
+ private Settings settings;
+
private Embedder embedder;
- private Settings settings;
+ private Pom pom;
- protected ArtifactRepository createLocalArtifactRepository( LocalRepository repository )
+ private String pomRefId;
+
+ private LocalRepository localRepository;
+
+ protected ArtifactRepository createLocalArtifactRepository()
{
+ if ( localRepository == null )
+ {
+ localRepository = getDefaultLocalRepository();
+ }
+
ArtifactRepositoryLayout repositoryLayout = (ArtifactRepositoryLayout) lookup( ArtifactRepositoryLayout.ROLE,
- repository.getLayout() );
+ localRepository.getLayout() );
CustomWagonManager manager = (CustomWagonManager) lookup( WagonManager.ROLE );
- manager.setLocalRepository( repository.getLocation() );
+ manager.setLocalRepository( localRepository.getLocation() );
- return new ArtifactRepository( "local", "file://" + repository.getLocation(), repositoryLayout );
+ return new ArtifactRepository( "local", "file://" + localRepository.getLocation(), repositoryLayout );
}
protected ArtifactRepository createRemoteArtifactRepository( RemoteRepository repository )
@@ -95,53 +107,6 @@
return artifactRepository;
}
- protected Object lookup( String role )
- {
- try
- {
- return getEmbedder().lookup( role );
- }
- catch ( ComponentLookupException e )
- {
- throw new BuildException( "Unable to find component: " + role, e );
- }
- }
-
- private Object lookup( String role, String roleHint )
- {
- try
- {
- return getEmbedder().lookup( role, roleHint );
- }
- catch ( ComponentLookupException e )
- {
- throw new BuildException( "Unable to find component: " + role + "[" + roleHint + "]", e );
- }
- }
-
- private synchronized Embedder getEmbedder()
- {
- if ( embedder == null )
- {
- embedder = (Embedder) getProject().getReference( Embedder.class.getName() );
-
- if ( embedder == null )
- {
- embedder = new Embedder();
- try
- {
- embedder.start();
- }
- catch ( PlexusContainerException e )
- {
- throw new BuildException( "Unable to start embedder", e );
- }
- getProject().addReference( Embedder.class.getName(), embedder );
- }
- }
- return embedder;
- }
-
protected LocalRepository getDefaultLocalRepository()
{
Settings settings = getSettings();
@@ -225,5 +190,101 @@
r.setUrl( mirror.getUrl() );
return r;
+ }
+
+ protected Object lookup( String role )
+ {
+ try
+ {
+ return getEmbedder().lookup( role );
+ }
+ catch ( ComponentLookupException e )
+ {
+ throw new BuildException( "Unable to find component: " + role, e );
+ }
+ }
+
+ protected Object lookup( String role, String roleHint )
+ {
+ try
+ {
+ return getEmbedder().lookup( role, roleHint );
+ }
+ catch ( ComponentLookupException e )
+ {
+ throw new BuildException( "Unable to find component: " + role + "[" + roleHint + "]", e );
+ }
+ }
+
+ private synchronized Embedder getEmbedder()
+ {
+ if ( embedder == null )
+ {
+ embedder = (Embedder) getProject().getReference( Embedder.class.getName() );
+
+ if ( embedder == null )
+ {
+ embedder = new Embedder();
+ try
+ {
+ embedder.start();
+ }
+ catch ( PlexusContainerException e )
+ {
+ throw new BuildException( "Unable to start embedder", e );
+ }
+ getProject().addReference( Embedder.class.getName(), embedder );
+ }
+ }
+ return embedder;
+ }
+
+ public Pom buildPom( MavenProjectBuilder projectBuilder, ArtifactRepository localArtifactRepository )
+ {
+ if ( pomRefId != null && pom != null )
+ {
+ throw new BuildException( "You cannot specify both a POM element and a pomrefid element" );
+ }
+
+ Pom pom = this.pom;
+ if ( pomRefId != null )
+ {
+ pom = (Pom) getProject().getReference( pomRefId );
+ if ( pom == null )
+ {
+ throw new BuildException( "Reference '" + pomRefId + "' was not found." );
+ }
+ }
+
+ if ( pom != null )
+ {
+ pom.initialise( projectBuilder, localArtifactRepository );
+ }
+ return pom;
+ }
+
+ public void addPom( Pom pom )
+ {
+ this.pom = pom;
+ }
+
+ public String getPomRefId()
+ {
+ return pomRefId;
+ }
+
+ public void setPomRefId( String pomRefId )
+ {
+ this.pomRefId = pomRefId;
+ }
+
+ public LocalRepository getLocalRepository()
+ {
+ return localRepository;
+ }
+
+ public void addLocalRepository( LocalRepository localRepository )
+ {
+ this.localRepository = localRepository;
}
}
Modified: maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java?rev=189505&r1=189504&r2=189505&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java (original)
+++ maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java Tue Jun 7 20:08:20 2005
@@ -47,24 +47,15 @@
{
private List dependencies = new ArrayList();
- private LocalRepository localRepository;
-
private List remoteRepositories = new ArrayList();
private String pathId;
private String filesetId;
- private Pom pom;
-
public void execute()
{
- if ( localRepository == null )
- {
- localRepository = getDefaultLocalRepository();
- }
-
- ArtifactRepository localRepo = createLocalArtifactRepository( localRepository );
+ ArtifactRepository localRepo = createLocalArtifactRepository();
ArtifactResolver resolver = (ArtifactResolver) lookup( ArtifactResolver.ROLE );
MavenProjectBuilder projectBuilder = (MavenProjectBuilder) lookup( MavenProjectBuilder.ROLE );
@@ -72,6 +63,7 @@
List dependencies = this.dependencies;
+ Pom pom = buildPom( projectBuilder, localRepo );
if ( pom != null )
{
if ( !dependencies.isEmpty() )
@@ -79,8 +71,6 @@
throw new BuildException( "You cannot specify both dependencies and a pom in the dependencies task" );
}
- pom.initialise( projectBuilder, localRepo );
-
dependencies = pom.getDependencies();
for ( Iterator i = pom.getRepositories().iterator(); i.hasNext(); )
@@ -120,7 +110,7 @@
}
FileList fileList = new FileList();
- fileList.setDir( localRepository.getLocation() );
+ fileList.setDir( getLocalRepository().getLocation() );
FileSet fileSet = new FileSet();
fileSet.setDir( fileList.getDir( getProject() ) );
@@ -196,16 +186,6 @@
dependencies.add( dependency );
}
- public LocalRepository getLocalRepository()
- {
- return localRepository;
- }
-
- public void addLocalRepository( LocalRepository localRepository )
- {
- this.localRepository = localRepository;
- }
-
public String getPathId()
{
return pathId;
@@ -224,15 +204,5 @@
public void setFilesetId( String filesetId )
{
this.filesetId = filesetId;
- }
-
- public Pom getPom()
- {
- return pom;
- }
-
- public void addPom( Pom pom )
- {
- this.pom = pom;
}
}
Modified: maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DeployTask.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DeployTask.java?rev=189505&r1=189504&r2=189505&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DeployTask.java (original)
+++ maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/DeployTask.java Tue Jun 7 20:08:20 2005
@@ -37,29 +37,22 @@
public class DeployTask
extends AbstractArtifactTask
{
- private Pom pom;
-
- private LocalRepository localRepository;
-
private RemoteRepository remoteRepository;
private File file;
public void execute()
{
- if ( localRepository == null )
- {
- localRepository = getDefaultLocalRepository();
- }
+ ArtifactRepository localRepo = createLocalArtifactRepository();
+ MavenProjectBuilder builder = (MavenProjectBuilder) lookup( MavenProjectBuilder.ROLE );
+
+ Pom pom = buildPom( builder, localRepo );
if ( pom == null )
{
throw new BuildException( "A POM element is required to deploy to the repository" );
}
- ArtifactRepository localRepo = createLocalArtifactRepository( localRepository );
- pom.initialise( (MavenProjectBuilder) lookup( MavenProjectBuilder.ROLE ), localRepo );
-
if ( remoteRepository == null )
{
if ( pom.getDistributionManagement() == null || pom.getDistributionManagement().getRepository() == null )
@@ -100,26 +93,6 @@
// TODO: deployment exception that does not give a trace
throw new BuildException( "Error deploying artifact", e );
}
- }
-
- public Pom getPom()
- {
- return pom;
- }
-
- public void addPom( Pom pom )
- {
- this.pom = pom;
- }
-
- public LocalRepository getLocalRepository()
- {
- return localRepository;
- }
-
- public void addLocalRepository( LocalRepository localRepository )
- {
- this.localRepository = localRepository;
}
public RemoteRepository getRemoteRepository()
Modified: maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/InstallTask.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/InstallTask.java?rev=189505&r1=189504&r2=189505&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/InstallTask.java (original)
+++ maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/InstallTask.java Tue Jun 7 20:08:20 2005
@@ -38,21 +38,14 @@
public class InstallTask
extends AbstractArtifactTask
{
- private Pom pom;
-
- private LocalRepository localRepository;
-
private File file;
public void execute()
{
- if ( localRepository == null )
- {
- localRepository = getDefaultLocalRepository();
- }
+ ArtifactRepository localRepo = createLocalArtifactRepository();
- ArtifactRepository localRepo = createLocalArtifactRepository( localRepository );
- pom.initialise( (MavenProjectBuilder) lookup( MavenProjectBuilder.ROLE ), localRepo );
+ MavenProjectBuilder builder = (MavenProjectBuilder) lookup( MavenProjectBuilder.ROLE );
+ Pom pom = buildPom( builder, localRepo );
Artifact artifact = new DefaultArtifact( pom.getGroupId(), pom.getArtifactId(), pom.getVersion(),
pom.getPackaging() );
@@ -82,27 +75,7 @@
throw new BuildException( "Error installing artifact", e );
}
}
-
- public Pom getPom()
- {
- return pom;
- }
-
- public void addPom( Pom pom )
- {
- this.pom = pom;
- }
-
- public LocalRepository getLocalRepository()
- {
- return localRepository;
- }
-
- public void addLocalRepository( LocalRepository localRepository )
- {
- this.localRepository = localRepository;
- }
-
+
public File getFile()
{
return file;
Modified: maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/Pom.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/Pom.java?rev=189505&r1=189504&r2=189505&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/Pom.java (original)
+++ maven/components/trunk/maven-artifact-ant/src/main/java/org/apache/maven/artifact/ant/Pom.java Tue Jun 7 20:08:20 2005
@@ -102,7 +102,7 @@
}
}
- private MavenProject getMavenProject()
+ protected MavenProject getMavenProject()
{
return getInstance().mavenProject;
}
@@ -202,12 +202,10 @@
return getMavenProject().getPackaging();
} //-- String getPackaging()
-/* TODO: requires newer maven-core
public java.util.List getPluginRepositories()
{
- return getModel().getPluginRepositories();
+ return getMavenProject().getPluginRepositories();
} //-- java.util.List getPluginRepositories()
-*/
public Reports getReports()
{
Modified: maven/components/trunk/maven-artifact-ant/src/main/resources/org/apache/maven/artifact/ant/antlib.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-artifact-ant/src/main/resources/org/apache/maven/artifact/ant/antlib.xml?rev=189505&r1=189504&r2=189505&view=diff
==============================================================================
--- maven/components/trunk/maven-artifact-ant/src/main/resources/org/apache/maven/artifact/ant/antlib.xml (original)
+++ maven/components/trunk/maven-artifact-ant/src/main/resources/org/apache/maven/artifact/ant/antlib.xml Tue Jun 7 20:08:20 2005
@@ -4,6 +4,7 @@
<typedef name="dependencies" classname="org.apache.maven.artifact.ant.DependenciesTask"/>
<typedef name="install" classname="org.apache.maven.artifact.ant.InstallTask"/>
<typedef name="deploy" classname="org.apache.maven.artifact.ant.DeployTask"/>
+ <typedef name="setProperty" classname="org.apache.maven.artifact.ant.SetPropertyTask"/>
<!-- Types -->
<typedef name="localRepository" classname="org.apache.maven.artifact.ant.LocalRepository"/>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org