You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2008/01/15 19:35:04 UTC

svn commit: r612186 - in /maven/components/trunk: maven-core/src/main/aspect/org/apache/maven/compat/ maven-core/src/main/aspect/org/apache/maven/errors/ maven-core/src/main/java/org/apache/maven/errors/ maven-core/src/main/java/org/apache/maven/execut...

Author: jdcasey
Date: Tue Jan 15 10:34:58 2008
New Revision: 612186

URL: http://svn.apache.org/viewvc?rev=612186&view=rev
Log:
Refactor management of activated, deactivated, and default-activated profile ids, so the context tracks all of that stuff.

Added:
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/DefaultMavenRealmManager.java
      - copied, changed from r611933, maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenRealmManager.java
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/MavenRealmManager.java
      - copied, changed from r611933, maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenRealmManager.java
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/RealmManagementException.java
      - copied, changed from r611933, maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/RealmManagementException.java
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/RealmUtils.java
      - copied, changed from r611933, maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/RealmUtils.java
Removed:
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenRealmManager.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenRealmManager.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/RealmManagementException.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/RealmUtils.java
Modified:
    maven/components/trunk/maven-core/src/main/aspect/org/apache/maven/compat/Maven20xCompatAspect.aj
    maven/components/trunk/maven-core/src/main/aspect/org/apache/maven/errors/ExtensionErrorReporterAspect.aj
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorReporter.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorTips.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultCoreErrorReporter.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ExtensionManagerException.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginContainerException.java
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginManagerException.java
    maven/components/trunk/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenRealmManagerTest.java
    maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultExtensionManagerTest.java
    maven/components/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManagerTest.java
    maven/components/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/plan/DefaultBuildPlannerTest.java
    maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/Configuration.java
    maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/DefaultConfiguration.java
    maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java
    maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/error/DummyCoreErrorReporter.java
    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/profiles/activation/DefaultProfileActivationContext.java
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/activation/ProfileActivationContext.java
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/build/DefaultProfileAdvisor.java
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/build/ProfileAdvisor.java
    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/build/model/DefaultModelLineageBuilder.java
    maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml

Modified: maven/components/trunk/maven-core/src/main/aspect/org/apache/maven/compat/Maven20xCompatAspect.aj
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/aspect/org/apache/maven/compat/Maven20xCompatAspect.aj?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/aspect/org/apache/maven/compat/Maven20xCompatAspect.aj (original)
+++ maven/components/trunk/maven-core/src/main/aspect/org/apache/maven/compat/Maven20xCompatAspect.aj Tue Jan 15 10:34:58 2008
@@ -12,7 +12,6 @@
 import org.apache.maven.execution.MavenExecutionResult;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.extension.DefaultExtensionManager;
-import org.apache.maven.execution.MavenRealmManager;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.metadata.ResolutionGroup;
@@ -33,6 +32,7 @@
 import org.apache.maven.plugin.version.PluginVersionNotFoundException;
 import org.apache.maven.plugin.version.PluginVersionResolutionException;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.realm.MavenRealmManager;
 import org.apache.maven.settings.MavenSettingsBuilder;
 import org.apache.maven.settings.DefaultMavenSettingsBuilder;
 import org.apache.maven.settings.Settings;

Modified: maven/components/trunk/maven-core/src/main/aspect/org/apache/maven/errors/ExtensionErrorReporterAspect.aj
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/aspect/org/apache/maven/errors/ExtensionErrorReporterAspect.aj?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/aspect/org/apache/maven/errors/ExtensionErrorReporterAspect.aj (original)
+++ maven/components/trunk/maven-core/src/main/aspect/org/apache/maven/errors/ExtensionErrorReporterAspect.aj Tue Jan 15 10:34:58 2008
@@ -8,7 +8,6 @@
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
 import org.apache.maven.execution.MavenExecutionRequest;
-import org.apache.maven.execution.RealmManagementException;
 import org.apache.maven.plugin.PluginNotFoundException;
 import org.apache.maven.plugin.version.PluginVersionNotFoundException;
 import org.apache.maven.plugin.version.PluginVersionResolutionException;
@@ -28,6 +27,7 @@
 import org.apache.maven.model.Prerequisites;
 import org.apache.maven.plugin.DefaultPluginManager;
 import org.apache.maven.plugin.version.DefaultPluginVersionManager;
+import org.apache.maven.realm.RealmManagementException;
 import org.apache.maven.execution.RuntimeInformation;
 
 import java.io.File;

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorReporter.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorReporter.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorReporter.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorReporter.java Tue Jan 15 10:34:58 2008
@@ -12,7 +12,6 @@
 import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
 import org.apache.maven.execution.MavenExecutionRequest;
 import org.apache.maven.execution.MavenSession;
-import org.apache.maven.execution.RealmManagementException;
 import org.apache.maven.extension.ExtensionManagerException;
 import org.apache.maven.lifecycle.LifecycleException;
 import org.apache.maven.lifecycle.LifecycleExecutionException;
@@ -40,6 +39,7 @@
 import org.apache.maven.project.interpolation.ModelInterpolationException;
 import org.apache.maven.project.path.PathTranslator;
 import org.apache.maven.reactor.MavenExecutionException;
+import org.apache.maven.realm.RealmManagementException;
 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
 import org.codehaus.plexus.configuration.PlexusConfiguration;

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorTips.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorTips.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorTips.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/CoreErrorTips.java Tue Jan 15 10:34:58 2008
@@ -7,7 +7,6 @@
 import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
 import org.apache.maven.artifact.versioning.ArtifactVersion;
 import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
-import org.apache.maven.execution.RealmManagementException;
 import org.apache.maven.lifecycle.LifecycleException;
 import org.apache.maven.lifecycle.model.MojoBinding;
 import org.apache.maven.model.Model;
@@ -23,6 +22,7 @@
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.artifact.InvalidDependencyVersionException;
 import org.apache.maven.project.interpolation.ModelInterpolationException;
+import org.apache.maven.realm.RealmManagementException;
 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
 import org.codehaus.plexus.configuration.PlexusConfiguration;
 

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultCoreErrorReporter.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultCoreErrorReporter.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultCoreErrorReporter.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/errors/DefaultCoreErrorReporter.java Tue Jan 15 10:34:58 2008
@@ -15,7 +15,6 @@
 import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
 import org.apache.maven.execution.MavenExecutionRequest;
 import org.apache.maven.execution.MavenSession;
-import org.apache.maven.execution.RealmManagementException;
 import org.apache.maven.extension.ExtensionManagerException;
 import org.apache.maven.lifecycle.LifecycleException;
 import org.apache.maven.lifecycle.LifecycleExecutionException;
@@ -48,6 +47,7 @@
 import org.apache.maven.project.interpolation.ModelInterpolationException;
 import org.apache.maven.project.path.PathTranslator;
 import org.apache.maven.reactor.MavenExecutionException;
+import org.apache.maven.realm.RealmManagementException;
 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
 import org.codehaus.plexus.configuration.PlexusConfiguration;

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java Tue Jan 15 10:34:58 2008
@@ -23,6 +23,8 @@
 import org.apache.maven.errors.CoreErrorReporter;
 import org.apache.maven.monitor.event.EventMonitor;
 import org.apache.maven.profiles.ProfileManager;
+import org.apache.maven.profiles.activation.ProfileActivationContext;
+import org.apache.maven.realm.MavenRealmManager;
 import org.apache.maven.settings.Settings;
 import org.apache.maven.wagon.events.TransferListener;
 
@@ -530,6 +532,8 @@
 
     private CoreErrorReporter errorReporter;
 
+    private ProfileActivationContext profileActivationContext;
+
     public MavenExecutionRequest setSettings( Settings settings )
     {
         this.settings = settings;
@@ -635,6 +639,17 @@
     public MavenExecutionRequest setErrorReporter( CoreErrorReporter reporter )
     {
         errorReporter = reporter;
+        return this;
+    }
+
+    public ProfileActivationContext getProfileActivationContext()
+    {
+        return profileActivationContext;
+    }
+
+    public MavenExecutionRequest setProfileActivationContext( ProfileActivationContext profileActivationContext )
+    {
+        this.profileActivationContext = profileActivationContext;
         return this;
     }
 }

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java Tue Jan 15 10:34:58 2008
@@ -24,6 +24,8 @@
 import org.apache.maven.errors.CoreErrorReporter;
 import org.apache.maven.monitor.event.EventMonitor;
 import org.apache.maven.profiles.ProfileManager;
+import org.apache.maven.profiles.activation.ProfileActivationContext;
+import org.apache.maven.realm.MavenRealmManager;
 import org.apache.maven.settings.Settings;
 import org.apache.maven.wagon.events.TransferListener;
 import org.codehaus.plexus.logging.Logger;
@@ -191,6 +193,9 @@
 
     ProfileManager getProfileManager();
     MavenExecutionRequest setProfileManager( ProfileManager profileManager );
+
+    ProfileActivationContext getProfileActivationContext();
+    MavenExecutionRequest setProfileActivationContext( ProfileActivationContext profileActivationContext );
 
     boolean isProjectPresent();
     MavenExecutionRequest setProjectPresent( boolean isProjectPresent );

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java Tue Jan 15 10:34:58 2008
@@ -24,6 +24,7 @@
 import org.apache.maven.plugin.descriptor.MojoDescriptor;
 import org.apache.maven.plugin.descriptor.PluginDescriptor;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.realm.MavenRealmManager;
 import org.apache.maven.reporting.MavenReport;
 import org.apache.maven.settings.Settings;
 import org.codehaus.plexus.PlexusContainer;

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/DefaultExtensionManager.java Tue Jan 15 10:34:58 2008
@@ -38,10 +38,7 @@
 import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
 import org.apache.maven.artifact.versioning.VersionRange;
 import org.apache.maven.execution.MavenExecutionRequest;
-import org.apache.maven.execution.MavenRealmManager;
 import org.apache.maven.execution.MavenSession;
-import org.apache.maven.execution.RealmManagementException;
-import org.apache.maven.execution.RealmUtils;
 import org.apache.maven.model.Extension;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.Parent;
@@ -56,6 +53,9 @@
 import org.apache.maven.plugin.version.PluginVersionNotFoundException;
 import org.apache.maven.plugin.version.PluginVersionResolutionException;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.realm.MavenRealmManager;
+import org.apache.maven.realm.RealmManagementException;
+import org.apache.maven.realm.RealmUtils;
 import org.codehaus.plexus.MutablePlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.context.Context;

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ExtensionManagerException.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ExtensionManagerException.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ExtensionManagerException.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/extension/ExtensionManagerException.java Tue Jan 15 10:34:58 2008
@@ -5,12 +5,12 @@
 import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
 import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
-import org.apache.maven.execution.RealmManagementException;
 import org.apache.maven.plugin.InvalidPluginException;
 import org.apache.maven.plugin.PluginManagerException;
 import org.apache.maven.plugin.PluginNotFoundException;
 import org.apache.maven.plugin.version.PluginVersionNotFoundException;
 import org.apache.maven.plugin.version.PluginVersionResolutionException;
+import org.apache.maven.realm.RealmManagementException;
 
 public class ExtensionManagerException
     extends Exception

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java Tue Jan 15 10:34:58 2008
@@ -35,9 +35,7 @@
 import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
 import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
 import org.apache.maven.artifact.versioning.VersionRange;
-import org.apache.maven.execution.MavenRealmManager;
 import org.apache.maven.execution.MavenSession;
-import org.apache.maven.execution.RealmManagementException;
 import org.apache.maven.execution.RuntimeInformation;
 import org.apache.maven.lifecycle.statemgmt.StateManagementUtils;
 import org.apache.maven.model.Plugin;
@@ -59,6 +57,8 @@
 import org.apache.maven.project.artifact.InvalidDependencyVersionException;
 import org.apache.maven.project.artifact.MavenMetadataSource;
 import org.apache.maven.project.path.PathTranslator;
+import org.apache.maven.realm.MavenRealmManager;
+import org.apache.maven.realm.RealmManagementException;
 import org.apache.maven.reporting.MavenReport;
 import org.codehaus.plexus.MutablePlexusContainer;
 import org.codehaus.plexus.PlexusConstants;

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginContainerException.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginContainerException.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginContainerException.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginContainerException.java Tue Jan 15 10:34:58 2008
@@ -1,8 +1,8 @@
 package org.apache.maven.plugin;
 
-import org.apache.maven.execution.RealmManagementException;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.plugin.descriptor.MojoDescriptor;
+import org.apache.maven.realm.RealmManagementException;
 import org.codehaus.plexus.classworlds.realm.ClassRealm;
 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
 import org.codehaus.plexus.component.repository.exception.ComponentRepositoryException;

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginManagerException.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginManagerException.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginManagerException.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginManagerException.java Tue Jan 15 10:34:58 2008
@@ -1,11 +1,11 @@
 package org.apache.maven.plugin;
 
 import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
-import org.apache.maven.execution.RealmManagementException;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.plugin.descriptor.MojoDescriptor;
 import org.apache.maven.plugin.descriptor.PluginDescriptor;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.realm.RealmManagementException;
 import org.codehaus.plexus.PlexusContainerException;
 import org.codehaus.plexus.classworlds.realm.NoSuchRealmException;
 import org.codehaus.plexus.component.repository.exception.ComponentRepositoryException;

Modified: maven/components/trunk/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenRealmManagerTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenRealmManagerTest.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenRealmManagerTest.java (original)
+++ maven/components/trunk/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenRealmManagerTest.java Tue Jan 15 10:34:58 2008
@@ -2,6 +2,7 @@
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.realm.DefaultMavenRealmManager;
 import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.logging.console.ConsoleLogger;

Modified: maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultExtensionManagerTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultExtensionManagerTest.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultExtensionManagerTest.java (original)
+++ maven/components/trunk/maven-core/src/test/java/org/apache/maven/extension/DefaultExtensionManagerTest.java Tue Jan 15 10:34:58 2008
@@ -11,13 +11,13 @@
 import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
 import org.apache.maven.artifact.resolver.ArtifactResolver;
 import org.apache.maven.execution.DefaultMavenExecutionRequest;
-import org.apache.maven.execution.DefaultMavenRealmManager;
 import org.apache.maven.execution.MavenExecutionRequest;
-import org.apache.maven.execution.MavenRealmManager;
 import org.apache.maven.lifecycle.mapping.LifecycleMapping;
 import org.apache.maven.model.Build;
 import org.apache.maven.model.Extension;
 import org.apache.maven.model.Model;
+import org.apache.maven.realm.DefaultMavenRealmManager;
+import org.apache.maven.realm.MavenRealmManager;
 import org.codehaus.plexus.MutablePlexusContainer;
 import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.classworlds.realm.ClassRealm;

Modified: maven/components/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManagerTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManagerTest.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManagerTest.java (original)
+++ maven/components/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManagerTest.java Tue Jan 15 10:34:58 2008
@@ -2,9 +2,7 @@
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.execution.DefaultMavenExecutionRequest;
-import org.apache.maven.execution.DefaultMavenRealmManager;
 import org.apache.maven.execution.MavenExecutionRequest;
-import org.apache.maven.execution.MavenRealmManager;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.lifecycle.LifecycleLoaderException;
 import org.apache.maven.lifecycle.LifecycleSpecificationException;
@@ -18,6 +16,8 @@
 import org.apache.maven.model.PluginExecution;
 import org.apache.maven.model.PluginManagement;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.realm.DefaultMavenRealmManager;
+import org.apache.maven.realm.MavenRealmManager;
 import org.apache.maven.shared.tools.easymock.MockManager;
 import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.logging.Logger;

Modified: maven/components/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/plan/DefaultBuildPlannerTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/plan/DefaultBuildPlannerTest.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/plan/DefaultBuildPlannerTest.java (original)
+++ maven/components/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/plan/DefaultBuildPlannerTest.java Tue Jan 15 10:34:58 2008
@@ -2,9 +2,7 @@
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.execution.DefaultMavenExecutionRequest;
-import org.apache.maven.execution.DefaultMavenRealmManager;
 import org.apache.maven.execution.MavenExecutionRequest;
-import org.apache.maven.execution.MavenRealmManager;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.lifecycle.MojoBindingUtils;
 import org.apache.maven.lifecycle.model.MojoBinding;
@@ -17,6 +15,8 @@
 import org.apache.maven.plugin.descriptor.PluginDescriptor;
 import org.apache.maven.plugin.loader.PluginLoader;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.realm.DefaultMavenRealmManager;
+import org.apache.maven.realm.MavenRealmManager;
 import org.apache.maven.shared.tools.easymock.MockManager;
 import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.logging.Logger;

Modified: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/Configuration.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/Configuration.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/Configuration.java (original)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/Configuration.java Tue Jan 15 10:34:58 2008
@@ -19,7 +19,7 @@
  */
 
 import org.apache.maven.errors.CoreErrorReporter;
-import org.apache.maven.execution.MavenRealmManager;
+import org.apache.maven.realm.MavenRealmManager;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.classworlds.ClassWorld;
 

Modified: maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/DefaultConfiguration.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/DefaultConfiguration.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/DefaultConfiguration.java (original)
+++ maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/DefaultConfiguration.java Tue Jan 15 10:34:58 2008
@@ -19,7 +19,7 @@
  */
 
 import org.apache.maven.errors.CoreErrorReporter;
-import org.apache.maven.execution.MavenRealmManager;
+import org.apache.maven.realm.MavenRealmManager;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.classworlds.ClassWorld;
 

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=612186&r1=612185&r2=612186&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 Tue Jan 15 10:34:58 2008
@@ -29,7 +29,6 @@
 import org.apache.maven.embedder.MavenEmbedder;
 import org.apache.maven.embedder.MavenEmbedderException;
 import org.apache.maven.errors.DefaultCoreErrorReporter;
-import org.apache.maven.execution.DefaultMavenRealmManager;
 import org.apache.maven.execution.MavenExecutionRequest;
 import org.apache.maven.model.Profile;
 import org.apache.maven.model.Repository;
@@ -39,6 +38,7 @@
 import org.apache.maven.profiles.ProfileManager;
 import org.apache.maven.profiles.activation.DefaultProfileActivationContext;
 import org.apache.maven.profiles.activation.ProfileActivationContext;
+import org.apache.maven.realm.DefaultMavenRealmManager;
 import org.apache.maven.settings.MavenSettingsBuilder;
 import org.apache.maven.settings.Mirror;
 import org.apache.maven.settings.Proxy;
@@ -119,12 +119,12 @@
 
         eventing( request, configuration );
 
+        realmManager( request, configuration );
+
         profileManager( request, configuration );
 
         processSettings( request, configuration );
 
-        realmManager( request, configuration );
-
         return request;
     }
 
@@ -655,14 +655,20 @@
         //
         // ------------------------------------------------------------------------
 
-        ProfileActivationContext activationContext = new DefaultProfileActivationContext( request.getProperties(), false );
-        ProfileManager globalProfileManager = new DefaultProfileManager( container, activationContext );
+        ProfileActivationContext activationContext = request.getProfileActivationContext();
+        if ( activationContext == null )
+        {
+            activationContext = new DefaultProfileActivationContext( request.getRealmManager(),
+                                                                     request.getProperties(), false );
+        }
 
-        globalProfileManager.explicitlyActivate( request.getActiveProfiles() );
+        activationContext.setExplicitlyActiveProfileIds( request.getActiveProfiles() );
+        activationContext.setExplicitlyInactiveProfileIds( request.getInactiveProfiles() );
 
-        globalProfileManager.explicitlyDeactivate( request.getInactiveProfiles() );
+        ProfileManager globalProfileManager = new DefaultProfileManager( container, activationContext );
 
         request.setProfileManager( globalProfileManager );
+        request.setProfileActivationContext( activationContext );
     }
 
     // ----------------------------------------------------------------------------

Modified: maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/error/DummyCoreErrorReporter.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/error/DummyCoreErrorReporter.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/error/DummyCoreErrorReporter.java (original)
+++ maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/error/DummyCoreErrorReporter.java Tue Jan 15 10:34:58 2008
@@ -15,7 +15,6 @@
 import org.apache.maven.errors.DefaultCoreErrorReporter;
 import org.apache.maven.execution.MavenExecutionRequest;
 import org.apache.maven.execution.MavenSession;
-import org.apache.maven.execution.RealmManagementException;
 import org.apache.maven.extension.ExtensionManagerException;
 import org.apache.maven.lifecycle.LifecycleException;
 import org.apache.maven.lifecycle.LifecycleExecutionException;
@@ -54,6 +53,7 @@
 import org.apache.maven.project.interpolation.ModelInterpolationException;
 import org.apache.maven.project.path.PathTranslator;
 import org.apache.maven.reactor.MavenExecutionException;
+import org.apache.maven.realm.RealmManagementException;
 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
 import org.codehaus.plexus.configuration.PlexusConfiguration;

Modified: 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/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java?rev=612186&r1=612185&r2=612186&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 Jan 15 10:34:58 2008
@@ -25,9 +25,12 @@
 import org.apache.maven.profiles.activation.ProfileActivationContext;
 import org.apache.maven.profiles.activation.ProfileActivationException;
 import org.apache.maven.profiles.activation.ProfileActivator;
+import org.apache.maven.realm.DefaultMavenRealmManager;
+import org.apache.maven.realm.MavenRealmManager;
 import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
+import org.codehaus.plexus.logging.Logger;
 
 import java.util.ArrayList;
 import java.util.Iterator;
@@ -41,12 +44,6 @@
 {
     private PlexusContainer container;
 
-    private List activatedIds = new ArrayList();
-
-    private List deactivatedIds = new ArrayList();
-
-    private List defaultIds = new ArrayList();
-
     private Map profilesById = new LinkedHashMap();
 
     private ProfileActivationContext profileActivationContext;
@@ -63,10 +60,18 @@
     }
 
     // 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 = container;
-        profileActivationContext = new DefaultProfileActivationContext( System.getProperties(), false );
+
+        // create the necessary bits to get a skeletal profile manager running.
+        Logger logger = container.getLoggerManager().getLoggerForComponent( DefaultProfileManager.class.getName() );
+        MavenRealmManager manager = new DefaultMavenRealmManager( container, logger );
+
+        profileActivationContext = new DefaultProfileActivationContext( manager, System.getProperties(), false );
     }
 
     public ProfileActivationContext getProfileActivationContext()
@@ -113,11 +118,12 @@
     */
     public void explicitlyActivate( String profileId )
     {
+        List activatedIds = profileActivationContext.getExplicitlyActiveProfileIds();
         if ( !activatedIds.contains( profileId ) )
         {
             container.getLogger().debug( "Profile with id: \'" + profileId + "\' has been explicitly activated." );
 
-            activatedIds.add( profileId );
+            profileActivationContext.setActive( profileId );
         }
     }
 
@@ -139,11 +145,12 @@
     */
     public void explicitlyDeactivate( String profileId )
     {
+        List deactivatedIds = profileActivationContext.getExplicitlyInactiveProfileIds();
         if ( !deactivatedIds.contains( profileId ) )
         {
             container.getLogger().debug( "Profile with id: \'" + profileId + "\' has been explicitly deactivated." );
 
-            deactivatedIds.add( profileId );
+            profileActivationContext.setInactive( profileId );
         }
     }
 
@@ -177,11 +184,11 @@
             Profile profile = (Profile) entry.getValue();
 
             boolean shouldAdd = false;
-            if ( activatedIds.contains( profileId ) )
+            if ( profileActivationContext.isExplicitlyActive( profileId ) )
             {
                 shouldAdd = true;
             }
-            else if ( !deactivatedIds.contains( profileId ) && isActive( profile, profileActivationContext ) )
+            else if ( !profileActivationContext.isExplicitlyInactive( profileId ) && isActive( profile, profileActivationContext ) )
             {
                 shouldAdd = true;
             }
@@ -201,13 +208,18 @@
 
         if ( activeFromPom.isEmpty() )
         {
+            List defaultIds = profileActivationContext.getActiveByDefaultProfileIds();
+
             for ( Iterator it = defaultIds.iterator(); it.hasNext(); )
             {
                 String profileId = (String) it.next();
 
                 Profile profile = (Profile) profilesById.get( profileId );
 
-                activeFromPom.add( profile );
+                if ( profile != null )
+                {
+                    activeFromPom.add( profile );
+                }
             }
         }
 
@@ -283,24 +295,26 @@
 
     public void activateAsDefault( String profileId )
     {
+        List defaultIds = profileActivationContext.getActiveByDefaultProfileIds();
+
         if ( !defaultIds.contains( profileId ) )
         {
-            defaultIds.add( profileId );
+            profileActivationContext.setActiveByDefault( profileId );
         }
     }
 
     public List getExplicitlyActivatedIds()
     {
-        return activatedIds;
+        return profileActivationContext.getExplicitlyActiveProfileIds();
     }
 
     public List getExplicitlyDeactivatedIds()
     {
-        return deactivatedIds;
+        return profileActivationContext.getExplicitlyInactiveProfileIds();
     }
 
     public List getIdsActivatedByDefault()
     {
-        return defaultIds;
+        return profileActivationContext.getActiveByDefaultProfileIds();
     }
 }

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfileManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/ProfileManager.java?rev=612186&r1=612185&r2=612186&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 Jan 15 10:34:58 2008
@@ -30,14 +30,29 @@
 {
     void addProfile( Profile profile );
 
+    /**
+     * @deprecated Use {@link ProfileActivationContext} methods instead.
+     */
     void explicitlyActivate( String profileId );
 
+    /**
+     * @deprecated Use {@link ProfileActivationContext} methods instead.
+     */
     void explicitlyActivate( List profileIds );
 
+    /**
+     * @deprecated Use {@link ProfileActivationContext} methods instead.
+     */
     void explicitlyDeactivate( String profileId );
 
+    /**
+     * @deprecated Use {@link ProfileActivationContext} methods instead.
+     */
     void explicitlyDeactivate( List profileIds );
 
+    /**
+     * @deprecated Use {@link ProfileActivationContext} methods instead.
+     */
     void activateAsDefault( String profileId );
 
     ProfileActivationContext getProfileActivationContext();
@@ -51,9 +66,18 @@
 
     Map getProfilesById();
 
+    /**
+     * @deprecated Use {@link ProfileActivationContext} methods instead.
+     */
     List getExplicitlyActivatedIds();
 
+    /**
+     * @deprecated Use {@link ProfileActivationContext} methods instead.
+     */
     List getExplicitlyDeactivatedIds();
 
+    /**
+     * @deprecated Use {@link ProfileActivationContext} methods instead.
+     */
     List getIdsActivatedByDefault();
 }

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/activation/DefaultProfileActivationContext.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/activation/DefaultProfileActivationContext.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/activation/DefaultProfileActivationContext.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/activation/DefaultProfileActivationContext.java Tue Jan 15 10:34:58 2008
@@ -1,5 +1,10 @@
 package org.apache.maven.profiles.activation;
 
+import org.apache.maven.realm.MavenRealmManager;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
 import java.util.Properties;
 
 public class DefaultProfileActivationContext
@@ -8,12 +13,23 @@
 
     private boolean isCustomActivatorFailureSuppressed;
     private final Properties executionProperties;
+    List explicitlyActive;
+    List explicitlyInactive;
+    private final MavenRealmManager realmManager;
+    private List activeByDefault;
 
-    public DefaultProfileActivationContext( Properties executionProperties, boolean isCustomActivatorFailureSuppressed )
+    public DefaultProfileActivationContext( MavenRealmManager realmManager, Properties executionProperties, boolean isCustomActivatorFailureSuppressed )
     {
+        this.realmManager = realmManager;
         this.executionProperties = executionProperties;
         this.isCustomActivatorFailureSuppressed = isCustomActivatorFailureSuppressed;
+    }
 
+    public DefaultProfileActivationContext( Properties executionProperties, boolean isCustomActivatorFailureSuppressed )
+    {
+        realmManager = null;
+        this.executionProperties = executionProperties;
+        this.isCustomActivatorFailureSuppressed = isCustomActivatorFailureSuppressed;
     }
 
     public Properties getExecutionProperties()
@@ -29,6 +45,101 @@
     public void setCustomActivatorFailureSuppressed( boolean suppressed )
     {
         isCustomActivatorFailureSuppressed = suppressed;
+    }
+
+    public List getExplicitlyActiveProfileIds()
+    {
+        if ( explicitlyActive == null )
+        {
+            return Collections.EMPTY_LIST;
+        }
+
+        return explicitlyActive;
+    }
+
+    public void setExplicitlyActiveProfileIds( List active )
+    {
+        explicitlyActive = active;
+    }
+
+    public List getExplicitlyInactiveProfileIds()
+    {
+        if ( explicitlyInactive == null )
+        {
+            return Collections.EMPTY_LIST;
+        }
+
+        return explicitlyInactive;
+    }
+
+    public void setExplicitlyInactiveProfileIds( List inactive )
+    {
+        explicitlyInactive = inactive;
+    }
+
+    public MavenRealmManager getRealmManager()
+    {
+        return realmManager;
+    }
+
+    public void setActive( String profileId )
+    {
+        if ( explicitlyActive == null )
+        {
+            explicitlyActive = new ArrayList();
+        }
+
+        explicitlyActive.add( profileId );
+    }
+
+    public void setInactive( String profileId )
+    {
+        if ( explicitlyInactive == null )
+        {
+            explicitlyInactive = new ArrayList();
+        }
+
+        explicitlyInactive.add( profileId );
+    }
+
+    public boolean isExplicitlyActive( String profileId )
+    {
+        return ( explicitlyActive != null ) && explicitlyActive.contains( profileId );
+    }
+
+    public boolean isExplicitlyInactive( String profileId )
+    {
+        return ( explicitlyInactive != null ) && explicitlyInactive.contains( profileId );
+    }
+
+    public List getActiveByDefaultProfileIds()
+    {
+        if ( activeByDefault == null )
+        {
+            return Collections.EMPTY_LIST;
+        }
+
+        return activeByDefault;
+    }
+
+    public boolean isActiveByDefault( String profileId )
+    {
+        return ( activeByDefault != null ) && activeByDefault.contains( profileId );
+    }
+
+    public void setActiveByDefault( String profileId )
+    {
+        if ( activeByDefault == null )
+        {
+            activeByDefault = new ArrayList();
+        }
+
+        activeByDefault.add( profileId );
+    }
+
+    public void setActiveByDefaultProfileIds( List activeByDefault )
+    {
+        this.activeByDefault = activeByDefault;
     }
 
 }

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/activation/ProfileActivationContext.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/activation/ProfileActivationContext.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/activation/ProfileActivationContext.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/activation/ProfileActivationContext.java Tue Jan 15 10:34:58 2008
@@ -1,14 +1,43 @@
 package org.apache.maven.profiles.activation;
 
+import org.apache.maven.realm.MavenRealmManager;
+
+import java.util.List;
 import java.util.Properties;
 
 public interface ProfileActivationContext
 {
 
+    List getExplicitlyActiveProfileIds();
+
+    List getExplicitlyInactiveProfileIds();
+
+    MavenRealmManager getRealmManager();
+
     Properties getExecutionProperties();
 
     boolean isCustomActivatorFailureSuppressed();
 
     void setCustomActivatorFailureSuppressed( boolean suppressed );
+
+    void setExplicitlyActiveProfileIds( List inactive );
+
+    void setExplicitlyInactiveProfileIds( List inactive );
+
+    void setActive( String profileId );
+
+    void setInactive( String profileId );
+
+    boolean isExplicitlyActive( String profileId );
+
+    boolean isExplicitlyInactive( String profileId );
+
+    List getActiveByDefaultProfileIds();
+
+    void setActiveByDefaultProfileIds( List activeByDefault );
+
+    void setActiveByDefault( String profileId );
+
+    boolean isActiveByDefault( String profileId );
 
 }

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/build/DefaultProfileAdvisor.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/build/DefaultProfileAdvisor.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/build/DefaultProfileAdvisor.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/build/DefaultProfileAdvisor.java Tue Jan 15 10:34:58 2008
@@ -69,8 +69,6 @@
 
     public List applyActivatedProfiles( Model model,
                                         File pomFile,
-                                        List explicitlyActiveIds,
-                                        List explicitlyInactiveIds,
                                         boolean useProfilesXml,
                                         ProfileActivationContext activationContext )
         throws ProjectBuildingException
@@ -79,8 +77,6 @@
                       + pomFile );
         ProfileManager profileManager = buildProfileManager( model,
                                                              pomFile,
-                                                             explicitlyActiveIds,
-                                                             explicitlyInactiveIds,
                                                              useProfilesXml,
                                                              activationContext );
 
@@ -152,18 +148,12 @@
 
     private ProfileManager buildProfileManager( Model model,
                                                 File pomFile,
-                                                List explicitlyActiveIds,
-                                                List explicitlyInactiveIds,
                                                 boolean useProfilesXml,
                                                 ProfileActivationContext profileActivationContext )
         throws ProjectBuildingException
     {
         ProfileManager profileManager = new DefaultProfileManager( container, profileActivationContext );
 
-        profileManager.explicitlyActivate( explicitlyActiveIds );
-
-        profileManager.explicitlyDeactivate( explicitlyInactiveIds );
-
         profileManager.addProfiles( model.getProfiles() );
 
         if ( useProfilesXml && ( pomFile != null ) )
@@ -204,22 +194,24 @@
             for ( Iterator i = activeExternalProfiles.iterator(); i.hasNext(); )
             {
                 Profile externalProfile = (Profile) i.next();
-
-                for ( Iterator repoIterator = externalProfile.getRepositories().iterator(); repoIterator.hasNext(); )
+                if ( externalProfile.getRepositories() != null )
                 {
-                    Repository mavenRepo = (Repository) repoIterator.next();
-
-                    ArtifactRepository artifactRepo;
-                    try
+                    for ( Iterator repoIterator = externalProfile.getRepositories().iterator(); repoIterator.hasNext(); )
                     {
-                        artifactRepo = mavenTools.buildArtifactRepository( mavenRepo );
-                    }
-                    catch ( InvalidRepositoryException e )
-                    {
-                        throw new ProjectBuildingException( modelId, e.getMessage(), e );
-                    }
+                        Repository mavenRepo = (Repository) repoIterator.next();
 
-                    remoteRepositories.add( artifactRepo );
+                        ArtifactRepository artifactRepo;
+                        try
+                        {
+                            artifactRepo = mavenTools.buildArtifactRepository( mavenRepo );
+                        }
+                        catch ( InvalidRepositoryException e )
+                        {
+                            throw new ProjectBuildingException( modelId, e.getMessage(), e );
+                        }
+
+                        remoteRepositories.add( artifactRepo );
+                    }
                 }
             }
 
@@ -229,16 +221,12 @@
 
     public LinkedHashSet getArtifactRepositoriesFromActiveProfiles( Model model,
                                                                     File pomFile,
-                                                                    List explicitlyActiveIds,
-                                                                    List explicitlyInactiveIds,
                                                                     boolean useProfilesXml,
                                                                     ProfileActivationContext activationContext )
         throws ProjectBuildingException
     {
         ProfileManager profileManager = buildProfileManager( model,
                                                              pomFile,
-                                                             explicitlyActiveIds,
-                                                             explicitlyInactiveIds,
                                                              useProfilesXml,
                                                              activationContext );
 
@@ -263,7 +251,8 @@
 
                     if ( ( active != null ) && !active.isEmpty() )
                     {
-                        profileManager.explicitlyActivate( root.getActiveProfiles() );
+                        ProfileActivationContext ctx = profileManager.getProfileActivationContext();
+                        ctx.setExplicitlyActiveProfileIds( root.getActiveProfiles() );
                     }
 
                     for ( Iterator it = root.getProfiles().iterator(); it.hasNext(); )

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/build/ProfileAdvisor.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/build/ProfileAdvisor.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/build/ProfileAdvisor.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/profiles/build/ProfileAdvisor.java Tue Jan 15 10:34:58 2008
@@ -45,16 +45,12 @@
 
     LinkedHashSet getArtifactRepositoriesFromActiveProfiles( Model model,
                                                              File pomFile,
-                                                             List explicitlyActiveIds,
-                                                             List explicitlyInactiveIds,
                                                              boolean useProfilesXml,
                                                              ProfileActivationContext profileActivationContext )
         throws ProjectBuildingException;
 
     List applyActivatedProfiles( Model model,
                                  File pomFile,
-                                 List explicitlyActiveIds,
-                                 List explicitlyInactiveIds,
                                  boolean useProfilesXml,
                                  ProfileActivationContext activationContext )
         throws ProjectBuildingException;

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=612186&r1=612185&r2=612186&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 Jan 15 10:34:58 2008
@@ -570,10 +570,6 @@
 
         String projectId = safeVersionlessKey( model.getGroupId(), model.getArtifactId() );
 
-        List explicitlyActive;
-
-        List explicitlyInactive;
-
         // FIXME: Find a way to pass in this context, so it's never null!
         ProfileActivationContext profileActivationContext;
 
@@ -589,18 +585,10 @@
                 throw new ProjectBuildingException( projectId, "Failed to activate external profiles.", projectDescriptor, e );
             }
 
-            explicitlyActive = externalProfileManager.getExplicitlyActivatedIds();
-
-            explicitlyInactive = externalProfileManager.getExplicitlyDeactivatedIds();
-
             profileActivationContext = externalProfileManager.getProfileActivationContext();
         }
         else
         {
-            explicitlyActive = Collections.EMPTY_LIST;
-
-            explicitlyInactive = Collections.EMPTY_LIST;
-
             profileActivationContext = new DefaultProfileActivationContext( System.getProperties(), false );
         }
 
@@ -611,7 +599,7 @@
             activeInSuperPom.addAll( activated );
         }
 
-        activated = profileAdvisor.applyActivatedProfiles( superModel, projectDescriptor, explicitlyActive, explicitlyInactive, validProfilesXmlLocation, profileActivationContext );
+        activated = profileAdvisor.applyActivatedProfiles( superModel, projectDescriptor, validProfilesXmlLocation, profileActivationContext );
         if ( !activated.isEmpty() )
         {
             activeInSuperPom.addAll( activated );
@@ -624,8 +612,7 @@
 
         LinkedHashSet aggregatedRemoteWagonRepositories = collectInitialRepositories( model, superModel,
             parentSearchRepositories,
-            projectDescriptor, explicitlyActive,
-            explicitlyInactive,
+            projectDescriptor,
             validProfilesXmlLocation,
             profileActivationContext );
 
@@ -741,17 +728,15 @@
                                                       Model superModel,
                                                       List parentSearchRepositories,
                                                       File pomFile,
-                                                      List explicitlyActive,
-                                                      List explicitlyInactive,
                                                       boolean validProfilesXmlLocation,
                                                       ProfileActivationContext profileActivationContext )
         throws ProjectBuildingException
     {
         LinkedHashSet collected = new LinkedHashSet();
 
-        collectInitialRepositoriesFromModel( collected, model, pomFile, explicitlyActive, explicitlyInactive, validProfilesXmlLocation, profileActivationContext );
+        collectInitialRepositoriesFromModel( collected, model, pomFile, validProfilesXmlLocation, profileActivationContext );
 
-        collectInitialRepositoriesFromModel( collected, superModel, null, explicitlyActive, explicitlyInactive, validProfilesXmlLocation, profileActivationContext );
+        collectInitialRepositoriesFromModel( collected, superModel, null, validProfilesXmlLocation, profileActivationContext );
 
         if ( ( parentSearchRepositories != null ) && !parentSearchRepositories.isEmpty() )
         {
@@ -764,13 +749,11 @@
     private void collectInitialRepositoriesFromModel( LinkedHashSet collected,
                                                       Model model,
                                                       File pomFile,
-                                                      List explicitlyActive,
-                                                      List explicitlyInactive,
                                                       boolean validProfilesXmlLocation,
                                                       ProfileActivationContext profileActivationContext )
         throws ProjectBuildingException
     {
-        Set reposFromProfiles = profileAdvisor.getArtifactRepositoriesFromActiveProfiles( model, pomFile, explicitlyActive, explicitlyInactive, validProfilesXmlLocation, profileActivationContext );
+        Set reposFromProfiles = profileAdvisor.getArtifactRepositoriesFromActiveProfiles( model, pomFile, validProfilesXmlLocation, profileActivationContext );
 
         if ( ( reposFromProfiles != null ) && !reposFromProfiles.isEmpty() )
         {
@@ -974,25 +957,15 @@
 
         modelLineageBuilder.resumeBuildingModelLineage( modelLineage, localRepository, externalProfileManager, !strict );
 
-        List explicitlyActive;
-
-        List explicitlyInactive;
-
         // FIXME: Find a way to pass in this context, so it's never null!
         ProfileActivationContext profileActivationContext;
 
         if ( externalProfileManager != null )
         {
-            explicitlyActive = externalProfileManager.getExplicitlyActivatedIds();
-
-            explicitlyInactive = externalProfileManager.getExplicitlyDeactivatedIds();
-
             profileActivationContext = externalProfileManager.getProfileActivationContext();
         }
         else
         {
-            explicitlyActive = Collections.EMPTY_LIST;
-            explicitlyInactive = Collections.EMPTY_LIST;
             profileActivationContext = new DefaultProfileActivationContext( System.getProperties(), false );
         }
 
@@ -1017,8 +990,7 @@
 
             // NOTE: the caching aspect may replace the parent project instance, so we apply profiles here.
             // TODO: Review this...is that a good idea, to allow application of profiles when other profiles could have been applied already?
-            project.setActiveProfiles( profileAdvisor.applyActivatedProfiles( project.getModel(), project.getFile(), explicitlyActive,
-                                                                              explicitlyInactive, validProfilesXmlLocation, profileActivationContext ) );
+            project.setActiveProfiles( profileAdvisor.applyActivatedProfiles( project.getModel(), project.getFile(), validProfilesXmlLocation, profileActivationContext ) );
 
             lineage.addFirst( project );
 

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/build/model/DefaultModelLineageBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/build/model/DefaultModelLineageBuilder.java?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/build/model/DefaultModelLineageBuilder.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/build/model/DefaultModelLineageBuilder.java Tue Jan 15 10:34:58 2008
@@ -47,7 +47,6 @@
 import java.io.IOException;
 import java.io.Reader;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
@@ -280,22 +279,15 @@
     {
         getLogger().debug( "Grabbing profile-injected repositories for: " + model.getId() );
 
-        List explicitlyActive;
-        List explicitlyInactive;
-
         // FIXME: Find a way to pass in this context, so it's never null!
         ProfileActivationContext context;
 
         if ( profileManager != null )
         {
-            explicitlyActive = profileManager.getExplicitlyActivatedIds();
-            explicitlyInactive = profileManager.getExplicitlyDeactivatedIds();
             context = profileManager.getProfileActivationContext();
         }
         else
         {
-            explicitlyActive = Collections.EMPTY_LIST;
-            explicitlyInactive = Collections.EMPTY_LIST;
             context = new DefaultProfileActivationContext( System.getProperties(), false );
         }
 
@@ -307,8 +299,6 @@
 
         LinkedHashSet pomProfileRepos = profileAdvisor.getArtifactRepositoriesFromActiveProfiles( model,
                                                                                        pomFile,
-                                                                                       explicitlyActive,
-                                                                                       explicitlyInactive,
                                                                                        useProfilesXml,
                                                                                        context );
 

Copied: maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/DefaultMavenRealmManager.java (from r611933, maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenRealmManager.java)
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/DefaultMavenRealmManager.java?p2=maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/DefaultMavenRealmManager.java&p1=maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenRealmManager.java&r1=611933&r2=612186&rev=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenRealmManager.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/DefaultMavenRealmManager.java Tue Jan 15 10:34:58 2008
@@ -1,4 +1,4 @@
-package org.apache.maven.execution;
+package org.apache.maven.realm;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
@@ -54,7 +54,7 @@
 
     private Map pluginArtifacts = new HashMap();
     private Set managedRealmIds = new HashSet();
-    
+
     private final ClassWorld world;
     private final PlexusContainer container;
     private final Logger logger;
@@ -66,10 +66,10 @@
         this.container = container;
         this.logger = logger;
     }
-    
-    //mkleint: the clearing is fine for sequenced operations. Even though the 
+
+    //mkleint: the clearing is fine for sequenced operations. Even though the
     // MavenRealmManager is associated with request, the paralel execution will
-    // eventualy fail as the ClassWorld and PlexusContainer are not meant for 
+    // eventualy fail as the ClassWorld and PlexusContainer are not meant for
     // multithreaded environment.
     public void clear()
     {

Copied: maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/MavenRealmManager.java (from r611933, maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenRealmManager.java)
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/MavenRealmManager.java?p2=maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/MavenRealmManager.java&p1=maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenRealmManager.java&r1=611933&r2=612186&rev=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenRealmManager.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/MavenRealmManager.java Tue Jan 15 10:34:58 2008
@@ -1,4 +1,4 @@
-package org.apache.maven.execution;
+package org.apache.maven.realm;
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.model.Plugin;

Copied: maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/RealmManagementException.java (from r611933, maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/RealmManagementException.java)
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/RealmManagementException.java?p2=maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/RealmManagementException.java&p1=maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/RealmManagementException.java&r1=611933&r2=612186&rev=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/RealmManagementException.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/RealmManagementException.java Tue Jan 15 10:34:58 2008
@@ -1,4 +1,4 @@
-package org.apache.maven.execution;
+package org.apache.maven.realm;
 
 import org.apache.maven.artifact.Artifact;
 import org.codehaus.plexus.classworlds.realm.DuplicateRealmException;

Copied: maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/RealmUtils.java (from r611933, maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/RealmUtils.java)
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/RealmUtils.java?p2=maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/RealmUtils.java&p1=maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/RealmUtils.java&r1=611933&r2=612186&rev=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/RealmUtils.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/realm/RealmUtils.java Tue Jan 15 10:34:58 2008
@@ -1,4 +1,4 @@
-package org.apache.maven.execution;
+package org.apache.maven.realm;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one

Modified: maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml?rev=612186&r1=612185&r2=612186&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml (original)
+++ maven/components/trunk/maven-project/src/main/resources/META-INF/plexus/components.xml Tue Jan 15 10:34:58 2008
@@ -104,19 +104,17 @@
      -->
     <component>
       <role>org.apache.maven.project.MavenProjectBuilder</role>
+      <role-hint>default</role-hint>
       <implementation>org.apache.maven.project.DefaultMavenProjectBuilder</implementation>
       <requirements>
         <requirement>
           <role>org.apache.maven.artifact.metadata.ArtifactMetadataSource</role>
-          <role-hint>default</role-hint>
         </requirement>
         <requirement>
           <role>org.apache.maven.project.build.model.ModelLineageBuilder</role>
-          <role-hint>default</role-hint>
         </requirement>
         <requirement>
           <role>org.apache.maven.profiles.build.ProfileAdvisor</role>
-          <role-hint>default</role-hint>
         </requirement>
         <requirement>
           <role>org.apache.maven.profiles.MavenProfilesBuilder</role>