Author: jvanzyl
Date: Mon Mar 23 01:27:27 2009
New Revision: 757293
URL: http://svn.apache.org/viewvc?rev=757293&view=rev
Log:
o lifecycle executor now strictly deals with plugins, and is 500 lines (still
needs to be smaller) and is getting
a lot more efficient
Added:
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/DefaultLifecycleMapping.java
- copied, changed from r757275,
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleMapping.java
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/Lifecycle.java
(with props)
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/LifecycleMapping.java
- copied, changed from r757275,
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleMapping.java
maven/components/branches/MNG-2766/maven-core/src/test/projects/
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/pom.xml
(with props)
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/main/
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/main/java/
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/main/java/org/
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/main/java/org/apache/
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/main/java/org/apache/maven/
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/main/java/org/apache/maven/lifecycle/
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/main/java/org/apache/maven/lifecycle/test/
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/main/java/org/apache/maven/lifecycle/test/App.java
(with props)
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/java/
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/java/org/
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/java/org/apache/
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/java/org/apache/maven/
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/java/org/apache/maven/lifecycle/
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/java/org/apache/maven/lifecycle/test/
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/java/org/apache/maven/lifecycle/test/AppTest.java
(with props)
Removed:
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleMapping.java
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleMapping.java
Modified:
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/Lifecycle.java
maven/components/branches/MNG-2766/maven-core/src/main/resources/META-INF/plexus/artifact-handlers.xml
maven/components/branches/MNG-2766/maven-core/src/main/resources/META-INF/plexus/components.xml
Modified:
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java
URL:
http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java?rev=757293&r1=757292&r2=757293&view=diff
==============================================================================
---
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java
(original)
+++
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java
Mon Mar 23 01:27:27 2009
@@ -111,7 +111,7 @@
return request.getLocalRepository();
}
- public List getGoals()
+ public List<String> getGoals()
{
return request.getGoals();
}
Modified:
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
URL:
http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java?rev=757293&r1=757292&r2=757293&view=diff
==============================================================================
---
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
(original)
+++
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
Mon Mar 23 01:27:27 2009
@@ -18,36 +18,25 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
-import java.util.Iterator;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;
import org.apache.maven.BuildFailureException;
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.execution.ReactorManager;
+import org.apache.maven.lifecycle.mapping.LifecycleMapping;
import org.apache.maven.model.Plugin;
import org.apache.maven.model.PluginExecution;
-import org.apache.maven.model.ReportPlugin;
-import org.apache.maven.model.ReportSet;
import org.apache.maven.monitor.event.EventDispatcher;
import org.apache.maven.monitor.event.MavenEvents;
import org.apache.maven.plugin.InvalidPluginException;
-import org.apache.maven.plugin.MojoExecution;
-import org.apache.maven.plugin.MojoFailureException;
-import org.apache.maven.plugin.PluginConfigurationException;
import org.apache.maven.plugin.PluginLoaderException;
import org.apache.maven.plugin.PluginManager;
-import org.apache.maven.plugin.PluginManagerException;
-import org.apache.maven.plugin.PluginNotFoundException;
-import org.apache.maven.plugin.PluginVersionNotFoundException;
-import org.apache.maven.plugin.PluginVersionResolutionException;
import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.project.MavenProject;
-import org.apache.maven.reporting.MavenReport;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
@@ -68,8 +57,6 @@
private List<Lifecycle> lifecycles;
- private List defaultReports;
-
private Map<String, Lifecycle> phaseToLifecycleMap;
@Requirement
@@ -89,7 +76,7 @@
// within the same reactor (using an inclusion pattern to gather them
up)...
MavenProject rootProject = rm.getTopLevelProject();
- List goals = session.getGoals();
+ List<String> goals = session.getGoals();
if ( goals.isEmpty() && rootProject != null )
{
@@ -115,7 +102,7 @@
{
if ( lifecycle.getId().equals( "default" ) )
{
- return (List<String>) lifecycle.getPhases().values();
+ return (List<String>) lifecycle.getPhases();
}
}
@@ -283,6 +270,8 @@
// 1. Find the lifecycle given the phase (default lifecycle when given
install)
// 2. Find the lifecycle mapping that corresponds to the project packaging
(jar lifecycle mapping given the jar packaging)
// 3. Find the mojos associated with the lifecycle given the project
packaging (jar lifecycle mapping for the default lifecycle)
+ // 4. Bind those mojos found in the lifecycle mapping for the packaging to
the lifecycle
+ // 5. Bind mojos specified in the project itself to the lifecycle
private void executeGoal( String task, MavenSession session, MavenProject
project )
throws LifecycleExecutionException, BuildFailureException
{
@@ -290,457 +279,103 @@
Lifecycle lifecycle = phaseToLifecycleMap.get( task );
// 2.
- LifecycleMapping mapping = lifecycleMappings.get(
project.getPackaging() );
+ LifecycleMapping lifecycleMappingForPackaging = lifecycleMappings.get(
project.getPackaging() );
// 3.
- Map<String,String> lifecyclePhases = mapping.getLifecycles().get(
"default" ).getPhases();
+ Map<String, String> lifecyclePhasesForPackaging =
lifecycleMappingForPackaging.getLifecycles().get( "default" ).getPhases();
- for( String phase : lifecycle.getPhases().values() )
- {
- System.out.println( ">> " + phase );
- }
-
- /*
- try
- {
- if ( lifecycle != null )
- {
- Map lifecycleMappings = constructLifecycleMappings( session,
task, project, lifecycle );
-
- executeGoalWithLifecycle( task, session, lifecycleMappings,
project, lifecycle );
- }
- else
- {
- executeStandaloneGoal( task, session, project );
- }
- }
- catch ( PluginNotFoundException e )
- {
- throw new BuildFailureException( "A required plugin was not found:
" + e.getMessage(), e );
- }
- */
- }
-
- /*
- private void executeGoalWithLifecycle( String task, MavenSession session,
Map lifecycleMappings, MavenProject project, Lifecycle lifecycle )
- throws LifecycleExecutionException, BuildFailureException,
PluginNotFoundException
- {
- List goals = new ArrayList();
-
- // only execute up to the given phase
- int index = lifecycle.getPhases().indexOf( task );
-
- for ( int i = 0; i <= index; i++ )
- {
- String p = (String) lifecycle.getPhases().get( i );
-
- List phaseGoals = (List) lifecycleMappings.get( p );
-
- if ( phaseGoals != null )
- {
- goals.addAll( phaseGoals );
- }
- }
-
- if ( !goals.isEmpty() )
- {
- executeGoals( goals, session, project );
- }
- else
- {
- getLogger().info( "No goals needed for project - skipping" );
- }
- }
- */
-
- private void executeStandaloneGoal( String task, MavenSession session,
MavenProject project )
- throws LifecycleExecutionException, BuildFailureException,
PluginNotFoundException
- {
- // guaranteed to come from the CLI and not be part of a phase
- MojoDescriptor mojoDescriptor = getMojoDescriptor( task, session,
project );
- executeGoals( Collections.singletonList( new MojoExecution(
mojoDescriptor ) ), session, project );
- }
-
- private void executeGoals( List<MojoExecution> goals, MavenSession
session, MavenProject project )
- throws LifecycleExecutionException, BuildFailureException,
PluginNotFoundException
- {
- for ( MojoExecution mojoExecution : goals )
- {
- MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
-
- if ( mojoDescriptor.isRequiresReports() )
- {
- List reports = getReports( project, mojoExecution, session );
-
- mojoExecution.setReports( reports );
- }
-
- try
- {
- pluginManager.executeMojo( project, mojoExecution, session );
- }
- catch ( PluginManagerException e )
- {
- throw new LifecycleExecutionException( "Internal error in the
plugin manager executing goal '" + mojoDescriptor.getId() + "': " +
e.getMessage(), e );
- }
- catch ( MojoFailureException e )
- {
- throw new BuildFailureException( e.getMessage(), e );
- }
- catch ( PluginConfigurationException e )
+ // Create an order Map of the phases in the lifecycle to a list of
mojos to execute.
+ Map<String,List<String>> phaseToMojoMapping = new
LinkedHashMap<String,List<String>>();
+
+ // 4.
+ for ( String phase : lifecycle.getPhases() )
+ {
+ List<String> mojos = new ArrayList<String>();
+
+ // Bind the mojos in the lifecycle mapping for the packaging to
the lifecycle itself. If
+ // we can find the specified phase in the packaging them grab
those mojos and add them to
+ // the list we are going to execute.
+ String mojo = lifecyclePhasesForPackaging.get( phase );
+
+ if ( mojo != null )
+ {
+ mojos.add( mojo );
+ }
+
+ phaseToMojoMapping.put( phase, mojos );
+
+ // We only want to execute up to and including the specified
lifecycle phase.
+ if ( phase.equals( task ) )
{
- throw new LifecycleExecutionException( e.getMessage(), e );
+ break;
}
}
- }
-
- private List getReports( MavenProject project, MojoExecution
mojoExecution, MavenSession session )
- throws LifecycleExecutionException, PluginNotFoundException
- {
- List reportPlugins = project.getReportPlugins();
-
- if ( project.getModel().getReports() != null )
- {
- getLogger().error( "Plugin contains a <reports/> section: this is
IGNORED - please use <reporting/> instead." );
- }
-
- if ( project.getReporting() == null ||
!project.getReporting().isExcludeDefaults() )
+
+ // 5.
+
+ for( Plugin plugin : project.getBuild().getPlugins() )
{
- if ( reportPlugins == null )
- {
- reportPlugins = new ArrayList();
- }
- else
- {
- reportPlugins = new ArrayList( reportPlugins );
- }
-
- for ( Iterator i = defaultReports.iterator(); i.hasNext(); )
+ for( PluginExecution execution : plugin.getExecutions() )
{
- String report = (String) i.next();
-
- StringTokenizer tok = new StringTokenizer( report, ":" );
- int count = tok.countTokens();
- if ( count != 2 && count != 3 )
- {
- getLogger().warn( "Invalid default report ignored: '" +
report + "' (must be groupId:artifactId[:version])" );
- }
- else
+ // if the phase is specified then I don't have to go fetch the
plugin yet and pull it down
+ // to examine the phase it is associated to.
+ if ( execution.getPhase() != null )
{
- String groupId = tok.nextToken();
- String artifactId = tok.nextToken();
- String version = tok.hasMoreTokens() ? tok.nextToken() :
null;
-
- boolean found = false;
- for ( Iterator j = reportPlugins.iterator(); j.hasNext()
&& !found; )
+ for( String goal : execution.getGoals() )
{
- ReportPlugin reportPlugin = (ReportPlugin) j.next();
- if ( reportPlugin.getGroupId().equals( groupId ) &&
reportPlugin.getArtifactId().equals( artifactId ) )
- {
- found = true;
- }
+ String s = plugin.getGroupId() + ":" +
plugin.getArtifactId() + ":" + plugin.getVersion() + ":" + goal;
+ phaseToMojoMapping.get( execution.getPhase() ).add( s
);
}
-
- if ( !found )
- {
- ReportPlugin reportPlugin = new ReportPlugin();
- reportPlugin.setGroupId( groupId );
- reportPlugin.setArtifactId( artifactId );
- reportPlugin.setVersion( version );
- reportPlugins.add( reportPlugin );
- }
- }
- }
- }
-
- List reports = new ArrayList();
- if ( reportPlugins != null )
- {
- for ( Iterator it = reportPlugins.iterator(); it.hasNext(); )
- {
- ReportPlugin reportPlugin = (ReportPlugin) it.next();
-
- List reportSets = reportPlugin.getReportSets();
-
- if ( reportSets == null || reportSets.isEmpty() )
- {
- reports.addAll( getReports( reportPlugin, null, project,
session, mojoExecution ) );
- }
+
+ }
+ // if not then i need to grab the mojo descriptor and look at
+ // the phase that is specified
else
{
- for ( Iterator j = reportSets.iterator(); j.hasNext(); )
+ for( String goal : execution.getGoals() )
{
- ReportSet reportSet = (ReportSet) j.next();
-
- reports.addAll( getReports( reportPlugin, reportSet,
project, session, mojoExecution ) );
+ String s = plugin.getGroupId() + ":" +
plugin.getArtifactId() + ":" + plugin.getVersion() + ":" + goal;
+ MojoDescriptor md = getMojoDescriptor( s, session,
project);
+ phaseToMojoMapping.get( md.getPhase() ).add( s );
}
}
}
}
- return reports;
- }
-
- private List getReports( ReportPlugin reportPlugin, ReportSet reportSet,
MavenProject project, MavenSession session, MojoExecution mojoExecution )
- throws LifecycleExecutionException, PluginNotFoundException
- {
- PluginDescriptor pluginDescriptor = loadReport( reportPlugin, project,
session );
-
- List reports = new ArrayList();
-
- for ( Iterator i = pluginDescriptor.getMojos().iterator();
i.hasNext(); )
+
+ // We need to turn this into a set of MojoExecutions
+ for( List<String> mojos : phaseToMojoMapping.values() )
{
- MojoDescriptor mojoDescriptor = (MojoDescriptor) i.next();
-
- // TODO: check ID is correct for reports
- // if the POM configured no reports, give all from plugin
- if ( reportSet == null || reportSet.getReports().contains(
mojoDescriptor.getGoal() ) )
+ for( String mojo : mojos )
{
- String id = null;
- if ( reportSet != null )
- {
- id = reportSet.getId();
- }
-
- MojoExecution reportExecution = new MojoExecution(
mojoDescriptor, id );
-
- try
- {
- MavenReport reportMojo = pluginManager.getReport( project,
reportExecution, session );
-
- // Comes back null if it was a plugin, not a report -
these are mojos in the reporting plugins that are not reports
- if ( reportMojo != null )
- {
- reports.add( reportMojo );
-
- mojoExecution.addMojoExecution( reportExecution );
- }
- }
- catch ( PluginManagerException e )
- {
- throw new LifecycleExecutionException( "Error getting
reports from the plugin '" + reportPlugin.getKey() + "': " + e.getMessage(), e
);
- }
- catch ( PluginConfigurationException e )
- {
- throw new LifecycleExecutionException( "Error getting
reports from the plugin '" + reportPlugin.getKey() + "'", e );
- }
- catch ( ArtifactNotFoundException e )
- {
- throw new LifecycleExecutionException( e.getMessage(), e );
- }
- catch ( ArtifactResolutionException e )
- {
- throw new LifecycleExecutionException( e.getMessage(), e );
- }
+ System.out.println( ">> " + mojo );
}
- }
- return reports;
- }
-
- /*
- private Map constructLifecycleMappings( MavenSession session, String
selectedPhase, MavenProject project, Lifecycle lifecycle )
- throws LifecycleExecutionException, BuildFailureException,
PluginNotFoundException
- {
- // first, bind those associated with the packaging
- Map lifecycleMappings = bindLifecycleForPackaging( session,
selectedPhase, project, lifecycle );
-
- // next, loop over plugins and for any that have a phase, bind it
- for ( Iterator i = project.getBuildPlugins().iterator(); i.hasNext(); )
- {
- Plugin plugin = (Plugin) i.next();
-
- bindPluginToLifecycle( plugin, session, lifecycleMappings, project
);
- }
-
- return lifecycleMappings;
- }
- */
-
- /*
- private Map bindLifecycleForPackaging( MavenSession session, String
selectedPhase, MavenProject project, Lifecycle lifecycle )
- throws LifecycleExecutionException, BuildFailureException,
PluginNotFoundException
- {
- Map mappings = findMappingsForLifecycle( session, project, lifecycle );
-
- Map lifecycleMappings = new HashMap();
-
- for ( Iterator i = lifecycle.getPhases().iterator(); i.hasNext(); )
- {
- String phase = (String) i.next();
-
- String phaseTasks = (String) mappings.get( phase );
-
- if ( phaseTasks != null )
- {
- for ( StringTokenizer tok = new StringTokenizer( phaseTasks,
"," ); tok.hasMoreTokens(); )
- {
- String goal = tok.nextToken().trim();
-
- // Not from the CLI, don't use prefix
- MojoDescriptor mojoDescriptor = getMojoDescriptor( goal,
session, project );
-
- if ( mojoDescriptor == null )
- {
- continue;
- }
-
- if ( mojoDescriptor.isDirectInvocationOnly() )
- {
- throw new LifecycleExecutionException( "Mojo: \'" +
goal + "\' requires direct invocation. It cannot be used as part of lifecycle:
\'" + project.getPackaging() + "\'." );
- }
-
- addToLifecycleMappings( lifecycleMappings, phase, new
MojoExecution( mojoDescriptor ), session );
- }
- }
-
- if ( phase.equals( selectedPhase ) )
- {
- break;
- }
- }
-
- return lifecycleMappings;
- }
- */
-
- private Map findMappingsForLifecycle( MavenSession session, MavenProject
project, Lifecycle lifecycle )
- throws LifecycleExecutionException, PluginNotFoundException
- {
- String packaging = project.getPackaging();
- Map mappings = null;
-
- LifecycleMapping m;
-
- Map defaultMappings = lifecycle.getDefaultPhases();
-
- if ( mappings == null )
+ }
+
+ /*
+ for ( MojoExecution mojoExecution : goals )
{
- m = lifecycleMappings.get( packaging );
-
- mappings = null; //m.getLifecycles().get( lifecycle.getId() );
- }
+ MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
- if ( mappings == null )
- {
- if ( defaultMappings == null )
- {
- throw new LifecycleExecutionException( "Cannot find lifecycle
mapping for packaging: \'" + packaging + "\', and there is no default" );
- }
- else
+ try
{
- mappings = defaultMappings;
+ pluginManager.executeMojo( project, mojoExecution, session );
}
- }
-
- return mappings;
- }
-
- /**
- * Take each mojo contained with a plugin, look to see whether it
contributes to a phase in the
- * lifecycle and if it does place it at the end of the list of goals to
execute for that given
- * phase.
- *
- * @param project
- * @param session
- * @throws PluginVersionNotFoundException
- * @throws PluginManagerException
- * @throws InvalidPluginException
- * @throws PluginVersionResolutionException
- * @throws ArtifactNotFoundException
- * @throws ArtifactResolutionException
- */
- private void bindPluginToLifecycle( Plugin plugin, MavenSession session,
Map phaseMap, MavenProject project )
- throws LifecycleExecutionException
- {
- PluginDescriptor pluginDescriptor = loadPlugin( plugin, project,
session );
-
- if ( pluginDescriptor.getMojos() != null &&
!pluginDescriptor.getMojos().isEmpty() )
- {
- // use the plugin if inherit was true in a base class, or it is in
the current POM, otherwise use the default inheritence setting
- if ( plugin.isInheritanceApplied() ||
pluginDescriptor.isInheritedByDefault() )
+ catch ( PluginManagerException e )
{
- if ( plugin.getGoals() != null )
- {
- getLogger().error( "Plugin contains a <goals/> section:
this is IGNORED - please use <executions/> instead." );
- }
-
- List executions = plugin.getExecutions();
-
- if ( executions != null )
- {
- for ( Iterator it = executions.iterator(); it.hasNext(); )
- {
- PluginExecution execution = (PluginExecution)
it.next();
-
- bindExecutionToLifecycle( pluginDescriptor, phaseMap,
execution, session );
- }
- }
+ throw new LifecycleExecutionException( "Internal error in the
plugin manager executing goal '" + mojoDescriptor.getId() + "': " +
e.getMessage(), e );
}
- }
- }
-
- private void bindExecutionToLifecycle( PluginDescriptor pluginDescriptor,
Map phaseMap, PluginExecution execution, MavenSession session )
- throws LifecycleExecutionException
- {
- for ( Iterator i = execution.getGoals().iterator(); i.hasNext(); )
- {
- String goal = (String) i.next();
-
- MojoDescriptor mojoDescriptor = pluginDescriptor.getMojo( goal );
- if ( mojoDescriptor == null )
+ catch ( MojoFailureException e )
{
- throw new LifecycleExecutionException( "'" + goal + "' was
specified in an execution, but not found in the plugin" );
+ throw new BuildFailureException( e.getMessage(), e );
}
-
- // We have to check to see that the inheritance rules have been
applied before binding this mojo.
- if ( execution.isInheritanceApplied() ||
mojoDescriptor.isInheritedByDefault() )
+ catch ( PluginConfigurationException e )
{
- MojoExecution mojoExecution = new MojoExecution(
mojoDescriptor, execution.getId() );
-
- String phase = execution.getPhase();
-
- if ( phase == null )
- {
- // if the phase was not in the configuration, use the
phase in the descriptor
- phase = mojoDescriptor.getPhase();
- }
-
- if ( phase != null )
- {
- if ( mojoDescriptor.isDirectInvocationOnly() )
- {
- throw new LifecycleExecutionException( "Mojo: \'" +
goal + "\' requires direct invocation. It cannot be used as part of the
lifecycle (it was included via the POM)." );
- }
-
- addToLifecycleMappings( phaseMap, phase, mojoExecution,
session );
- }
+ throw new LifecycleExecutionException( e.getMessage(), e );
}
- }
+ }
+ */
}
- private void addToLifecycleMappings( Map lifecycleMappings, String phase,
MojoExecution mojoExecution, MavenSession session )
- {
- List goals = (List) lifecycleMappings.get( phase );
-
- if ( goals == null )
- {
- goals = new ArrayList();
- lifecycleMappings.put( phase, goals );
- }
-
- MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
- if ( session.isOffline() && mojoDescriptor.isOnlineRequired() )
- {
- String goal = mojoDescriptor.getGoal();
- getLogger().warn( goal + " requires online mode, but maven is
currently offline. Disabling " + goal + "." );
- }
- else
- {
- goals.add( mojoExecution );
- }
- }
-
- // all this logic should go to the plugin manager
-
MojoDescriptor getMojoDescriptor( String task, MavenSession session,
MavenProject project )
throws LifecycleExecutionException
{
@@ -749,7 +384,7 @@
StringTokenizer tok = new StringTokenizer( task, ":" );
int numTokens = tok.countTokens();
-
+
if ( numTokens == 2 )
{
String prefix = tok.nextToken();
@@ -769,10 +404,8 @@
// Search plugin in the current POM
if ( plugin == null )
{
- for ( Iterator i = project.getBuildPlugins().iterator();
i.hasNext(); )
+ for ( Plugin buildPlugin : project.getBuildPlugins() )
{
- Plugin buildPlugin = (Plugin) i.next();
-
PluginDescriptor desc = loadPlugin( buildPlugin, project,
session );
if ( prefix.equals( desc.getGoalPrefix() ) )
@@ -803,10 +436,8 @@
if ( plugin.getVersion() == null )
{
- for ( Iterator i = project.getBuildPlugins().iterator();
i.hasNext(); )
+ for ( Plugin buildPlugin : project.getBuildPlugins() )
{
- Plugin buildPlugin = (Plugin) i.next();
-
if ( buildPlugin.getKey().equals( plugin.getKey() ) )
{
plugin = buildPlugin;
@@ -845,35 +476,18 @@
}
}
- private PluginDescriptor loadReport( ReportPlugin plugin, MavenProject
project, MavenSession session )
- throws LifecycleExecutionException
- {
- try
- {
- return pluginManager.loadReportPlugin( plugin, project, session );
- }
- catch ( PluginLoaderException e )
- {
- throw new LifecycleExecutionException( e.getMessage(), e );
- }
- }
-
public void initialize()
throws InitializationException
{
// If people are going to make their own lifecycles then we need to
tell people how to namespace them correctly so
// that they don't interfere with internally defined lifecycles.
- phaseToLifecycleMap = new HashMap();
+ phaseToLifecycleMap = new HashMap<String,Lifecycle>();
- for ( Iterator i = lifecycles.iterator(); i.hasNext(); )
+ for ( Lifecycle lifecycle : lifecycles )
{
- Lifecycle lifecycle = (Lifecycle) i.next();
-
- for ( Iterator p = lifecycle.getPhases().values().iterator();
p.hasNext(); )
+ for ( String phase : lifecycle.getPhases() )
{
- String phase = (String) p.next();
-
// The first definition wins.
if ( !phaseToLifecycleMap.containsKey( phase ) )
{
Modified:
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/Lifecycle.java
URL:
http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/Lifecycle.java?rev=757293&r1=757292&r2=757293&view=diff
==============================================================================
---
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/Lifecycle.java
(original)
+++
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/Lifecycle.java
Mon Mar 23 01:27:27 2009
@@ -19,66 +19,31 @@
* under the License.
*/
-import java.util.Map;
+import java.util.List;
/**
* Class Lifecycle.
*/
public class Lifecycle
{
- /**
- * Field id
- */
private String id;
- /**
- * Field phases
- */
- private Map<String,String> phases;
-
- /**
- * default phases.
- */
- private Map defaultPhases;
+ private List<String> phases;
+
+ private List<String> defaultPhases;
- /**
- * Method getId
- */
public String getId()
{
return this.id;
}
- /**
- * Method getPhases
- */
- public Map<String,String> getPhases()
+ public List<String> getPhases()
{
return this.phases;
}
-
- /**
- * Method setId
- *
- * @param id
- */
- public void setId( String id )
- {
- this.id = id;
- }
-
- /**
- * Method setPhases
- *
- * @param phases
- */
- public void setPhases( Map<String,String> phases )
- {
- this.phases = phases;
- } //-- void setPhases(java.util.List)
-
- public Map getDefaultPhases()
+
+ public List<String> getDefaultPhases()
{
return defaultPhases;
- }
+ }
}
Copied:
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/DefaultLifecycleMapping.java
(from r757275,
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleMapping.java)
URL:
http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/DefaultLifecycleMapping.java?p2=maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/DefaultLifecycleMapping.java&p1=maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleMapping.java&r1=757275&r2=757293&rev=757293&view=diff
==============================================================================
---
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleMapping.java
(original)
+++
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/DefaultLifecycleMapping.java
Mon Mar 23 01:27:27 2009
@@ -1,4 +1,4 @@
-package org.apache.maven.lifecycle;
+package org.apache.maven.lifecycle.mapping;
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
contributor license
@@ -19,8 +19,6 @@
import java.util.List;
import java.util.Map;
-import org.apache.maven.lifecycle.Lifecycle;
-
public class DefaultLifecycleMapping
implements LifecycleMapping
{
Added:
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/Lifecycle.java
URL:
http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/Lifecycle.java?rev=757293&view=auto
==============================================================================
---
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/Lifecycle.java
(added)
+++
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/Lifecycle.java
Mon Mar 23 01:27:27 2009
@@ -0,0 +1,84 @@
+package org.apache.maven.lifecycle.mapping;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.util.Map;
+
+/**
+ * Class Lifecycle.
+ */
+public class Lifecycle
+{
+ /**
+ * Field id
+ */
+ private String id;
+
+ /**
+ * Field phases
+ */
+ private Map<String,String> phases;
+
+ /**
+ * default phases.
+ */
+ private Map defaultPhases;
+
+ /**
+ * Method getId
+ */
+ public String getId()
+ {
+ return this.id;
+ }
+
+ /**
+ * Method getPhases
+ */
+ public Map<String,String> getPhases()
+ {
+ return this.phases;
+ }
+
+ /**
+ * Method setId
+ *
+ * @param id
+ */
+ public void setId( String id )
+ {
+ this.id = id;
+ }
+
+ /**
+ * Method setPhases
+ *
+ * @param phases
+ */
+ public void setPhases( Map<String,String> phases )
+ {
+ this.phases = phases;
+ } //-- void setPhases(java.util.List)
+
+ public Map getDefaultPhases()
+ {
+ return defaultPhases;
+ }
+}
Propchange:
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/Lifecycle.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/Lifecycle.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Copied:
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/LifecycleMapping.java
(from r757275,
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleMapping.java)
URL:
http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/LifecycleMapping.java?p2=maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/LifecycleMapping.java&p1=maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleMapping.java&r1=757275&r2=757293&rev=757293&view=diff
==============================================================================
---
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleMapping.java
(original)
+++
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/LifecycleMapping.java
Mon Mar 23 01:27:27 2009
@@ -1,4 +1,4 @@
-package org.apache.maven.lifecycle;
+package org.apache.maven.lifecycle.mapping;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -21,8 +21,6 @@
import java.util.Map;
-import org.apache.maven.lifecycle.Lifecycle;
-
public interface LifecycleMapping
{
Map<String,Lifecycle> getLifecycles();
Modified:
maven/components/branches/MNG-2766/maven-core/src/main/resources/META-INF/plexus/artifact-handlers.xml
URL:
http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/resources/META-INF/plexus/artifact-handlers.xml?rev=757293&r1=757292&r2=757293&view=diff
==============================================================================
---
maven/components/branches/MNG-2766/maven-core/src/main/resources/META-INF/plexus/artifact-handlers.xml
(original)
+++
maven/components/branches/MNG-2766/maven-core/src/main/resources/META-INF/plexus/artifact-handlers.xml
Mon Mar 23 01:27:27 2009
@@ -25,9 +25,9 @@
</configuration>
</component>
<component>
- <role>org.apache.maven.lifecycle.LifecycleMapping</role>
+ <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<role-hint>pom</role-hint>
-
<implementation>org.apache.maven.lifecycle.DefaultLifecycleMapping</implementation>
+
<implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
<configuration>
<lifecycles>
<lifecycle>
@@ -58,9 +58,9 @@
</configuration>
</component>
<component>
- <role>org.apache.maven.lifecycle.LifecycleMapping</role>
+ <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<role-hint>jar</role-hint>
-
<implementation>org.apache.maven.lifecycle.DefaultLifecycleMapping</implementation>
+
<implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
<configuration>
<lifecycles>
<lifecycle>
@@ -98,10 +98,10 @@
</configuration>
</component>
<component>
- <role>org.apache.maven.lifecycle.LifecycleMapping
+ <role>org.apache.maven.lifecycle.mapping.LifecycleMapping
</role>
<role-hint>ejb</role-hint>
- <implementation>org.apache.maven.lifecycle.DefaultLifecycleMapping
+
<implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
</implementation>
<configuration>
<lifecycles>
@@ -160,9 +160,9 @@
</configuration>
</component>
<component>
- <role>org.apache.maven.lifecycle.LifecycleMapping</role>
+ <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<role-hint>ejb3</role-hint>
-
<implementation>org.apache.maven.lifecycle.DefaultLifecycleMapping</implementation>
+
<implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
<configuration>
<!-- START SNIPPET: ejb3-lifecycle -->
<phases>
@@ -215,9 +215,9 @@
</configuration>
</component>
<component>
- <role>org.apache.maven.lifecycle.LifecycleMapping</role>
+ <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<role-hint>maven-plugin</role-hint>
-
<implementation>org.apache.maven.lifecycle.DefaultLifecycleMapping</implementation>
+
<implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
<configuration>
<lifecycles>
<lifecycle>
@@ -300,9 +300,9 @@
</configuration>
</component>
<component>
- <role>org.apache.maven.lifecycle.LifecycleMapping</role>
+ <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<role-hint>war</role-hint>
-
<implementation>org.apache.maven.lifecycle.DefaultLifecycleMapping</implementation>
+
<implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
<configuration>
<lifecycles>
<lifecycle>
@@ -342,9 +342,9 @@
</configuration>
</component>
<component>
- <role>org.apache.maven.lifecycle.LifecycleMapping</role>
+ <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<role-hint>ear</role-hint>
-
<implementation>org.apache.maven.lifecycle.DefaultLifecycleMapping</implementation>
+
<implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
<configuration>
<lifecycles>
<lifecycle>
@@ -381,9 +381,9 @@
</configuration>
</component>
<component>
- <role>org.apache.maven.lifecycle.LifecycleMapping</role>
+ <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<role-hint>rar</role-hint>
-
<implementation>org.apache.maven.lifecycle.DefaultLifecycleMapping</implementation>
+
<implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
<configuration>
<lifecycles>
<lifecycle>
@@ -423,9 +423,9 @@
</configuration>
</component>
<component>
- <role>org.apache.maven.lifecycle.LifecycleMapping</role>
+ <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<role-hint>par</role-hint>
-
<implementation>org.apache.maven.lifecycle.DefaultLifecycleMapping</implementation>
+
<implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
<configuration>
<!-- START SNIPPET: par-lifecycle -->
<phases>
Modified:
maven/components/branches/MNG-2766/maven-core/src/main/resources/META-INF/plexus/components.xml
URL:
http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/resources/META-INF/plexus/components.xml?rev=757293&r1=757292&r2=757293&view=diff
==============================================================================
---
maven/components/branches/MNG-2766/maven-core/src/main/resources/META-INF/plexus/components.xml
(original)
+++
maven/components/branches/MNG-2766/maven-core/src/main/resources/META-INF/plexus/components.xml
Mon Mar 23 01:27:27 2009
@@ -38,7 +38,7 @@
<role>org.apache.maven.plugin.PluginManager</role>
</requirement>
<requirement>
- <role>org.apache.maven.lifecycle.LifecycleMapping</role>
+ <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<field-name>lifecycleMappings</field-name>
</requirement>
</requirements>
Added:
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/pom.xml
URL:
http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/pom.xml?rev=757293&view=auto
==============================================================================
---
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/pom.xml
(added)
+++
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/pom.xml
Mon Mar 23 01:27:27 2009
@@ -0,0 +1,35 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.lifecycle.test</groupId>
+ <artifactId>project-with-additional-lifecycle-elements</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0-SNAPSHOT</version>
+ <name>project-with-additional-lifecycle-elements</name>
+ <url>http://maven.apache.org</url>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-metadata</artifactId>
+ <version>1.0-beta-3.0.6</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>generate-metadata</goal>
+ <goal>generate-test-metadata</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Propchange:
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/pom.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added:
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/main/java/org/apache/maven/lifecycle/test/App.java
URL:
http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/main/java/org/apache/maven/lifecycle/test/App.java?rev=757293&view=auto
==============================================================================
---
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/main/java/org/apache/maven/lifecycle/test/App.java
(added)
+++
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/main/java/org/apache/maven/lifecycle/test/App.java
Mon Mar 23 01:27:27 2009
@@ -0,0 +1,13 @@
+package org.apache.maven.lifecycle.test;
+
+/**
+ * Hello world!
+ *
+ */
+public class App
+{
+ public static void main( String[] args )
+ {
+ System.out.println( "Hello World!" );
+ }
+}
Propchange:
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/main/java/org/apache/maven/lifecycle/test/App.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/main/java/org/apache/maven/lifecycle/test/App.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added:
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/java/org/apache/maven/lifecycle/test/AppTest.java
URL:
http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/java/org/apache/maven/lifecycle/test/AppTest.java?rev=757293&view=auto
==============================================================================
---
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/java/org/apache/maven/lifecycle/test/AppTest.java
(added)
+++
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/java/org/apache/maven/lifecycle/test/AppTest.java
Mon Mar 23 01:27:27 2009
@@ -0,0 +1,38 @@
+package org.apache.maven.lifecycle.test;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest
+ extends TestCase
+{
+ /**
+ * Create the test case
+ *
+ * @param testName name of the test case
+ */
+ public AppTest( String testName )
+ {
+ super( testName );
+ }
+
+ /**
+ * @return the suite of tests being tested
+ */
+ public static Test suite()
+ {
+ return new TestSuite( AppTest.class );
+ }
+
+ /**
+ * Rigourous Test :-)
+ */
+ public void testApp()
+ {
+ assertTrue( true );
+ }
+}
Propchange:
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/java/org/apache/maven/lifecycle/test/AppTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/components/branches/MNG-2766/maven-core/src/test/projects/lifecycle-executor/project-with-additional-lifecycle-elements/src/test/java/org/apache/maven/lifecycle/test/AppTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision