Modified: maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java?rev=746066&r1=746065&r2=746066&view=diff ============================================================================== --- maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java (original) +++ maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java Fri Feb 20 00:23:19 2009 @@ -181,6 +181,7 @@ return getActiveProfiles( null ); } + // TODO: Portions of this logic are duplicated in o.a.m.p.b.p.ProfileContext, something is wrong here public List getActiveProfiles( Model model ) throws ProfileActivationException {
Propchange: maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Feb 20 00:23:19 2009 @@ -3,4 +3,4 @@ /maven/components/branches/maven-2.0.x/maven-profile/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java:679206 /maven/components/branches/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java:738973-739966 /maven/components/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java:738757-738972 -/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java:739772-740199,740316-741812,742231-742684,742726-745532 +/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/MavenProfilesBuilder.java:739772-740199,740316-741812,742231-742684,742726-745532,745632-746028 Propchange: maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Feb 20 00:23:19 2009 @@ -3,4 +3,4 @@ /maven/components/branches/maven-2.0.x/maven-profile/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java:679206 /maven/components/branches/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java:738973-739966 /maven/components/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java:738757-738972 -/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java:739772-740199,740316-741812,742231-742684,742726-745532 +/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfilesConversionUtils.java:739772-740199,740316-741812,742231-742684,742726-745532,745632-746028 Modified: maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=746066&r1=746065&r2=746066&view=diff ============================================================================== --- maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original) +++ maven/components/branches/MNG-3932/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Fri Feb 20 00:23:19 2009 @@ -19,8 +19,7 @@ * under the License. */ -import java.io.File; -import java.io.IOException; +import java.io.*; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.HashMap; @@ -40,6 +39,7 @@ import org.apache.maven.model.Build; import org.apache.maven.model.Model; import org.apache.maven.model.Profile; +import org.apache.maven.model.io.xpp3.MavenXpp3Writer; import org.apache.maven.profiles.MavenProfilesBuilder; import org.apache.maven.profiles.ProfileManager; import org.apache.maven.profiles.activation.DefaultProfileActivationContext; @@ -47,10 +47,7 @@ import org.apache.maven.profiles.activation.ProfileActivationException; import org.apache.maven.profiles.build.ProfileAdvisor; import org.apache.maven.project.artifact.InvalidDependencyVersionException; -import org.apache.maven.project.builder.DefaultPomArtifactResolver; -import org.apache.maven.project.builder.PomArtifactResolver; -import org.apache.maven.project.builder.PomInterpolatorTag; -import org.apache.maven.project.builder.ProjectBuilder; +import org.apache.maven.project.builder.*; import org.apache.maven.project.validation.ModelValidationResult; import org.apache.maven.project.validation.ModelValidator; import org.apache.maven.shared.model.InterpolatorProperty; @@ -59,6 +56,7 @@ import org.codehaus.plexus.logging.LogEnabled; import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.util.StringUtils; +import org.codehaus.plexus.util.WriterFactory; /** Propchange: maven/components/branches/MNG-3932/maven-project/src/main/mdo/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Feb 20 00:23:19 2009 @@ -3,4 +3,4 @@ /maven/components/branches/maven-2.0.x/maven-profile/src/main/mdo:679206 /maven/components/branches/sisbell-plugin-manager/maven-project/src/main/mdo:738973-739966 /maven/components/sisbell-plugin-manager/maven-project/src/main/mdo:738757-738972 -/maven/components/trunk/maven-project/src/main/mdo:739772-740199,740316-741812,742231-742684,742726-745532 +/maven/components/trunk/maven-project/src/main/mdo:739772-740199,740316-741812,742231-742684,742726-745532,745632-746028 Modified: maven/components/branches/MNG-3932/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java?rev=746066&r1=746065&r2=746066&view=diff ============================================================================== --- maven/components/branches/MNG-3932/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java (original) +++ maven/components/branches/MNG-3932/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java Fri Feb 20 00:23:19 2009 @@ -29,15 +29,12 @@ import org.apache.maven.profiles.activation.DefaultProfileActivationContext; import org.apache.maven.profiles.activation.ProfileActivationContext; import org.apache.maven.model.Model; -import org.apache.maven.model.Plugin; import org.apache.maven.model.io.xpp3.MavenXpp3Reader; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.repository.DefaultArtifactRepository; import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout; import org.apache.maven.project.harness.PomTestWrapper; -import org.apache.maven.project.MavenProjectBuilder; -import org.apache.maven.project.ProjectBuilderConfiguration; -import org.apache.maven.project.DefaultProjectBuilderConfiguration; +import org.apache.maven.project.*; import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.util.xml.pull.XmlPullParserException; @@ -55,8 +52,6 @@ private MavenProjectBuilder mavenProjectBuilder; - private Mixer mixer; - private MavenTools mavenTools; private PomArtifactResolver pomArtifactResolver; @@ -72,7 +67,6 @@ testMixinDirectory = new File( getBasedir(), BASE_MIXIN_DIR ); mavenProjectBuilder = lookup( MavenProjectBuilder.class ); projectBuilder = lookup( ProjectBuilder.class ); - mixer = (Mixer) projectBuilder; mavenTools = lookup( MavenTools.class ); pomArtifactResolver = new PomArtifactResolver() { @@ -86,6 +80,17 @@ }; } + /** + * Will throw exception if doesn't find parent(s) in build + * + * @throws Exception + */ + public void testParentInheritance() + throws Exception + { + buildPom( "parent-inheritance/sub" ); + } + /*MNG-3995*/ public void testExecutionConfigurationJoin() throws Exception @@ -102,17 +107,6 @@ assertEquals( "my.property", pom.getValue( "build/plugins[1]/configuration[1]/systemProperties[1]/property[1]/name" ) ); } - public void testPluginMergeSimple() - throws Exception - { - Model model = buildPom( "plugin-merge-simple" ).getDomainModel().getModel(); - Model plugin = buildMixin("plugins/simple"); - - model = mixer.mixPlugin((Plugin) plugin.getBuild().getPlugins().get(0), model); - - PomTestWrapper pom = new PomTestWrapper( model ); - assertEquals( "FAILED", pom.getValue( "build/plugins[1]/configuration[1]/propertiesFile" ) ); - } // Some better conventions for the test poms needs to be created and each of these tests // that represent a verification of a specification item needs to be a couple lines at most. @@ -129,7 +123,7 @@ PomClassicDomainModel model = projectBuilder.buildModel( pom, null, resolver ); // This should be 2 //assertEquals( 2, model.getLineageCount() ); - PomTestWrapper tester = new PomTestWrapper( model ); + PomTestWrapper tester = new PomTestWrapper( (PomClassicDomainModel) model ); assertModelEquals( tester, "child-descriptor", "build/plugins[1]/executions[1]/goals[1]" ); } @@ -886,7 +880,7 @@ { pomFile = new File( pomFile, "pom.xml" ); } - return new PomTestWrapper( pomFile, projectBuilder.buildModel( pomFile, null, pomArtifactResolver ) ); + return new PomTestWrapper( pomFile, (PomClassicDomainModel) projectBuilder.buildModel( pomFile, null, pomArtifactResolver ) ); } private PomTestWrapper buildPomFromMavenProject( String pomPath, String profileId ) Modified: maven/components/branches/MNG-3932/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java?rev=746066&r1=746065&r2=746066&view=diff ============================================================================== --- maven/components/branches/MNG-3932/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java (original) +++ maven/components/branches/MNG-3932/maven-project/src/test/java/org/apache/maven/project/harness/PomTestWrapper.java Fri Feb 20 00:23:19 2009 @@ -19,8 +19,7 @@ * under the License. */ -import java.io.File; -import java.io.IOException; +import java.io.*; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -29,9 +28,13 @@ import org.apache.commons.jxpath.JXPathContext; import org.apache.commons.jxpath.ri.JXPathContextReferenceImpl; import org.apache.maven.model.Model; +import org.apache.maven.model.io.xpp3.MavenXpp3Writer; +import org.apache.maven.model.io.xpp3.MavenXpp3Reader; import org.apache.maven.project.builder.PomClassicDomainModel; import org.apache.maven.project.MavenProject; import org.apache.maven.shared.model.ModelProperty; +import org.codehaus.plexus.util.WriterFactory; +import org.codehaus.plexus.util.xml.pull.XmlPullParserException; public class PomTestWrapper { @@ -64,7 +67,11 @@ } this.domainModel = domainModel; this.pomFile = pomFile; - context = JXPathContext.newContext( domainModel.getModel() ); + try { + context = JXPathContext.newContext( new MavenXpp3Reader().read(domainModel.getInputStream())); + } catch (XmlPullParserException e) { + throw new IOException(e.getMessage()); + } } public PomTestWrapper( File pomFile, MavenProject mavenProject ) @@ -99,19 +106,11 @@ } this.domainModel = new PomClassicDomainModel( file ); - context = JXPathContext.newContext( domainModel.getModel() ); - } - - public PomTestWrapper( Model model ) - throws IOException - { - if ( model == null ) - { - throw new IllegalArgumentException( "model: null" ); + try { + context = JXPathContext.newContext( new MavenXpp3Reader().read(domainModel.getInputStream())); + } catch (XmlPullParserException e) { + throw new IOException(e.getMessage()); } - - this.domainModel = new PomClassicDomainModel( model ); - context = JXPathContext.newContext( domainModel.getModel() ); } public MavenProject getMavenProject() @@ -124,7 +123,7 @@ if(domainModel == null && mavenProject != null) { try { - return new PomClassicDomainModel(mavenProject.getModel()); + return convertToDomainModel(mavenProject.getModel()); } catch (IOException e) { } @@ -133,6 +132,30 @@ return this.domainModel; } + private PomClassicDomainModel convertToDomainModel(Model model) throws IOException + { + if ( model == null ) + { + throw new IllegalArgumentException( "model: null" ); + } + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + Writer out = null; + MavenXpp3Writer writer = new MavenXpp3Writer(); + try + { + out = WriterFactory.newXmlWriter( baos ); + writer.write( out, model ); + } + finally + { + if ( out != null ) + { + out.close(); + } + } + return new PomClassicDomainModel(new ByteArrayInputStream(baos.toByteArray())); + } + public File getBasedir() { return ( pomFile != null ) ? pomFile.getParentFile() : null; Modified: maven/components/branches/MNG-3932/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml?rev=746066&r1=746065&r2=746066&view=diff ============================================================================== --- maven/components/branches/MNG-3932/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml (original) +++ maven/components/branches/MNG-3932/maven-project/src/test/resources/org/apache/maven/project/ProjectClasspathTest.xml Fri Feb 20 00:23:19 2009 @@ -57,9 +57,9 @@ </requirements> </component> <component> - <role>org.apache.maven.project.builder.ProjectBuilder</role> + <role>org.apache.maven.project.ProjectBuilder</role> <role-hint>default</role-hint> - <implementation>org.apache.maven.project.builder.impl.DefaultProjectBuilder</implementation> + <implementation>org.apache.maven.project.DefaultProjectBuilder</implementation> <requirements> <requirement> <role>org.apache.maven.artifact.factory.ArtifactFactory</role> @@ -75,7 +75,7 @@ <implementation>org.apache.maven.project.TestProjectBuilder</implementation> <requirements> <requirement> - <role>org.apache.maven.project.builder.ProjectBuilder</role> + <role>org.apache.maven.project.ProjectBuilder</role> </requirement> <requirement> <role>org.apache.maven.profiles.build.ProfileAdvisor</role> Modified: maven/components/branches/MNG-3932/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-3932/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml?rev=746066&r1=746065&r2=746066&view=diff ============================================================================== --- maven/components/branches/MNG-3932/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml (original) +++ maven/components/branches/MNG-3932/maven-project/src/test/resources/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.xml Fri Feb 20 00:23:19 2009 @@ -60,9 +60,9 @@ </requirements> </component> <component> - <role>org.apache.maven.project.builder.ProjectBuilder</role> + <role>org.apache.maven.project.ProjectBuilder</role> <role-hint>default</role-hint> - <implementation>org.apache.maven.project.builder.impl.DefaultProjectBuilder</implementation> + <implementation>org.apache.maven.project.DefaultProjectBuilder</implementation> <requirements> <requirement> <role>org.apache.maven.artifact.factory.ArtifactFactory</role> @@ -78,7 +78,7 @@ <implementation>org.apache.maven.project.TestProjectBuilder</implementation> <requirements> <requirement> - <role>org.apache.maven.project.builder.ProjectBuilder</role> + <role>org.apache.maven.project.ProjectBuilder</role> </requirement> <requirement> <role>org.apache.maven.profiles.build.ProfileAdvisor</role>