Author: sisbell Date: Thu Apr 16 23:41:31 2009 New Revision: 765802 URL: http://svn.apache.org/viewvc?rev=765802&view=rev Log: Moved over the profile code to maven-project-builder. Centralizing more of the model building.
Added: maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/profiles/ maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java - copied, changed from r765682, maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/profiles/ProfileActivationContext.java - copied, changed from r765682, maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfileActivationContext.java maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/profiles/ProfileActivationException.java - copied unchanged from r765682, maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfileActivationException.java maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/profiles/ProfileManager.java - copied unchanged from r765682, maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfileManager.java maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/profiles/ProfileManagerInfo.java - copied unchanged from r765682, maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfileManagerInfo.java maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/profiles/matchers/ (props changed) - copied from r765682, maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/matchers/ maven/components/trunk/maven-project-builder/src/main/mdo/ - copied from r765682, maven/components/trunk/maven-project/src/main/mdo/ Removed: maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfileActivationContext.java maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfileActivationException.java maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfileManager.java maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfileManagerInfo.java maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/matchers/ maven/components/trunk/maven-project/src/main/mdo/ Modified: maven/components/trunk/build-mercury.xml maven/components/trunk/build.xml maven/components/trunk/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java maven/components/trunk/maven-project/pom.xml maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultProjectBuilderConfiguration.java maven/components/trunk/maven-project/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java Modified: maven/components/trunk/build-mercury.xml URL: http://svn.apache.org/viewvc/maven/components/trunk/build-mercury.xml?rev=765802&r1=765801&r2=765802&view=diff ============================================================================== --- maven/components/trunk/build-mercury.xml (original) +++ maven/components/trunk/build-mercury.xml Thu Apr 16 23:41:31 2009 @@ -263,7 +263,7 @@ <modello file="maven-model/src/main/mdo/maven.mdo" version="4.0.0"/> <modello file="maven-lifecycle/src/main/mdo/maven-lifecycle.mdo"/> <modello file="maven-plugin-api/src/main/mdo/lifecycle.mdo"/> - <modello file="maven-project/src/main/mdo/profiles.mdo"/> + <modello file="maven-project-builder/src/main/mdo/profiles.mdo"/> <modello file="maven-core/src/main/mdo/settings.mdo"/> <modello file="maven-toolchain/src/main/mdo/toolchains.xml"/> <modello file="maven-compat/src/main/mdo/metadata.mdo"/> Modified: maven/components/trunk/build.xml URL: http://svn.apache.org/viewvc/maven/components/trunk/build.xml?rev=765802&r1=765801&r2=765802&view=diff ============================================================================== --- maven/components/trunk/build.xml (original) +++ maven/components/trunk/build.xml Thu Apr 16 23:41:31 2009 @@ -166,7 +166,7 @@ <modello file="maven-model/src/main/mdo/maven.mdo" version="4.0.0"/> <modello file="maven-lifecycle/src/main/mdo/maven-lifecycle.mdo"/> <modello file="maven-plugin-api/src/main/mdo/lifecycle.mdo"/> - <modello file="maven-project/src/main/mdo/profiles.mdo"/> + <modello file="maven-project-builder/src/main/mdo/profiles.mdo"/> <modello file="maven-core/src/main/mdo/settings.mdo"/> <modello file="maven-toolchain/src/main/mdo/toolchains.xml"/> <modello file="maven-compat/src/main/mdo/metadata.mdo"/> Modified: maven/components/trunk/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java?rev=765802&r1=765801&r2=765802&view=diff ============================================================================== --- maven/components/trunk/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java (original) +++ maven/components/trunk/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java Thu Apr 16 23:41:31 2009 @@ -65,7 +65,7 @@ Settings settings = readSettingsFile(settingsFile); ProfileActivationContext pCtx = new ProfileActivationContext(null, true); - ProfileManager profileManager = new DefaultProfileManager(getContainer(), pCtx); + ProfileManager profileManager = new DefaultProfileManager(pCtx); for ( org.apache.maven.settings.Profile rawProfile : settings.getProfiles() ) { Modified: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java?rev=765802&r1=765801&r2=765802&view=diff ============================================================================== --- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java (original) +++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java Thu Apr 16 23:41:31 2009 @@ -526,7 +526,7 @@ activationContext.setExplicitlyActiveProfileIds( request.getActiveProfiles() ); activationContext.setExplicitlyInactiveProfileIds( request.getInactiveProfiles() ); - ProfileManager globalProfileManager = new DefaultProfileManager( container, activationContext ); + ProfileManager globalProfileManager = new DefaultProfileManager( activationContext ); request.setProfileManager( globalProfileManager ); request.setProfileActivationContext( activationContext ); Copied: maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java (from r765682, maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java) URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java?p2=maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java&p1=maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java&r1=765682&r2=765802&rev=765802&view=diff ============================================================================== --- maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java (original) +++ maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java Thu Apr 16 23:41:31 2009 @@ -30,11 +30,8 @@ import org.apache.maven.profiles.matchers.JdkMatcher; import org.apache.maven.profiles.matchers.ProfileMatcher; import org.apache.maven.profiles.matchers.PropertyMatcher; -import org.apache.maven.project.ProjectBuilderConfiguration; import org.apache.maven.project.builder.InterpolatorProperty; import org.apache.maven.project.builder.PomInterpolatorTag; -import org.codehaus.plexus.PlexusContainer; -import org.codehaus.plexus.MutablePlexusContainer; import java.util.ArrayList; import java.util.Arrays; @@ -48,7 +45,6 @@ public class DefaultProfileManager implements ProfileManager { - private MutablePlexusContainer container; private Map<String, Profile> profilesById = new LinkedHashMap<String, Profile>(); @@ -63,9 +59,8 @@ * the properties passed to the profile manager are the props that * are passed to maven, possibly containing profile activator properties */ - public DefaultProfileManager( PlexusContainer container, ProfileActivationContext profileActivationContext ) + public DefaultProfileManager( ProfileActivationContext profileActivationContext ) { - this.container = (MutablePlexusContainer) container; if ( profileActivationContext == null ) { this.profileActivationContext = createDefaultActivationContext(); @@ -76,17 +71,6 @@ } } - // TODO: Remove this, if possible. It uses system properties, which are not safe for IDE and other embedded environments. - /** - * @deprecated Using this is dangerous when extensions or non-global system properties are in play. - */ - public DefaultProfileManager( PlexusContainer container ) - { - this.container = (MutablePlexusContainer) container; - - profileActivationContext = createDefaultActivationContext(); - } - private ProfileActivationContext createDefaultActivationContext() { @@ -118,7 +102,7 @@ Profile existing = profilesById.get( profileId ); if ( existing != null ) { - container.getLogger().warn( "Overriding profile: \'" + profileId + "\' (source: " + existing.getSource() + + System.out.println( "Overriding profile: \'" + profileId + "\' (source: " + existing.getSource() + ") with new instance from source: " + profile.getSource() ); } @@ -196,26 +180,21 @@ return allActive; } - public static List<Profile> getActiveProfilesFrom(ProjectBuilderConfiguration config, Model model, PlexusContainer container) + public static List<Profile> getActiveProfilesFrom(ProfileManager globalProfileManager, Properties properties, Model model) throws ProfileActivationException { List<Profile> projectProfiles = new ArrayList<Profile>(); - ProfileManager externalProfileManager = config.getGlobalProfileManager(); - - Properties props = new Properties(); - props.putAll(config.getExecutionProperties()); - props.putAll(config.getUserProperties()); - ProfileActivationContext profileActivationContext = (externalProfileManager == null) ? new ProfileActivationContext( new Properties(), false ): - externalProfileManager.getProfileActivationContext(); - profileActivationContext.getExecutionProperties().putAll(props); + ProfileActivationContext profileActivationContext = (globalProfileManager == null) ? new ProfileActivationContext( new Properties(), false ): + globalProfileManager.getProfileActivationContext(); + profileActivationContext.getExecutionProperties().putAll(properties); - if(externalProfileManager != null) + if(globalProfileManager != null) { - projectProfiles.addAll( externalProfileManager.getActiveProfiles() ); + projectProfiles.addAll( globalProfileManager.getActiveProfiles() ); } - ProfileManager profileManager = new DefaultProfileManager( container, profileActivationContext ); + ProfileManager profileManager = new DefaultProfileManager( profileActivationContext ); profileManager.addProfiles( model.getProfiles() ); projectProfiles.addAll( profileManager.getActiveProfiles() ); return projectProfiles; Copied: maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/profiles/ProfileActivationContext.java (from r765682, maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfileActivationContext.java) URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/profiles/ProfileActivationContext.java?p2=maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/profiles/ProfileActivationContext.java&p1=maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfileActivationContext.java&r1=765682&r2=765802&rev=765802&view=diff ============================================================================== --- maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfileActivationContext.java (original) +++ maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/profiles/ProfileActivationContext.java Thu Apr 16 23:41:31 2009 @@ -27,7 +27,6 @@ public class ProfileActivationContext { - private boolean isCustomActivatorFailureSuppressed; private final Properties executionProperties; Propchange: maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/profiles/matchers/ ------------------------------------------------------------------------------ --- svn:mergeinfo (added) +++ svn:mergeinfo Thu Apr 16 23:41:31 2009 @@ -0,0 +1,7 @@ +/maven/components/branches/MNG-3932-1/maven-project/src/main/java/org/apache/maven/profiles/matchers:746145-746157 +/maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/profiles/matchers:680477 +/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/profiles/matchers:679206,708871,720042,726541,727548,727998,728264,728940,729060,729738,729785,730631 +/maven/components/branches/maven-2.1.x/maven-project/src/main/java/org/apache/maven/profiles/matchers:739385,741841,747468,747683,748815,749612 +/maven/components/branches/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/profiles/matchers:738973-739966 +/maven/components/sisbell-plugin-manager/maven-project/src/main/java/org/apache/maven/profiles/matchers:738757-738972 +/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/matchers:688587-696625,696644-699681 Modified: maven/components/trunk/maven-project/pom.xml URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/pom.xml?rev=765802&r1=765801&r2=765802&view=diff ============================================================================== --- maven/components/trunk/maven-project/pom.xml (original) +++ maven/components/trunk/maven-project/pom.xml Thu Apr 16 23:41:31 2009 @@ -61,10 +61,6 @@ <artifactId>wstx-asl</artifactId> </dependency> <dependency> - <groupId>org.sonatype.spice</groupId> - <artifactId>model-builder</artifactId> - </dependency> - <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-project-builder</artifactId> </dependency> @@ -92,16 +88,6 @@ <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-component-metadata</artifactId> </plugin> - <plugin> - <groupId>org.codehaus.modello</groupId> - <artifactId>modello-maven-plugin</artifactId> - <configuration> - <version>1.0.0</version> - <models> - <model>src/main/mdo/profiles.mdo</model> - </models> - </configuration> - </plugin> </plugins> </build> </project> Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=765802&r1=765801&r2=765802&view=diff ============================================================================== --- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original) +++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Thu Apr 16 23:41:31 2009 @@ -22,6 +22,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; +import java.util.Properties; import java.util.List; import java.util.Map; @@ -134,9 +135,12 @@ //Profiles List<Profile> projectProfiles; + Properties props = new Properties(); + props.putAll(configuration.getExecutionProperties()); + props.putAll(configuration.getUserProperties()); try { - projectProfiles = DefaultProfileManager.getActiveProfilesFrom(configuration, domainModel.getModel(), container); + projectProfiles = DefaultProfileManager.getActiveProfilesFrom(configuration.getGlobalProfileManager(), props, domainModel.getModel() ); } catch ( ProfileActivationException e ) { @@ -239,9 +243,13 @@ } List<Profile> projectProfiles; + Properties props = new Properties(); + props.putAll(configuration.getExecutionProperties()); + props.putAll(configuration.getUserProperties()); + try { - projectProfiles = DefaultProfileManager.getActiveProfilesFrom(configuration, domainModel.getModel(), container); + projectProfiles = DefaultProfileManager.getActiveProfilesFrom(configuration.getGlobalProfileManager(), props, domainModel.getModel() ); } catch ( ProfileActivationException e ) { Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultProjectBuilderConfiguration.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultProjectBuilderConfiguration.java?rev=765802&r1=765801&r2=765802&view=diff ============================================================================== --- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultProjectBuilderConfiguration.java (original) +++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultProjectBuilderConfiguration.java Thu Apr 16 23:41:31 2009 @@ -25,7 +25,7 @@ import org.apache.maven.artifact.repository.ArtifactRepository; import org.apache.maven.profiles.ProfileManager; -import org.apache.maven.shared.model.ModelEventListener; +import org.apache.maven.project.builder.ModelEventListener; public class DefaultProjectBuilderConfiguration implements ProjectBuilderConfiguration Modified: maven/components/trunk/maven-project/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java?rev=765802&r1=765801&r2=765802&view=diff ============================================================================== --- maven/components/trunk/maven-project/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java (original) +++ maven/components/trunk/maven-project/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java Thu Apr 16 23:41:31 2009 @@ -20,7 +20,6 @@ */ import org.apache.maven.model.Activation; -import org.apache.maven.model.ActivationOS; import org.apache.maven.model.ActivationProperty; import org.apache.maven.model.Profile; import org.apache.maven.profiles.DefaultProfileManager; @@ -65,7 +64,7 @@ Properties props = new Properties(); ProfileActivationContext ctx = new ProfileActivationContext( props, false ); - ProfileManager profileManager = new DefaultProfileManager( getContainer(), ctx ); + ProfileManager profileManager = new DefaultProfileManager( ctx ); profileManager.addProfile( notActivated ); profileManager.addProfile( defaultActivated ); @@ -104,7 +103,7 @@ Properties props = System.getProperties(); ProfileActivationContext ctx = new ProfileActivationContext( props, false ); - ProfileManager profileManager = new DefaultProfileManager( getContainer(), ctx ); + ProfileManager profileManager = new DefaultProfileManager( ctx ); profileManager.addProfile( syspropActivated ); profileManager.addProfile( defaultActivated ); @@ -135,7 +134,7 @@ Properties props = System.getProperties(); ProfileActivationContext ctx = new ProfileActivationContext( props, false ); - ProfileManager profileManager = new DefaultProfileManager( getContainer(), ctx ); + ProfileManager profileManager = new DefaultProfileManager( ctx ); profileManager.addProfile( syspropActivated ); @@ -163,7 +162,7 @@ Properties props = System.getProperties(); ProfileActivationContext ctx = new ProfileActivationContext( props, false ); - ProfileManager profileManager = new DefaultProfileManager( getContainer(), ctx ); + ProfileManager profileManager = new DefaultProfileManager( ctx ); profileManager.addProfile( syspropActivated ); @@ -194,7 +193,7 @@ Properties props = System.getProperties(); ProfileActivationContext ctx = new ProfileActivationContext( props, false ); - ProfileManager profileManager = new DefaultProfileManager( getContainer(), ctx ); + ProfileManager profileManager = new DefaultProfileManager( ctx ); profileManager.addProfile( syspropActivated ); Modified: maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java?rev=765802&r1=765801&r2=765802&view=diff ============================================================================== --- maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java (original) +++ maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java Thu Apr 16 23:41:31 2009 @@ -139,7 +139,7 @@ ProjectBuilderConfiguration pbc = new DefaultProjectBuilderConfiguration(); pbc.setLocalRepository( getLocalRepository() ); - pbc.setGlobalProfileManager( new DefaultProfileManager( getContainer(), ctx ) ); + pbc.setGlobalProfileManager( new DefaultProfileManager( ctx ) ); return projectBuilder.build( pom, pbc ); } Modified: maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java?rev=765802&r1=765801&r2=765802&view=diff ============================================================================== --- maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java (original) +++ maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java Thu Apr 16 23:41:31 2009 @@ -1393,7 +1393,7 @@ ProfileActivationContext pCtx = new ProfileActivationContext(null, true); config.setExecutionProperties(properties); - config.setGlobalProfileManager(new DefaultProfileManager(this.getContainer(), pCtx)); + config.setGlobalProfileManager(new DefaultProfileManager(pCtx)); return new PomTestWrapper( pomFile, mavenProjectBuilder.build( pomFile, config ) ); } @@ -1413,7 +1413,7 @@ pCtx.setExplicitlyActiveProfileIds( Arrays.asList( profileIds ) ); } - config.setGlobalProfileManager(new DefaultProfileManager(this.getContainer(), pCtx)); + config.setGlobalProfileManager(new DefaultProfileManager(pCtx)); return new PomTestWrapper( pomFile, mavenProjectBuilder.build( pomFile, config ) ); }