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 )
             {


Reply via email to