Author: hboutemy
Date: Sun Dec 2 14:55:21 2007
New Revision: 600401
URL: http://svn.apache.org/viewvc?rev=600401&view=rev
Log:
[MANTTASKS-91] added ProfileManager use, which fixes resolution bug
Modified:
maven/ant-tasks/trunk/sample.build.xml
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/sample.build.xml
URL:
http://svn.apache.org/viewvc/maven/ant-tasks/trunk/sample.build.xml?rev=600401&r1=600400&r2=600401&view=diff
==============================================================================
--- maven/ant-tasks/trunk/sample.build.xml (original)
+++ maven/ant-tasks/trunk/sample.build.xml Sun Dec 2 14:55:21 2007
@@ -40,7 +40,7 @@
</target>
<target name="test-all-deps" description="All dependencies tests"
-
depends="test-pom,test-pom-with-parent,test-no-deps,test-pom-deps,test-deps-two-repos,test-deps,test-legacy-pom,test-deps-mirror,test-deps-order">
+
depends="test-pom,test-pom-with-parent,test-no-deps,test-pom-deps,test-deps-two-repos,test-deps,test-legacy-pom,test-deps-mirror,test-deps-order,test-deps-MANTTASKS-91">
<echo>test-bad-dep and test-invalid-pom-ref must be run manually, since
they are intended to fail</echo>
</target>
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=600401&r1=600400&r2=600401&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
Sun Dec 2 14:55:21 2007
@@ -27,9 +27,12 @@
import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
import org.apache.maven.artifact.repository.DefaultArtifactRepository;
import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-import org.apache.maven.model.Model;
+import org.apache.maven.profiles.DefaultProfileManager;
+import org.apache.maven.profiles.ProfileManager;
+import org.apache.maven.profiles.activation.ProfileActivationException;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectBuilder;
+import org.apache.maven.project.ProjectBuildingException;
import org.apache.maven.settings.Mirror;
import org.apache.maven.settings.RuntimeInfo;
import org.apache.maven.settings.Server;
@@ -82,6 +85,8 @@
private Settings settings;
+ private ProfileManager profileManager;
+
private PlexusContainer container;
private Pom pom;
@@ -270,6 +275,8 @@
settings.setLocalRepository( location );
}
+ profileManager = new DefaultProfileManager( getContainer(),
getSettings(), System.getProperties() );
+
WagonManager wagonManager = (WagonManager) lookup( WagonManager.ROLE );
wagonManager.setDownloadMonitor( new AntDownloadMonitor() );
if ( settings.isOffline() )
@@ -520,16 +527,19 @@
return pom;
}
- protected Pom createDummyPom()
+ protected Pom createDummyPom( ArtifactRepository localArtifactRepository )
{
- Model mavenModel = new Model();
-
- mavenModel.setGroupId( "unspecified" );
- mavenModel.setArtifactId( "unspecified" );
- mavenModel.setVersion( "0.0" );
- mavenModel.setPackaging( "jar" );
+ MavenProjectBuilder projectBuilder = (MavenProjectBuilder) lookup(
MavenProjectBuilder.ROLE );
- MavenProject mavenProject = new MavenProject( mavenModel );
+ MavenProject mavenProject;
+ try
+ {
+ mavenProject =
projectBuilder.buildStandaloneSuperProject( localArtifactRepository,
getProfileManager() );
+ }
+ catch (ProjectBuildingException e)
+ {
+ throw new BuildException( "Unable to create dummy Pom", e );
+ }
Pom pom = new Pom();
@@ -540,11 +550,9 @@
protected Artifact createDummyArtifact()
{
- Pom pom = createDummyPom();
ArtifactFactory factory = (ArtifactFactory) lookup(
ArtifactFactory.ROLE );
// TODO: maybe not strictly correct, while we should enforce that
packaging has a type handler of the same id, we don't
- return factory.createBuildArtifact( pom.getGroupId(),
pom.getArtifactId(), pom.getVersion(),
- pom.getPackaging() );
+ return factory.createBuildArtifact( "unspecified", "unspecified",
"0.0", "jar" );
}
public String[] getSupportedProtocols()
@@ -612,6 +620,11 @@
public LocalRepository getLocalRepository()
{
return localRepository;
+ }
+
+ protected ProfileManager getProfileManager()
+ {
+ return profileManager;
}
public void addLocalRepository( LocalRepository localRepository )
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=600401&r1=600400&r2=600401&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
Sun Dec 2 14:55:21 2007
@@ -101,19 +101,19 @@
}
dependencies = pom.getDependencies();
-
- for ( Iterator i = pom.getRepositories().iterator(); i.hasNext(); )
- {
- Repository pomRepository = (Repository) i.next();
-
- addRemoteRepository( createAntRemoteRepository( pomRepository
) );
- }
}
else
{
// we have to have some sort of Pom object in order to satisfy the
requirements for building the
// originating Artifact below...
- pom = createDummyPom();
+ pom = createDummyPom( localRepo );
+ }
+
+ for ( Iterator i = pom.getRepositories().iterator(); i.hasNext(); )
+ {
+ Repository pomRepository = (Repository) i.next();
+
+ addRemoteRepository( createAntRemoteRepository( pomRepository ) );
}
if ( dependencies.isEmpty() )
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=600401&r1=600400&r2=600401&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
Sun Dec 2 14:55:21 2007
@@ -166,8 +166,7 @@
try
{
- // TODO: should the profiles be constructed and passed in
here? From Ant, or perhaps settings?
- mavenProject = builder.build( file, localRepository, null );
+ mavenProject = builder.build( file, localRepository,
getProfileManager() );
}
catch ( ProjectBuildingException e )
{