You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2008/03/05 05:16:16 UTC
svn commit: r633762 - in
/maven/components/branches/maven-2.0.x/maven-project/src:
main/java/org/apache/maven/profiles/DefaultProfileManager.java
test/java/org/apache/maven/profiles/DefaultProfileManagerTest.java
Author: brett
Date: Tue Mar 4 20:16:15 2008
New Revision: 633762
URL: http://svn.apache.org/viewvc?rev=633762&view=rev
Log:
[MNG-2234] activate profiles that are not present in the settings so that they can be defined in the POM
Modified:
maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java
maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/profiles/DefaultProfileManagerTest.java
Modified: maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java?rev=633762&r1=633761&r2=633762&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java Tue Mar 4 20:16:15 2008
@@ -332,12 +332,12 @@
List settingsProfiles = settings.getProfiles();
- if ( settingsProfiles != null && !settingsProfiles.isEmpty() )
- {
- List settingsActiveProfileIds = settings.getActiveProfiles();
+ List settingsActiveProfileIds = settings.getActiveProfiles();
- explicitlyActivate( settingsActiveProfileIds );
+ explicitlyActivate( settingsActiveProfileIds );
+ if ( settingsProfiles != null && !settingsProfiles.isEmpty() )
+ {
for ( Iterator it = settings.getProfiles().iterator(); it.hasNext(); )
{
org.apache.maven.settings.Profile rawProfile = (org.apache.maven.settings.Profile) it.next();
Modified: maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/profiles/DefaultProfileManagerTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/profiles/DefaultProfileManagerTest.java?rev=633762&r1=633761&r2=633762&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/profiles/DefaultProfileManagerTest.java (original)
+++ maven/components/branches/maven-2.0.x/maven-project/src/test/java/org/apache/maven/profiles/DefaultProfileManagerTest.java Tue Mar 4 20:16:15 2008
@@ -20,10 +20,11 @@
*/
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.model.ActivationOS;
import org.apache.maven.profiles.activation.ProfileActivationException;
+import org.apache.maven.settings.Settings;
import org.codehaus.plexus.PlexusTestCase;
import java.util.List;
@@ -31,6 +32,35 @@
public class DefaultProfileManagerTest
extends PlexusTestCase
{
+ public void testShouldActivateNonExistantSettingsProfile()
+ throws ProfileActivationException
+ {
+ // MNG-2234 - we should activate profiles that don't exist yet so that they can be defined by a POM.
+ Settings settings = new Settings();
+ settings.addActiveProfile( "testProfile" );
+
+ ProfileManager profileManager = new DefaultProfileManager( getContainer(), settings );
+
+ List activeIds = profileManager.getExplicitlyActivatedIds();
+
+ assertNotNull( activeIds );
+ assertEquals( 1, activeIds.size() );
+ assertEquals( "testProfile", activeIds.get( 0 ) );
+
+ List activeProfiles = profileManager.getActiveProfiles();
+ assertTrue( activeProfiles.isEmpty() );
+
+ Profile p = new Profile();
+ p.setId( "testProfile" );
+ profileManager.addProfile( p );
+
+ activeProfiles = profileManager.getActiveProfiles();
+
+ assertNotNull( activeProfiles );
+ assertEquals( 1, activeProfiles.size() );
+ assertEquals( "testProfile", ( (Profile) activeProfiles.get( 0 ) ).getId() );
+ }
+
public void testShouldActivateDefaultProfile()
throws ProfileActivationException
{