You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2006/09/25 18:35:35 UTC

svn commit: r449728 - in /maven/components/branches/maven-2.1-jvz: ./ maven-cli/src/main/java/org/apache/maven/cli/ maven-embedder/src/main/java/org/apache/maven/embedder/ maven-embedder/src/test/java/org/apache/maven/embedder/

Author: jvanzyl
Date: Mon Sep 25 09:35:34 2006
New Revision: 449728

URL: http://svn.apache.org/viewvc?view=rev&rev=449728
Log:
MNG-2364 Turning off the propagation of System properties and will rely on the properties that are set in the execution request. There
         are a handful of System property related ITs that fail but for embedding you just can't use system properties so we'll have to 
         find the cases where System properties are required for things like proxies, JNDI or anything else and figure out the exceptional
         work around.

Modified:
    maven/components/branches/maven-2.1-jvz/maven-cli/src/main/java/org/apache/maven/cli/MavenCli.java
    maven/components/branches/maven-2.1-jvz/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
    maven/components/branches/maven-2.1-jvz/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java
    maven/components/branches/maven-2.1-jvz/maven.iws

Modified: maven/components/branches/maven-2.1-jvz/maven-cli/src/main/java/org/apache/maven/cli/MavenCli.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.1-jvz/maven-cli/src/main/java/org/apache/maven/cli/MavenCli.java?view=diff&rev=449728&r1=449727&r2=449728
==============================================================================
--- maven/components/branches/maven-2.1-jvz/maven-cli/src/main/java/org/apache/maven/cli/MavenCli.java (original)
+++ maven/components/branches/maven-2.1-jvz/maven-cli/src/main/java/org/apache/maven/cli/MavenCli.java Mon Sep 25 09:35:34 2006
@@ -497,12 +497,5 @@
         }
 
         executionProperties.setProperty( name, value );
-
-        // ----------------------------------------------------------------------
-        // I'm leaving the setting of system properties here as not to break
-        // the SystemPropertyProfileActivator. This won't harm embedding. jvz.
-        // ----------------------------------------------------------------------
-
-        System.setProperty( name, value );
     }
 }

Modified: maven/components/branches/maven-2.1-jvz/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.1-jvz/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java?view=diff&rev=449728&r1=449727&r2=449728
==============================================================================
--- maven/components/branches/maven-2.1-jvz/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java (original)
+++ maven/components/branches/maven-2.1-jvz/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java Mon Sep 25 09:35:34 2006
@@ -16,13 +16,12 @@
  * limitations under the License.
  */
 
+import org.apache.maven.BuildFailureException;
 import org.apache.maven.Maven;
 import org.apache.maven.MavenTools;
 import org.apache.maven.SettingsConfigurationException;
-import org.apache.maven.BuildFailureException;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
-import org.apache.maven.artifact.manager.WagonManager;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
 import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
@@ -34,18 +33,17 @@
 import org.apache.maven.execution.MavenExecutionRequest;
 import org.apache.maven.execution.MavenExecutionResult;
 import org.apache.maven.execution.MavenSession;
-import org.apache.maven.lifecycle.LifecycleExecutor;
 import org.apache.maven.lifecycle.LifecycleExecutionException;
-import org.apache.maven.lifecycle.mapping.Lifecycle;
+import org.apache.maven.lifecycle.LifecycleExecutor;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
 import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
-import org.apache.maven.plugin.descriptor.PluginDescriptor;
-import org.apache.maven.plugin.descriptor.PluginDescriptorBuilder;
-import org.apache.maven.plugin.descriptor.MojoDescriptor;
 import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.plugin.PluginNotFoundException;
 import org.apache.maven.plugin.PluginManager;
+import org.apache.maven.plugin.PluginNotFoundException;
+import org.apache.maven.plugin.descriptor.MojoDescriptor;
+import org.apache.maven.plugin.descriptor.PluginDescriptor;
+import org.apache.maven.plugin.descriptor.PluginDescriptorBuilder;
 import org.apache.maven.profiles.DefaultProfileManager;
 import org.apache.maven.profiles.ProfileManager;
 import org.apache.maven.project.MavenProject;
@@ -63,8 +61,8 @@
 import org.codehaus.plexus.configuration.PlexusConfiguration;
 import org.codehaus.plexus.configuration.PlexusConfigurationException;
 import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
 import java.io.File;
 import java.io.FileReader;
@@ -74,12 +72,11 @@
 import java.io.Writer;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.List;
-import java.util.Iterator;
-import java.util.Map;
 import java.util.Date;
-import java.util.HashMap;
+import java.util.Iterator;
 import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
 
 // collapse embed request into request
 // take the stuff out of the start() and make it part of the request
@@ -89,7 +86,7 @@
 /**
  * Class intended to be used by clients who wish to embed Maven into their applications
  *
- * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
+ * @author Jason van Zyl
  */
 public class MavenEmbedder
 {
@@ -113,8 +110,6 @@
 
     private ArtifactRepositoryFactory artifactRepositoryFactory;
 
-    private WagonManager wagonManager;
-
     private MavenXpp3Reader modelReader;
 
     private MavenXpp3Writer modelWriter;
@@ -166,6 +161,8 @@
         try
         {
             container = new DefaultPlexusContainer( null, null, null, classWorld );
+
+            container.getContainerRealm().display();
         }
         catch ( PlexusContainerException e )
         {
@@ -212,8 +209,6 @@
             defaultArtifactRepositoryLayout =
                 (ArtifactRepositoryLayout) container.lookup( ArtifactRepositoryLayout.ROLE, DEFAULT_LAYOUT_ID );
 
-            wagonManager = (WagonManager) container.lookup( WagonManager.ROLE );
-
             // Components for looking up plugin metadata
 
             lifecycleExecutor = (LifecycleExecutor) container.lookup( LifecycleExecutor.ROLE );
@@ -231,16 +226,6 @@
     // Accessors
     // ----------------------------------------------------------------------
 
-    public void setClassWorld( ClassWorld classWorld )
-    {
-        this.classWorld = classWorld;
-    }
-
-    public ClassWorld getClassWorld()
-    {
-        return classWorld;
-    }
-
     public File getLocalRepositoryDirectory()
     {
         return new File( getLocalRepositoryPath( settings ) );
@@ -444,6 +429,72 @@
         return phases;
     }
 
+    public Map getLifecycleMappings( MavenProject project,
+                                     String lifecycle,
+                                     String lastPhase )
+        throws LifecycleExecutionException, BuildFailureException, PluginNotFoundException
+    {
+        MavenSession session =
+            new MavenSession( container, settings, getLocalRepository(), null, null, null, null, null, new Date() );
+
+        Map lifecycleMappings = lifecycleExecutor.constructLifecycleMappings( session, project, lifecycle, lastPhase );
+
+        Map phases = new LinkedHashMap();
+
+        for ( Iterator i = lifecycleMappings.keySet().iterator(); i.hasNext(); )
+        {
+            String lifecycleId = (String) i.next();
+
+            List mojos = (List) lifecycleMappings.get( lifecycleId );
+
+            Map executions = new LinkedHashMap();
+
+            String groupId;
+
+            String artifactId;
+
+            String goalId;
+
+            for ( Iterator j = mojos.iterator(); j.hasNext(); )
+            {
+                MojoExecution mojoExecution = (MojoExecution) j.next();
+
+                MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
+
+                goalId = mojoDescriptor.getGoal();
+
+                groupId = mojoDescriptor.getPluginDescriptor().getGroupId();
+
+                artifactId = mojoDescriptor.getPluginDescriptor().getArtifactId();
+
+                String executionId = mojoExecution.getExecutionId();
+
+                Xpp3Dom goalConfigurationDom = project.getGoalConfiguration( groupId, artifactId, executionId, goalId );
+
+                XmlPlexusConfiguration pomConfiguration;
+
+                if ( goalConfigurationDom == null )
+                {
+                    pomConfiguration = new XmlPlexusConfiguration( "configuration" );
+                }
+                else
+                {
+                    pomConfiguration = new XmlPlexusConfiguration( goalConfigurationDom );
+                }
+
+                PlexusConfiguration mergedConfiguration =
+                    pluginManager.mergeMojoConfiguration( pomConfiguration, mojoDescriptor );
+
+                executions.put( groupId + ":" + artifactId + ":" + goalId, mergedConfiguration );
+
+            }
+
+            phases.put( lifecycleId, executions );
+        }
+
+        return lifecycleMappings;
+    }
+
     // ----------------------------------------------------------------------
     // Remote Repository
     // ----------------------------------------------------------------------
@@ -577,76 +628,6 @@
     public String getLocalRepositoryPath( Settings settings )
     {
         return mavenTools.getLocalRepositoryPath( settings );
-    }
-
-    // ----------------------------------------------------------------------------
-    // Lifecycle Metadata
-    // ----------------------------------------------------------------------------
-
-    public Map getLifecycleMappings( MavenProject project,
-                                     String lifecycle,
-                                     String lastPhase )
-        throws LifecycleExecutionException, BuildFailureException, PluginNotFoundException
-    {
-        MavenSession session =
-            new MavenSession( container, settings, getLocalRepository(), null, null, null, null, null, new Date() );
-
-        Map lifecycleMappings = lifecycleExecutor.constructLifecycleMappings( session, project, lifecycle, lastPhase );
-
-        Map phases = new LinkedHashMap();
-
-        for ( Iterator i = lifecycleMappings.keySet().iterator(); i.hasNext(); )
-        {
-            String lifecycleId = (String) i.next();
-
-            List mojos = (List) lifecycleMappings.get( lifecycleId );
-
-            Map executions = new LinkedHashMap();
-
-            String groupId;
-
-            String artifactId;
-
-            String goalId;
-
-            for ( Iterator j = mojos.iterator(); j.hasNext(); )
-            {
-                MojoExecution mojoExecution = (MojoExecution) j.next();
-
-                MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
-
-                goalId = mojoDescriptor.getGoal();
-
-                groupId = mojoDescriptor.getPluginDescriptor().getGroupId();
-
-                artifactId = mojoDescriptor.getPluginDescriptor().getArtifactId();
-
-                String executionId = mojoExecution.getExecutionId();
-
-                Xpp3Dom goalConfigurationDom = project.getGoalConfiguration( groupId, artifactId, executionId, goalId );
-
-                XmlPlexusConfiguration pomConfiguration;
-
-                if ( goalConfigurationDom == null )
-                {
-                    pomConfiguration = new XmlPlexusConfiguration( "configuration" );
-                }
-                else
-                {
-                    pomConfiguration = new XmlPlexusConfiguration( goalConfigurationDom );
-                }
-
-                PlexusConfiguration mergedConfiguration =
-                    pluginManager.mergeMojoConfiguration( pomConfiguration, mojoDescriptor );
-
-                executions.put( groupId + ":" + artifactId + ":" + goalId, mergedConfiguration );
-
-            }
-
-            phases.put( lifecycleId, executions );
-        }
-
-        return lifecycleMappings;
     }
 }
 

Modified: maven/components/branches/maven-2.1-jvz/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.1-jvz/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java?view=diff&rev=449728&r1=449727&r2=449728
==============================================================================
--- maven/components/branches/maven-2.1-jvz/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java (original)
+++ maven/components/branches/maven-2.1-jvz/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java Mon Sep 25 09:35:34 2006
@@ -79,7 +79,7 @@
     // Goal/Phase execution tests
     // ----------------------------------------------------------------------
 
-    public void xtestPhaseExecution()
+    public void testPhaseExecution()
         throws Exception
     {
         File testDirectory = new File( basedir, "src/test/embedder-test-project" );

Modified: maven/components/branches/maven-2.1-jvz/maven.iws
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.1-jvz/maven.iws?view=diff&rev=449728&r1=449727&r2=449728
==============================================================================
--- maven/components/branches/maven-2.1-jvz/maven.iws (original)
+++ maven/components/branches/maven-2.1-jvz/maven.iws Mon Sep 25 09:35:34 2006
@@ -17,8 +17,8 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" name="Default" comment="">
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java" afterPath="$PROJECT_DIR$/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/maven-cli/src/main/java/org/apache/maven/cli/MavenCli.java" afterPath="$PROJECT_DIR$/maven-cli/src/main/java/org/apache/maven/cli/MavenCli.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java" afterPath="$PROJECT_DIR$/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java" afterPath="$PROJECT_DIR$/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java" afterPath="$PROJECT_DIR$/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutor.java" afterPath="$PROJECT_DIR$/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutor.java" />
@@ -142,10 +142,10 @@
   <component name="FavoritesProjectViewPane" />
   <component name="FileEditorManager">
     <leaf>
-      <file leaf-file-name="MavenEmbedder.java" pinned="false" current="true" current-in-tab="true">
+      <file leaf-file-name="MavenEmbedder.java" pinned="false" current="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="266" column="0" selection-start="9768" selection-end="9768" vertical-scroll-proportion="0.13649851">
+            <state line="194" column="35" selection-start="7285" selection-end="7285" vertical-scroll-proportion="-1.2967359">
               <folding>
                 <element signature="imports" expanded="true" />
               </folding>
@@ -153,10 +153,10 @@
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="SettingsAdapter.java" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/maven-embedder/src/main/java/org/apache/maven/embedder/user/SettingsAdapter.java">
+      <file leaf-file-name="MavenCli.java" pinned="false" current="true" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/maven-cli/src/main/java/org/apache/maven/cli/MavenCli.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="12" column="13" selection-start="313" selection-end="313" vertical-scroll-proportion="0.21364985">
+            <state line="495" column="55" selection-start="17564" selection-end="17564" vertical-scroll-proportion="0.78635013">
               <folding>
                 <element signature="imports" expanded="true" />
               </folding>
@@ -164,30 +164,28 @@
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="MavenEmbedderTest.java" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java">
+      <file leaf-file-name="CLIManager.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/maven-cli/src/main/java/org/apache/maven/cli/CLIManager.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="210" column="30" selection-start="6597" selection-end="6597" vertical-scroll-proportion="0.89317507">
+            <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.054628223">
               <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="DefaultLifecycleExecutor.java" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java">
+      <file leaf-file-name="SystemPropertyProfileActivator.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/maven-project/src/main/java/org/apache/maven/profiles/activation/SystemPropertyProfileActivator.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="1353" column="17" selection-start="54644" selection-end="54644" vertical-scroll-proportion="0.3323217">
-              <folding>
-                <element signature="imports" expanded="true" />
-              </folding>
+            <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.17804155">
+              <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="LifecycleExecutor.java" pinned="false" current="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutor.java">
+      <file leaf-file-name="MavenEmbedderTest.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state line="39" column="17" selection-start="1415" selection-end="1415" vertical-scroll-proportion="0.56973296">
+            <state line="94" column="27" selection-start="2774" selection-end="2774" vertical-scroll-proportion="1.2848665">
               <folding />
             </state>
           </provider>
@@ -894,7 +892,7 @@
     </todo-panel>
   </component>
   <component name="ToolWindowManager">
-    <frame x="1" y="22" width="1440" height="821" extended-state="0" />
+    <frame x="0" y="22" width="1440" height="821" extended-state="6" />
     <editor active="true" />
     <layout>
       <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
@@ -1005,29 +1003,6 @@
     <option name="myLastEditedConfigurable" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/maven-tools/src/main/java/org/apache/maven/DefaultMavenTools.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/maven-cli/src/main/java/org/apache/maven/cli/MavenCli.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state line="44" column="13" selection-start="1647" selection-end="1647" vertical-scroll-proportion="-0.64688426">
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/maven-core/src/main/java/org/apache/maven/DefaultMaven.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state line="85" column="13" selection-start="3897" selection-end="3897" vertical-scroll-proportion="0.3323442">
-          <folding />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderException.java">
       <provider selected="true" editor-type-id="text-editor">
         <state line="22" column="13" selection-start="810" selection-end="810" vertical-scroll-proportion="0.3916914">
@@ -1110,14 +1085,37 @@
     </entry>
     <entry file="file://$PROJECT_DIR$/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="210" column="30" selection-start="6597" selection-end="6597" vertical-scroll-proportion="0.89317507">
+        <state line="94" column="27" selection-start="2774" selection-end="2774" vertical-scroll-proportion="1.2848665">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/maven-project/src/main/java/org/apache/maven/profiles/activation/SystemPropertyProfileActivator.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.17804155">
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="266" column="0" selection-start="9768" selection-end="9768" vertical-scroll-proportion="0.13649851">
+        <state line="194" column="35" selection-start="7285" selection-end="7285" vertical-scroll-proportion="-1.2967359">
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/maven-cli/src/main/java/org/apache/maven/cli/CLIManager.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="-0.054628223">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/maven-cli/src/main/java/org/apache/maven/cli/MavenCli.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="495" column="55" selection-start="17564" selection-end="17564" vertical-scroll-proportion="0.78635013">
           <folding>
             <element signature="imports" expanded="true" />
           </folding>