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]