You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by si...@apache.org on 2009/02/09 17:10:49 UTC
svn commit: r742594 - in /maven/components/trunk/maven-project/src:
main/java/org/apache/maven/project/builder/
main/java/org/apache/maven/project/builder/impl/
test/java/org/apache/maven/project/builder/
test/java/org/apache/maven/project/harness/ tes...
Author: sisbell
Date: Mon Feb 9 16:10:48 2009
New Revision: 742594
URL: http://svn.apache.org/viewvc?rev=742594&view=rev
Log:
[MNG-2174] Profile bug dealing with dependencies : [MNG-3877] Reporting directory base aligned.
Added:
maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/
maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/pom.xml
maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/sub/
maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/sub/pom.xml
maven/components/trunk/maven-project/src/test/resources-project-builder/reporting-interpolation/
maven/components/trunk/maven-project/src/test/resources-project-builder/reporting-interpolation/pom.xml
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java
maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java?rev=742594&r1=742593&r2=742594&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/PomClassicDomainModel.java Mon Feb 9 16:10:48 2009
@@ -306,6 +306,7 @@
s.add(ProjectUri.Reporting.Plugins.Plugin.ReportSets.xUri);
s.add(ProjectUri.Reporting.Plugins.Plugin.ReportSets.ReportSet.configuration);
s.add(ProjectUri.Build.Plugins.Plugin.Executions.Execution.configuration);
+ s.add(ProjectUri.Profiles.Profile.Build.Plugins.Plugin.configuration);//TODO: More profile info
modelProperties = ModelMarshaller.marshallXmlToModelProperties(
getInputStream(), ProjectUri.baseUri, s );
}
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java?rev=742594&r1=742593&r2=742594&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/builder/impl/DefaultProjectBuilder.java Mon Feb 9 16:10:48 2009
@@ -213,14 +213,29 @@
PomClassicDomainModel domainModel = new PomClassicDomainModel( pom );
domainModel.setProjectDirectory( pom.getParentFile() );
+ List<DomainModel> domainModels = new ArrayList<DomainModel>();
+ domainModels.add( domainModel );
ProfileContext profileContext = new ProfileContext(new DefaultModelDataSource(domainModel.getModelProperties(),
PomTransformer.MODEL_CONTAINER_FACTORIES), activeProfileIds, properties);
+
Collection<ModelContainer> profileContainers = profileContext.getActiveProfiles();
- //get mixin
- List<DomainModel> domainModels = new ArrayList<DomainModel>();
- domainModels.add( domainModel );
+ for(ModelContainer mc : profileContainers)
+ {
+ List<ModelProperty> transformed = new ArrayList<ModelProperty>();
+ transformed.add(new ModelProperty(ProjectUri.xUri, null));
+ for(ModelProperty mp : mc.getProperties())
+ {
+ if(mp.getUri().startsWith(ProjectUri.Profiles.Profile.xUri) && !mp.getUri().equals(ProjectUri.Profiles.Profile.id)
+ && !mp.getUri().startsWith(ProjectUri.Profiles.Profile.Activation.xUri) )
+ {
+ transformed.add(new ModelProperty(mp.getUri().replace(ProjectUri.Profiles.Profile.xUri, ProjectUri.xUri),
+ mp.getResolvedValue()));
+ }
+ }
+ domainModels.add(new PomClassicDomainModel(transformed));
+ }
File parentFile = null;
int lineageCount = 0;
Modified: maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java?rev=742594&r1=742593&r2=742594&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java (original)
+++ maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java Mon Feb 9 16:10:48 2009
@@ -22,10 +22,7 @@
import java.io.File;
import java.io.IOException;
import java.io.FileInputStream;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Arrays;
+import java.util.*;
import org.apache.maven.MavenTools;
import org.apache.maven.profiles.DefaultProfileManager;
@@ -186,7 +183,7 @@
public void testParentInterpolation()
throws Exception
{
- PomTestWrapper pom = buildPomFromMavenProject( "parent-interpolation/sub" );
+ PomTestWrapper pom = buildPomFromMavenProject( "parent-interpolation/sub", null );
pom = new PomTestWrapper(pom.getMavenProject().getParent());
assertEquals( "1.3.0-SNAPSHOT", pom.getValue( "build/plugins[1]/version" ) );
}
@@ -200,6 +197,27 @@
assertEquals( "1.0-alpha-21", pom.getValue( "build/plugins[1]/version" ) );
}
+ /* MNG-2174*/
+ public void testPluginManagementDependencies()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPomFromMavenProject( "plugin-management-dependencies/sub", "test" );
+ assertEquals( "1.0-alpha-21", pom.getValue( "build/plugins[1]/version" ) );
+ assertEquals( "1.0", pom.getValue( "build/plugins[1]/dependencies[1]/version" ) );
+ }
+
+
+ /* MNG-3877*/
+ public void testReportingInterpolation()
+ throws Exception
+ {
+ PomTestWrapper pom = buildPomFromMavenProject( "reporting-interpolation", null );
+ pom = new PomTestWrapper(pom.getMavenProject());
+ assertEquals( System.getProperty("user.dir")
+ + "/src/test/resources-project-builder/reporting-interpolation/target/site",
+ pom.getValue( "reporting/outputDirectory" ) );
+ }
+
public void testPluginOrder()
throws Exception
{
@@ -824,7 +842,7 @@
return new PomTestWrapper( pomFile, projectBuilder.buildModel( pomFile, null, pomArtifactResolver ) );
}
- private PomTestWrapper buildPomFromMavenProject( String pomPath )
+ private PomTestWrapper buildPomFromMavenProject( String pomPath, String profileId )
throws IOException
{
File pomFile = new File( testDirectory , pomPath );
@@ -835,7 +853,11 @@
ProjectBuilderConfiguration config = new DefaultProjectBuilderConfiguration();
config.setLocalRepository(new DefaultArtifactRepository("default", "", new DefaultRepositoryLayout()));
ProfileActivationContext pCtx = new DefaultProfileActivationContext(null, true);
- pCtx.setExplicitlyActiveProfileIds(Arrays.asList("release"));
+ if(profileId != null)
+ {
+ pCtx.setExplicitlyActiveProfileIds(Arrays.asList(profileId));
+ }
+
config.setGlobalProfileManager(new DefaultProfileManager(this.getContainer(), pCtx));
return new PomTestWrapper( pomFile, projectBuilder.buildFromLocalPath( pomFile, null, null, pomArtifactResolver,
config, mavenProjectBuilder ) );
Modified: maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java?rev=742594&r1=742593&r2=742594&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java (original)
+++ maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java Mon Feb 9 16:10:48 2009
@@ -121,6 +121,15 @@
public PomClassicDomainModel getDomainModel()
{
+ if(domainModel == null && mavenProject != null)
+ {
+ try {
+ return new PomClassicDomainModel(mavenProject.getModel());
+ } catch (IOException e) {
+
+ }
+ }
+
return this.domainModel;
}
Added: maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/pom.xml?rev=742594&view=auto
==============================================================================
--- maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/pom.xml (added)
+++ maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/pom.xml Mon Feb 9 16:10:48 2009
@@ -0,0 +1,24 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>gid</groupId>
+ <artifactId>aid</artifactId>
+ <version>1.0</version>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-21</version>
+ <dependencies>
+ <dependency>
+ <groupId>a</groupId>
+ <artifactId>b</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
\ No newline at end of file
Added: maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/sub/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/sub/pom.xml?rev=742594&view=auto
==============================================================================
--- maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/sub/pom.xml (added)
+++ maven/components/trunk/maven-project/src/test/resources-project-builder/plugin-management-dependencies/sub/pom.xml Mon Feb 9 16:10:48 2009
@@ -0,0 +1,25 @@
+<project>
+ <parent>
+ <groupId>gid</groupId>
+ <artifactId>aid</artifactId>
+ <version>1.0</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.sonatype.nexus</groupId>
+ <artifactId>nexus</artifactId>
+ <version>1.3.0-SNAPSHOT</version>
+ <profiles>
+ <profile>
+ <id>test</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-21</version>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project>
\ No newline at end of file
Added: maven/components/trunk/maven-project/src/test/resources-project-builder/reporting-interpolation/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources-project-builder/reporting-interpolation/pom.xml?rev=742594&view=auto
==============================================================================
--- maven/components/trunk/maven-project/src/test/resources-project-builder/reporting-interpolation/pom.xml (added)
+++ maven/components/trunk/maven-project/src/test/resources-project-builder/reporting-interpolation/pom.xml Mon Feb 9 16:10:48 2009
@@ -0,0 +1,6 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>gid</groupId>
+ <artifactId>aid</artifactId>
+ <version>1.0</version>
+</project>
\ No newline at end of file