Author: jdcasey
Date: Tue Sep 13 12:27:34 2005
New Revision: 280629
URL: http://svn.apache.org/viewcvs?rev=280629&view=rev
Log:
Resolving: MNG-814. Enabled import of explicit activation and deactivation of
profileIds from the external profile manager to the project-level profile
manager. See it0067.
Added:
maven/components/trunk/maven-core-it/it0067/
maven/components/trunk/maven-core-it/it0067/cli-options.txt (with props)
maven/components/trunk/maven-core-it/it0067/expected-results.txt (with
props)
maven/components/trunk/maven-core-it/it0067/goals.txt (with props)
maven/components/trunk/maven-core-it/it0067/pom.xml (with props)
maven/components/trunk/maven-core-it/it0067/prebuild-hook.txt (with props)
maven/components/trunk/maven-core-it/it0067/src/
maven/components/trunk/maven-core-it/it0067/src/main/
maven/components/trunk/maven-core-it/it0067/src/main/java/
maven/components/trunk/maven-core-it/it0067/src/main/java/org/
maven/components/trunk/maven-core-it/it0067/src/main/java/org/apache/
maven/components/trunk/maven-core-it/it0067/src/main/java/org/apache/maven/
maven/components/trunk/maven-core-it/it0067/src/main/java/org/apache/maven/it0021/
maven/components/trunk/maven-core-it/it0067/src/main/java/org/apache/maven/it0021/Person.java
(with props)
Modified:
maven/components/trunk/maven-core-it/README.txt
maven/components/trunk/maven-core-it/integration-tests.txt
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/ProfileManager.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
Modified: maven/components/trunk/maven-core-it/README.txt
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/README.txt?rev=280629&r1=280628&r2=280629&view=diff
==============================================================================
--- maven/components/trunk/maven-core-it/README.txt (original)
+++ maven/components/trunk/maven-core-it/README.txt Tue Sep 13 12:27:34 2005
@@ -187,6 +187,8 @@
it0066: Test that nonstandard POM files will be installed correctly.
+it0067: Test activation of a profile from the command line.
+
-------------------------------------------------------------------------------
- generated sources
Modified: maven/components/trunk/maven-core-it/integration-tests.txt
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/integration-tests.txt?rev=280629&r1=280628&r2=280629&view=diff
==============================================================================
--- maven/components/trunk/maven-core-it/integration-tests.txt (original)
+++ maven/components/trunk/maven-core-it/integration-tests.txt Tue Sep 13
12:27:34 2005
@@ -1,3 +1,4 @@
+it0067
it0066
it0065
it0064
Added: maven/components/trunk/maven-core-it/it0067/cli-options.txt
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0067/cli-options.txt?rev=280629&view=auto
==============================================================================
--- maven/components/trunk/maven-core-it/it0067/cli-options.txt (added)
+++ maven/components/trunk/maven-core-it/it0067/cli-options.txt Tue Sep 13
12:27:34 2005
@@ -0,0 +1 @@
+-P test-profile
Propchange: maven/components/trunk/maven-core-it/it0067/cli-options.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core-it/it0067/cli-options.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/components/trunk/maven-core-it/it0067/expected-results.txt
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0067/expected-results.txt?rev=280629&view=auto
==============================================================================
--- maven/components/trunk/maven-core-it/it0067/expected-results.txt (added)
+++ maven/components/trunk/maven-core-it/it0067/expected-results.txt Tue Sep 13
12:27:34 2005
@@ -0,0 +1 @@
+target/classes/org/apache/maven/it0021/Person.class
Propchange: maven/components/trunk/maven-core-it/it0067/expected-results.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core-it/it0067/expected-results.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/components/trunk/maven-core-it/it0067/goals.txt
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0067/goals.txt?rev=280629&view=auto
==============================================================================
--- maven/components/trunk/maven-core-it/it0067/goals.txt (added)
+++ maven/components/trunk/maven-core-it/it0067/goals.txt Tue Sep 13 12:27:34
2005
@@ -0,0 +1 @@
+compile
\ No newline at end of file
Propchange: maven/components/trunk/maven-core-it/it0067/goals.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core-it/it0067/goals.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/components/trunk/maven-core-it/it0067/pom.xml
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0067/pom.xml?rev=280629&view=auto
==============================================================================
--- maven/components/trunk/maven-core-it/it0067/pom.xml (added)
+++ maven/components/trunk/maven-core-it/it0067/pom.xml Tue Sep 13 12:27:34 2005
@@ -0,0 +1,21 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.plugins.it</groupId>
+ <artifactId>maven-it0067-plugin</artifactId>
+ <packaging>maven-plugin</packaging>
+ <version>1.0-SNAPSHOT</version>
+
+ <profiles>
+ <profile>
+ <id>test-profile</id>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ </dependency>
+ </dependencies>
+ </profile>
+ </profiles>
+</project>
Propchange: maven/components/trunk/maven-core-it/it0067/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core-it/it0067/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/components/trunk/maven-core-it/it0067/prebuild-hook.txt
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0067/prebuild-hook.txt?rev=280629&view=auto
==============================================================================
--- maven/components/trunk/maven-core-it/it0067/prebuild-hook.txt (added)
+++ maven/components/trunk/maven-core-it/it0067/prebuild-hook.txt Tue Sep 13
12:27:34 2005
@@ -0,0 +1 @@
+rm ${artifact:org.apache.maven:maven-core-it-support:1.0:jar}
Propchange: maven/components/trunk/maven-core-it/it0067/prebuild-hook.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core-it/it0067/prebuild-hook.txt
------------------------------------------------------------------------------
svn:executable = *
Propchange: maven/components/trunk/maven-core-it/it0067/prebuild-hook.txt
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added:
maven/components/trunk/maven-core-it/it0067/src/main/java/org/apache/maven/it0021/Person.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0067/src/main/java/org/apache/maven/it0021/Person.java?rev=280629&view=auto
==============================================================================
---
maven/components/trunk/maven-core-it/it0067/src/main/java/org/apache/maven/it0021/Person.java
(added)
+++
maven/components/trunk/maven-core-it/it0067/src/main/java/org/apache/maven/it0021/Person.java
Tue Sep 13 12:27:34 2005
@@ -0,0 +1,18 @@
+package org.apache.maven.it0021;
+
+import junit.framework.TestCase;
+
+public class Person
+{
+ private String name;
+
+ public void setName( String name )
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+}
Propchange:
maven/components/trunk/maven-core-it/it0067/src/main/java/org/apache/maven/it0021/Person.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/components/trunk/maven-core-it/it0067/src/main/java/org/apache/maven/it0021/Person.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java?rev=280629&r1=280628&r2=280629&view=diff
==============================================================================
---
maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java
(original)
+++
maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java
Tue Sep 13 12:27:34 2005
@@ -10,11 +10,9 @@
import java.util.ArrayList;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import java.util.Map.Entry;
/*
@@ -37,9 +35,9 @@
{
private PlexusContainer container;
- private Set activatedIds = new HashSet();
- private Set deactivatedIds = new HashSet();
- private Set defaultIds = new HashSet();
+ private List activatedIds = new ArrayList();
+ private List deactivatedIds = new ArrayList();
+ private List defaultIds = new ArrayList();
private Map profilesById = new HashMap();
@@ -48,25 +46,6 @@
this.container = container;
}
- public DefaultProfileManager( ProfileManager globals, PlexusContainer
container )
- {
- this.container = container;
-
- this.activatedIds.addAll( globals.getActivatedIds() );
- this.deactivatedIds.addAll( globals.getDeactivatedIds() );
- this.profilesById.putAll( globals.getProfilesById() );
- }
-
- public Set getActivatedIds()
- {
- return activatedIds;
- }
-
- public Set getDeactivatedIds()
- {
- return deactivatedIds;
- }
-
public Map getProfilesById()
{
return profilesById;
@@ -102,9 +81,12 @@
*/
public void explicitlyActivate( String profileId )
{
- container.getLogger().debug( "Profile with id: \'" + profileId + "\'
has been explicitly activated." );
-
- activatedIds.add( profileId );
+ if ( !activatedIds.contains( profileId ) )
+ {
+ container.getLogger().debug( "Profile with id: \'" + profileId +
"\' has been explicitly activated." );
+
+ activatedIds.add( profileId );
+ }
}
/* (non-Javadoc)
@@ -125,9 +107,12 @@
*/
public void explicitlyDeactivate( String profileId )
{
- container.getLogger().debug( "Profile with id: \'" + profileId + "\'
has been explicitly deactivated." );
-
- deactivatedIds.add( profileId );
+ if ( !deactivatedIds.contains( profileId ) )
+ {
+ container.getLogger().debug( "Profile with id: \'" + profileId +
"\' has been explicitly deactivated." );
+
+ deactivatedIds.add( profileId );
+ }
}
/* (non-Javadoc)
@@ -234,7 +219,25 @@
public void activateAsDefault( String profileId )
{
- defaultIds.add( profileId );
+ if ( !defaultIds.contains( profileId ) )
+ {
+ defaultIds.add( profileId );
+ }
+ }
+
+ public List getExplicitlyActivatedIds()
+ {
+ return activatedIds;
+ }
+
+ public List getExplicitlyDeactivatedIds()
+ {
+ return deactivatedIds;
+ }
+
+ public List getIdsActivatedByDefault()
+ {
+ return defaultIds;
}
}
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfileManager.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfileManager.java?rev=280629&r1=280628&r2=280629&view=diff
==============================================================================
---
maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfileManager.java
(original)
+++
maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfileManager.java
Tue Sep 13 12:27:34 2005
@@ -5,7 +5,6 @@
import java.util.List;
import java.util.Map;
-import java.util.Set;
public interface ProfileManager
{
@@ -27,10 +26,12 @@
void addProfiles( List profiles );
- public Set getActivatedIds();
+ Map getProfilesById();
- public Set getDeactivatedIds();
+ List getExplicitlyActivatedIds();
- public Map getProfilesById();
+ List getExplicitlyDeactivatedIds();
+
+ List getIdsActivatedByDefault();
}
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=280629&r1=280628&r2=280629&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
Tue Sep 13 12:27:34 2005
@@ -433,7 +433,7 @@
}
private MavenProject build( String pomLocation, Model model,
ArtifactRepository localRepository,
- List parentSearchRepositories, File
projectDir, ProfileManager profileManager )
+ List parentSearchRepositories, File
projectDir, ProfileManager externalProfileManager )
throws ProjectBuildingException
{
Model superModel = getSuperModel();
@@ -461,9 +461,9 @@
List activeExternalProfiles;
try
{
- if ( profileManager != null )
+ if ( externalProfileManager != null )
{
- activeExternalProfiles = profileManager.getActiveProfiles();
+ activeExternalProfiles =
externalProfileManager.getActiveProfiles();
}
else
{
@@ -494,7 +494,7 @@
Model originalModel = ModelUtils.cloneModel( model );
MavenProject project = assembleLineage( model, lineage,
localRepository, projectDir, parentSearchRepositories,
-
aggregatedRemoteWagonRepositories );
+
aggregatedRemoteWagonRepositories, externalProfileManager );
project.setOriginalModel( originalModel );
@@ -526,7 +526,7 @@
try
{
- project = processProjectLogic( pomLocation, project, repositories,
profileManager, projectDir );
+ project = processProjectLogic( pomLocation, project, repositories,
externalProfileManager, projectDir );
}
catch ( ModelInterpolationException e )
{
@@ -658,7 +658,7 @@
*/
private MavenProject assembleLineage( Model model, LinkedList lineage,
ArtifactRepository localRepository,
File projectDir, List
parentSearchRepositories,
- Set
aggregatedRemoteWagonRepositories )
+ Set
aggregatedRemoteWagonRepositories, ProfileManager externalProfileManager )
throws ProjectBuildingException
{
if ( !model.getRepositories().isEmpty() )
@@ -677,6 +677,12 @@
}
ProfileManager profileManager = new DefaultProfileManager( container );
+
+ if ( externalProfileManager != null )
+ {
+ profileManager.explicitlyActivate(
externalProfileManager.getExplicitlyActivatedIds() );
+ profileManager.explicitlyDeactivate(
externalProfileManager.getExplicitlyDeactivatedIds() );
+ }
List activeProfiles;
@@ -813,7 +819,8 @@
parentProjectDir = parentDescriptor.getParentFile();
}
MavenProject parent = assembleLineage( model, lineage,
localRepository, parentProjectDir,
- parentSearchRepositories,
aggregatedRemoteWagonRepositories );
+ parentSearchRepositories,
aggregatedRemoteWagonRepositories,
+ externalProfileManager );
parent.setFile( parentDescriptor );
project.setParent( parent );
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]