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