Author: jvanzyl
Date: Wed Sep 28 19:47:24 2005
New Revision: 292380

URL: http://svn.apache.org/viewcvs?rev=292380&view=rev
Log:
o provide the phases in the lifecycle by extracting the component descriptor
  and pull them out of the configuration.

Modified:
    
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
    
maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java

Modified: 
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java?rev=292380&r1=292379&r2=292380&view=diff
==============================================================================
--- 
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
 (original)
+++ 
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
 Wed Sep 28 19:47:24 2005
@@ -46,8 +46,10 @@
 import org.codehaus.classworlds.DuplicateRealmException;
 import org.codehaus.plexus.PlexusContainerException;
 import org.codehaus.plexus.configuration.PlexusConfigurationException;
+import org.codehaus.plexus.configuration.PlexusConfiguration;
 import 
org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
 import 
org.codehaus.plexus.component.repository.exception.ComponentLookupException;
+import org.codehaus.plexus.component.repository.ComponentDescriptor;
 import org.codehaus.plexus.embed.Embedder;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 import org.codehaus.plexus.util.dag.CycleDetectedException;
@@ -127,8 +129,6 @@
 
     private String globalChecksumPolicy;
 
-    private File mavenHome;
-
     // ----------------------------------------------------------------------
     // Accessors
     // ----------------------------------------------------------------------
@@ -228,16 +228,6 @@
         return localRepositoryDirectory;
     }
 
-    public File getMavenHome()
-    {
-        return mavenHome;
-    }
-
-    public void setMavenHome( File mavenHome )
-    {
-        this.mavenHome = mavenHome;
-    }
-
     // ----------------------------------------------------------------------
     // Embedder Client Contract
     // ----------------------------------------------------------------------
@@ -380,6 +370,36 @@
     }
 
     // ----------------------------------------------------------------------
+    // Lifecycle information
+    // ----------------------------------------------------------------------
+
+    public List getLifecyclePhases()
+        throws MavenEmbedderException
+    {
+        List phases = new ArrayList();
+
+        ComponentDescriptor descriptor = 
embedder.getContainer().getComponentDescriptor( LifecycleExecutor.ROLE );
+
+        PlexusConfiguration configuration = descriptor.getConfiguration();
+
+        PlexusConfiguration[] phasesConfigurations = configuration.getChild( 
"phases" ).getChildren( "phase" );
+
+        try
+        {
+            for ( int i = 0; i < phasesConfigurations.length; i++ )
+            {
+                phases.add( phasesConfigurations[i].getValue() );
+            }
+        }
+        catch ( PlexusConfigurationException e )
+        {
+             throw new MavenEmbedderException( "Cannot retrieve default 
lifecycle phasesConfigurations.", e );
+        }
+
+        return phases;
+    }
+
+    // ----------------------------------------------------------------------
     // Internal utility code
     // ----------------------------------------------------------------------
 
@@ -474,23 +494,6 @@
         // Set the maven.home system property which is need by components like
         // the plugin registry builder.
         // 
----------------------------------------------------------------------
-
-        // TODO: create a maven.home discovery method.
-
-        if ( mavenHome == null )
-        {
-            mavenHome = new File( userHome, "m2" );
-
-            if ( !mavenHome.exists() )
-            {
-                if ( !mavenHome.mkdirs() )
-                {
-                    throw new IllegalStateException( "A maven home directory 
does not exist and cannot be created." );
-                }
-            }
-
-            System.setProperty( "maven.home", mavenHome.getAbsolutePath() );
-        }
 
         if ( classLoader == null )
         {

Modified: 
maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java?rev=292380&r1=292379&r2=292380&view=diff
==============================================================================
--- 
maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java
 (original)
+++ 
maven/components/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java
 Wed Sep 28 19:47:24 2005
@@ -98,6 +98,22 @@
     }
 
     // ----------------------------------------------------------------------
+    // Lifecycle phases
+    // ----------------------------------------------------------------------
+
+    public void testRetrievingLifecyclePhases()
+        throws Exception
+    {
+        List phases = maven.getLifecyclePhases();
+
+        assertEquals( "validate", (String) phases.get( 0 ) );
+
+        assertEquals( "initialize", (String) phases.get( 1 ) );
+
+        assertEquals( "generate-sources", (String) phases.get( 2 ) );
+    }
+
+    // ----------------------------------------------------------------------
     //
     // ----------------------------------------------------------------------
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to