Author: jdcasey Date: Wed Jun 10 01:31:06 2009 New Revision: 783173 URL: http://svn.apache.org/viewvc?rev=783173&view=rev Log: [MNG-3401][MNG-3203] run default-lifecycle bindings and CLI invocations of mojos using 'default-<goalname>' and 'default-cli' executionIds respectively. For reports and forked executions that use executionIds, those will be preserved. For others, the executionId of the forking mojo will be used.
Modified: maven/components/branches/maven-2.2.0-RC/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java maven/components/branches/maven-2.2.0-RC/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java Modified: maven/components/branches/maven-2.2.0-RC/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.0-RC/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java?rev=783173&r1=783172&r2=783173&view=diff ============================================================================== --- maven/components/branches/maven-2.2.0-RC/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java (original) +++ maven/components/branches/maven-2.2.0-RC/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java Wed Jun 10 01:31:06 2009 @@ -550,8 +550,8 @@ { // guaranteed to come from the CLI and not be part of a phase MojoDescriptor mojoDescriptor = getMojoDescriptor( task, session, project, task, true, false ); - executeGoals( Collections.singletonList( new MojoExecution( mojoDescriptor ) ), forkEntryPoints, session, - project ); + executeGoals( Collections.singletonList( new MojoExecution( mojoDescriptor, MojoExecution.CLI_EXECUTION_ID ) ), + forkEntryPoints, session, project ); } private void executeGoals( List goals, Stack forkEntryPoints, MavenSession session, MavenProject project ) @@ -624,7 +624,7 @@ { forkEntryPoints.push( mojoDescriptor ); - forkLifecycle( mojoDescriptor, forkEntryPoints, session, project ); + forkLifecycle( mojoDescriptor, forkEntryPoints, session, project, mojoExecution.getExecutionId() ); forkEntryPoints.pop(); } @@ -644,7 +644,7 @@ { forkEntryPoints.push( descriptor ); - forkLifecycle( descriptor, forkEntryPoints, session, project ); + forkLifecycle( descriptor, forkEntryPoints, session, project, forkedExecution.getExecutionId() ); forkEntryPoints.pop(); } @@ -930,8 +930,21 @@ { id = reportSet.getId(); } + else + { + id = mojoExecution.getExecutionId(); + } + + MojoExecution reportExecution; + if ( id.startsWith( MojoExecution.DEFAULT_EXEC_ID_PREFIX ) ) + { + reportExecution = new MojoExecution( mojoDescriptor ); + } + else + { + reportExecution = new MojoExecution( mojoDescriptor, id ); + } - MojoExecution reportExecution = new MojoExecution( mojoDescriptor, id ); reports.add( reportExecution ); } } @@ -983,7 +996,7 @@ } private void forkLifecycle( MojoDescriptor mojoDescriptor, Stack ancestorLifecycleForkers, MavenSession session, - MavenProject project ) + MavenProject project, String executionId ) throws LifecycleExecutionException, BuildFailureException, PluginNotFoundException { PluginDescriptor pluginDescriptor = mojoDescriptor.getPluginDescriptor(); @@ -1001,17 +1014,17 @@ line(); - forkProjectLifecycle( mojoDescriptor, ancestorLifecycleForkers, session, reactorProject ); + forkProjectLifecycle( mojoDescriptor, ancestorLifecycleForkers, session, reactorProject, executionId ); } } else { - forkProjectLifecycle( mojoDescriptor, ancestorLifecycleForkers, session, project ); + forkProjectLifecycle( mojoDescriptor, ancestorLifecycleForkers, session, project, executionId ); } } private void forkProjectLifecycle( MojoDescriptor mojoDescriptor, Stack forkEntryPoints, MavenSession session, - MavenProject project ) + MavenProject project, String executionId ) throws LifecycleExecutionException, BuildFailureException, PluginNotFoundException { project = project.getExecutionProject(); @@ -1128,7 +1141,16 @@ } MojoDescriptor desc = getMojoDescriptor( lifecyclePluginDescriptor, lifecycleGoal ); - MojoExecution mojoExecution = new MojoExecution( desc, configuration ); + MojoExecution mojoExecution; + if ( executionId.startsWith( MojoExecution.DEFAULT_EXEC_ID_PREFIX ) ) + { + mojoExecution = new MojoExecution( desc, configuration ); + } + else + { + mojoExecution = new MojoExecution( desc, configuration, executionId ); + } + addToLifecycleMappings( lifecycleMappings, phase.getId(), mojoExecution, session.getSettings() ); } @@ -1171,7 +1193,7 @@ { String goal = mojoDescriptor.getExecuteGoal(); MojoDescriptor desc = getMojoDescriptor( pluginDescriptor, goal ); - executeGoals( Collections.singletonList( new MojoExecution( desc ) ), forkEntryPoints, session, project ); + executeGoals( Collections.singletonList( new MojoExecution( desc, goal ) ), forkEntryPoints, session, project ); } } Modified: maven/components/branches/maven-2.2.0-RC/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.2.0-RC/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java?rev=783173&r1=783172&r2=783173&view=diff ============================================================================== --- maven/components/branches/maven-2.2.0-RC/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java (original) +++ maven/components/branches/maven-2.2.0-RC/maven-core/src/main/java/org/apache/maven/plugin/MojoExecution.java Wed Jun 10 01:31:06 2009 @@ -33,9 +33,13 @@ */ public class MojoExecution { + public static final String DEFAULT_EXEC_ID_PREFIX = "default-"; + + public static final String CLI_EXECUTION_ID = DEFAULT_EXEC_ID_PREFIX + "cli"; + // Execution ID needs to default to "default" to allow configuration of that execution alongside // other executions. - private String executionId = "default"; + private final String executionId; private final MojoDescriptor mojoDescriptor; @@ -49,6 +53,7 @@ { this.mojoDescriptor = mojoDescriptor; this.configuration = null; + this.executionId = DEFAULT_EXEC_ID_PREFIX + mojoDescriptor.getGoal(); } public MojoExecution( MojoDescriptor mojoDescriptor, String executionId ) @@ -62,6 +67,14 @@ { this.mojoDescriptor = mojoDescriptor; this.configuration = configuration; + this.executionId = DEFAULT_EXEC_ID_PREFIX + mojoDescriptor.getGoal(); + } + + public MojoExecution( MojoDescriptor mojoDescriptor, Xpp3Dom configuration, String executionId ) + { + this.mojoDescriptor = mojoDescriptor; + this.configuration = configuration; + this.executionId = executionId; } public String getExecutionId()