Author: krosenvold
Date: Mon Apr 19 20:57:44 2010
New Revision: 935741
URL: http://svn.apache.org/viewvc?rev=935741&view=rev
Log:
o Refactoring: Moved one incorrectly placed method from BuildListCalculator to
TaskSegmentCalculator
This method was creating a lot of strange internal dependencies since it was
mis-placed
Added:
maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImplTest.java
(with props)
Modified:
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildListCalculator.java
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculator.java
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImpl.java
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleWeaveBuilder.java
maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuildListCalculatorTest.java
maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleWeaveBuilderTest.java
maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifecycleTaskSegmentCalculatorStub.java
Modified:
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
URL:
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java?rev=935741&r1=935740&r2=935741&view=diff
==============================================================================
---
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
(original)
+++
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
Mon Apr 19 20:57:44 2010
@@ -62,7 +62,7 @@ import java.util.concurrent.ExecutorServ
* @author Benjamin Bentmann
* @author Kristian Rosenvold
*/
-...@component(role = LifecycleExecutor.class)
+...@component( role = LifecycleExecutor.class )
public class DefaultLifecycleExecutor
implements LifecycleExecutor
{
@@ -126,7 +126,7 @@ public class DefaultLifecycleExecutor
boolean isThreaded =
executionRequest.isThreadConfigurationPresent();
session.setParallel( isThreaded );
- List<TaskSegment> taskSegments =
buildListCalculator.calculateTaskSegments( session );
+ List<TaskSegment> taskSegments =
lifecycleTaskSegmentCalculator.calculateTaskSegments( session );
ProjectBuildList projectBuilds =
buildListCalculator.calculateProjectBuilds( session, taskSegments );
@@ -256,7 +256,7 @@ public class DefaultLifecycleExecutor
// USED BY MAVEN HELP PLUGIN
- @SuppressWarnings({"UnusedDeclaration"})
+ @SuppressWarnings( { "UnusedDeclaration" } )
@Deprecated
public Map<String, Lifecycle> getPhaseToLifecycleMap()
{
@@ -265,7 +265,7 @@ public class DefaultLifecycleExecutor
// NOTE: Backward-compat with maven-help-plugin:2.1
- @SuppressWarnings({"UnusedDeclaration"})
+ @SuppressWarnings( { "UnusedDeclaration" } )
MojoDescriptor getMojoDescriptor( String task, MavenSession session,
MavenProject project, String invokedVia,
boolean canUsePrefix, boolean
isOptionalMojo )
throws PluginNotFoundException, PluginResolutionException,
PluginDescriptorParsingException,
@@ -277,7 +277,7 @@ public class DefaultLifecycleExecutor
// Used by m2eclipse
- @SuppressWarnings({"UnusedDeclaration"})
+ @SuppressWarnings( { "UnusedDeclaration" } )
public MavenExecutionPlan calculateExecutionPlan( MavenSession session,
String... tasks )
throws PluginNotFoundException, PluginResolutionException,
PluginDescriptorParsingException,
MojoNotFoundException, NoPluginFoundForPrefixException,
InvalidPluginDescriptorException,
@@ -285,7 +285,7 @@ public class DefaultLifecycleExecutor
PluginVersionResolutionException
{
- List<TaskSegment> taskSegments =
buildListCalculator.calculateTaskSegments( session );
+ List<TaskSegment> taskSegments =
lifecycleTaskSegmentCalculator.calculateTaskSegments( session );
TaskSegment mergedSegment = new TaskSegment( false );
Modified:
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildListCalculator.java
URL:
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildListCalculator.java?rev=935741&r1=935740&r2=935741&view=diff
==============================================================================
---
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildListCalculator.java
(original)
+++
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildListCalculator.java
Mon Apr 19 20:57:44 2010
@@ -15,18 +15,10 @@
package org.apache.maven.lifecycle.internal;
import org.apache.maven.execution.MavenSession;
-import org.apache.maven.lifecycle.LifecycleNotFoundException;
-import org.apache.maven.lifecycle.LifecyclePhaseNotFoundException;
-import org.apache.maven.plugin.*;
-import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
-import org.apache.maven.plugin.version.PluginVersionResolutionException;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.util.StringUtils;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -34,43 +26,9 @@ import java.util.List;
* @author Kristian Rosenvold
* This class is not part of any public api and can be changed or
deleted without prior notice.
*/
-...@component(role = BuildListCalculator.class)
+...@component( role = BuildListCalculator.class )
public class BuildListCalculator
{
- @Requirement
- private LifecycleTaskSegmentCalculator lifeCycleTaskSegmentCalculator;
-
- @SuppressWarnings({"UnusedDeclaration"})
- public BuildListCalculator()
- {
- }
-
- public BuildListCalculator( LifecycleTaskSegmentCalculator
lifeCycleTaskSegmentCalculator )
- {
- this.lifeCycleTaskSegmentCalculator = lifeCycleTaskSegmentCalculator;
- }
-
- public List<TaskSegment> calculateTaskSegments( MavenSession session )
- throws PluginNotFoundException, PluginResolutionException,
PluginDescriptorParsingException,
- MojoNotFoundException, NoPluginFoundForPrefixException,
InvalidPluginDescriptorException,
- PluginVersionResolutionException, LifecyclePhaseNotFoundException,
LifecycleNotFoundException
- {
-
- MavenProject rootProject = session.getTopLevelProject();
-
- List<String> tasks = session.getGoals();
-
- if ( tasks == null || tasks.isEmpty() )
- {
- if ( !StringUtils.isEmpty( rootProject.getDefaultGoal() ) )
- {
- tasks = Arrays.asList( StringUtils.split(
rootProject.getDefaultGoal() ) );
- }
- }
-
- return lifeCycleTaskSegmentCalculator.calculateTaskSegments( session,
tasks );
- }
-
public ProjectBuildList calculateProjectBuilds( MavenSession session,
List<TaskSegment> taskSegments )
{
List<ProjectSegment> projectBuilds = new ArrayList<ProjectSegment>();
Modified:
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculator.java
URL:
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculator.java?rev=935741&r1=935740&r2=935741&view=diff
==============================================================================
---
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculator.java
(original)
+++
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculator.java
Mon Apr 19 20:57:44 2010
@@ -15,6 +15,8 @@
package org.apache.maven.lifecycle.internal;
import org.apache.maven.execution.MavenSession;
+import org.apache.maven.lifecycle.LifecycleNotFoundException;
+import org.apache.maven.lifecycle.LifecyclePhaseNotFoundException;
import org.apache.maven.plugin.*;
import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
import org.apache.maven.plugin.version.PluginVersionResolutionException;
@@ -34,10 +36,10 @@ import java.util.List;
public interface LifecycleTaskSegmentCalculator
{
- List<TaskSegment> calculateTaskSegments( MavenSession session,
List<String> tasks )
+ public List<TaskSegment> calculateTaskSegments( MavenSession session )
throws PluginNotFoundException, PluginResolutionException,
PluginDescriptorParsingException,
MojoNotFoundException, NoPluginFoundForPrefixException,
InvalidPluginDescriptorException,
- PluginVersionResolutionException;
+ PluginVersionResolutionException, LifecyclePhaseNotFoundException,
LifecycleNotFoundException;
public boolean requiresProject( MavenSession session );
Modified:
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImpl.java
URL:
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImpl.java?rev=935741&r1=935740&r2=935741&view=diff
==============================================================================
---
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImpl.java
(original)
+++
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImpl.java
Mon Apr 19 20:57:44 2010
@@ -15,14 +15,23 @@
package org.apache.maven.lifecycle.internal;
import org.apache.maven.execution.MavenSession;
-import org.apache.maven.plugin.*;
+import org.apache.maven.lifecycle.LifecycleNotFoundException;
+import org.apache.maven.lifecycle.LifecyclePhaseNotFoundException;
+import org.apache.maven.plugin.InvalidPluginDescriptorException;
+import org.apache.maven.plugin.MojoNotFoundException;
+import org.apache.maven.plugin.PluginDescriptorParsingException;
+import org.apache.maven.plugin.PluginNotFoundException;
+import org.apache.maven.plugin.PluginResolutionException;
import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException;
import org.apache.maven.plugin.version.PluginVersionResolutionException;
+import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
+import org.codehaus.plexus.util.StringUtils;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
/**
@@ -36,7 +45,7 @@ import java.util.List;
* NOTE: This class is not part of any public api and can be changed
or deleted without prior notice.
*/
-...@component(role = LifecycleTaskSegmentCalculator.class)
+...@component( role = LifecycleTaskSegmentCalculator.class )
public class LifecycleTaskSegmentCalculatorImpl
implements LifecycleTaskSegmentCalculator
{
@@ -50,6 +59,27 @@ public class LifecycleTaskSegmentCalcula
{
}
+ public List<TaskSegment> calculateTaskSegments( MavenSession session )
+ throws PluginNotFoundException, PluginResolutionException,
PluginDescriptorParsingException,
+ MojoNotFoundException, NoPluginFoundForPrefixException,
InvalidPluginDescriptorException,
+ PluginVersionResolutionException, LifecyclePhaseNotFoundException,
LifecycleNotFoundException
+ {
+
+ MavenProject rootProject = session.getTopLevelProject();
+
+ List<String> tasks = session.getGoals();
+
+ if ( tasks == null || tasks.isEmpty() )
+ {
+ if ( !StringUtils.isEmpty( rootProject.getDefaultGoal() ) )
+ {
+ tasks = Arrays.asList( StringUtils.split(
rootProject.getDefaultGoal() ) );
+ }
+ }
+
+ return calculateTaskSegments( session, tasks );
+ }
+
public List<TaskSegment> calculateTaskSegments( MavenSession session,
List<String> tasks )
throws PluginNotFoundException, PluginResolutionException,
PluginDescriptorParsingException,
MojoNotFoundException, NoPluginFoundForPrefixException,
InvalidPluginDescriptorException,
Modified:
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleWeaveBuilder.java
URL:
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleWeaveBuilder.java?rev=935741&r1=935740&r2=935741&view=diff
==============================================================================
---
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleWeaveBuilder.java
(original)
+++
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleWeaveBuilder.java
Mon Apr 19 20:57:44 2010
@@ -59,7 +59,7 @@ import java.util.concurrent.Future;
* <p/>
* NOTE: This class is not part of any public api and can be changed
or deleted without prior notice.
*/
-...@component(role = LifecycleWeaveBuilder.class)
+...@component( role = LifecycleWeaveBuilder.class )
public class LifecycleWeaveBuilder
{
@@ -75,16 +75,16 @@ public class LifecycleWeaveBuilder
@Requirement
private ExecutionEventCatapult eventCatapult;
- private Map<MavenProject, MavenExecutionPlan> executionPlans = new
HashMap<MavenProject, MavenExecutionPlan>( );
+ private Map<MavenProject, MavenExecutionPlan> executionPlans = new
HashMap<MavenProject, MavenExecutionPlan>();
- @SuppressWarnings({"UnusedDeclaration"})
+ @SuppressWarnings( { "UnusedDeclaration" } )
public LifecycleWeaveBuilder()
{
}
- public LifecycleWeaveBuilder(MojoExecutor mojoExecutor, BuilderCommon
builderCommon, Logger logger,
- ExecutionEventCatapult eventCatapult)
+ public LifecycleWeaveBuilder( MojoExecutor mojoExecutor, BuilderCommon
builderCommon, Logger logger,
+ ExecutionEventCatapult eventCatapult )
{
this.mojoExecutor = mojoExecutor;
this.builderCommon = builderCommon;
@@ -105,14 +105,15 @@ public class LifecycleWeaveBuilder
for ( TaskSegment taskSegment : taskSegments )
{
ProjectBuildList segmentChunks =
projectBuilds.getByTaskSegment( taskSegment );
- ThreadOutputMuxer muxer = null; // new ThreadOutputMuxer(
segmentChunks, System.out );
Set<String> projectArtifacts = new HashSet<String>();
Set<Artifact> projectArtifactsA = new HashSet<Artifact>();
- for (ProjectSegment segmentChunk : segmentChunks) {
+ for ( ProjectSegment segmentChunk : segmentChunks )
+ {
Artifact artifact =
segmentChunk.getProject().getArtifact();
- if (artifact != null) {
- projectArtifacts.add( ArtifactUtils.key(artifact));
- projectArtifactsA.add( artifact);
+ if ( artifact != null )
+ {
+ projectArtifacts.add( ArtifactUtils.key( artifact ) );
+ projectArtifactsA.add( artifact );
}
}
for ( ProjectSegment projectBuild : segmentChunks )
@@ -122,24 +123,25 @@ public class LifecycleWeaveBuilder
MavenExecutionPlan executionPlan =
builderCommon.resolveBuildPlan(
projectBuild.getSession(), projectBuild.getProject(),
projectBuild.getTaskSegment(), projectArtifactsA );
- for (Artifact dependency :
projectBuild.getProject().getDependencyArtifacts()) {
- String s = ArtifactUtils.key(dependency);
- if ( projectArtifacts.contains(s)){
- dependency.setFile( null);
- dependency.setResolved( false);
- dependency.setRepository( null);
+ for ( Artifact dependency :
projectBuild.getProject().getDependencyArtifacts() )
+ {
+ String s = ArtifactUtils.key( dependency );
+ if ( projectArtifacts.contains( s ) )
+ {
+ dependency.setFile( null );
+ dependency.setResolved( false );
+ dependency.setRepository( null );
}
}
-
+
executionPlans.put( projectBuild.getProject(),
executionPlan );
DependencyContext dependencyContext =
new DependencyContext( executionPlan,
projectBuild.getTaskSegment().isAggregating() );
final Callable<ProjectSegment> projectBuilder =
createCallableForBuildingOneFullModule(
buildContext, session, reactorBuildStatus,
-
executionPlan, projectBuild, muxer,
-
dependencyContext, concurrentBuildLogger,
-
projectBuilds );
+
executionPlan, projectBuild, dependencyContext,
+
concurrentBuildLogger );
futures.add( service.submit( projectBuilder ) );
}
@@ -169,10 +171,8 @@ public class LifecycleWeaveBuilder
final ReactorBuildStatus reactorBuildStatus,
final MavenExecutionPlan executionPlan,
final ProjectSegment projectBuild,
-
final ThreadOutputMuxer muxer,
final DependencyContext dependencyContext,
-
final ConcurrentBuildLogger concurrentBuildLogger,
-
final ProjectBuildList projectBuilds )
+
final ConcurrentBuildLogger concurrentBuildLogger )
{
return new Callable<ProjectSegment>()
{
@@ -195,7 +195,7 @@ public class LifecycleWeaveBuilder
try
{
- while (current != null &&
!reactorBuildStatus.isHaltedOrBlacklisted( projectBuild.getProject() ))
+ while ( current != null &&
!reactorBuildStatus.isHaltedOrBlacklisted( projectBuild.getProject() ) )
{
PhaseRecorder phaseRecorder = new PhaseRecorder(
projectBuild.getProject() );
@@ -203,7 +203,8 @@ public class LifecycleWeaveBuilder
concurrentBuildLogger.createBuildLogItem(
projectBuild.getProject(), current );
final Schedule schedule = current.getSchedule();
- buildExecutionPlanItem(current, phaseRecorder,
schedule, reactorContext, projectBuild, dependencyContext);
+ buildExecutionPlanItem( current, phaseRecorder,
schedule, reactorContext, projectBuild,
+ dependencyContext );
current.setComplete();
builtLogItem.setComplete();
@@ -215,16 +216,17 @@ public class LifecycleWeaveBuilder
final Schedule scheduleOfNext =
nextPlanItem.getSchedule();
if ( scheduleOfNext == null ||
!scheduleOfNext.isParallel() )
{
-
waitForAppropriateUpstreamExecutionsToFinish(builtLogItem, nextPlanItem,
projectBuild);
+ waitForAppropriateUpstreamExecutionsToFinish(
builtLogItem, nextPlanItem,
+
projectBuild );
}
- reResolveReactorDependencies(nextPlanItem,
projectBuild);
+ reResolveReactorDependencies( nextPlanItem,
projectBuild );
}
current = nextPlanItem;
}
final long wallClockTime = System.currentTimeMillis() -
buildStartTime;
final BuildSuccess summary =
- new BuildSuccess( projectBuild.getProject(),
wallClockTime ); // - waitingTime
+ new BuildSuccess( projectBuild.getProject(),
wallClockTime ); // - waitingTime
reactorContext.getResult().addBuildSummary( summary );
eventCatapult.fire( ExecutionEvent.Type.ProjectSucceeded,
projectBuild.getSession(), null );
}
@@ -247,18 +249,23 @@ public class LifecycleWeaveBuilder
};
}
- private void reResolveReactorDependencies(ExecutionPlanItem nextPlanItem,
ProjectSegment projectBuild) {
+ private void reResolveReactorDependencies( ExecutionPlanItem nextPlanItem,
ProjectSegment projectBuild )
+ {
if ( requiresReResolutionOfUpstreamReactorArtifacts( nextPlanItem ) )
{
- reresolveUpstreamProjectArtifacts(projectBuild);
+ reresolveUpstreamProjectArtifacts( projectBuild );
}
- else if (requiresReResolutionOfUpstreamTestScopedReactorArtifacts(
nextPlanItem))
+ else if ( requiresReResolutionOfUpstreamTestScopedReactorArtifacts(
nextPlanItem ) )
{
- reresolveUpstreamTestScopedArtifacts( projectBuild);
+ reresolveUpstreamTestScopedArtifacts( projectBuild );
}
}
- private void waitForAppropriateUpstreamExecutionsToFinish(BuildLogItem
builtLogItem, ExecutionPlanItem nextPlanItem, ProjectSegment projectBuild)
throws InterruptedException {
+ private void waitForAppropriateUpstreamExecutionsToFinish( BuildLogItem
builtLogItem,
+
ExecutionPlanItem nextPlanItem,
+ ProjectSegment
projectBuild )
+ throws InterruptedException
+ {
for ( MavenProject upstreamProject :
projectBuild.getImmediateUpstreamProjects() )
{
final MavenExecutionPlan upstreamPlan = executionPlans.get(
upstreamProject );
@@ -286,58 +293,69 @@ public class LifecycleWeaveBuilder
}
}
- private void reresolveUpstreamProjectArtifacts(ProjectSegment
projectBuild) {
- for ( MavenProject upstreamProject :
projectBuild.getTransitiveUpstreamProjects() ){
+ private void reresolveUpstreamProjectArtifacts( ProjectSegment
projectBuild )
+ {
+ for ( MavenProject upstreamProject :
projectBuild.getTransitiveUpstreamProjects() )
+ {
Artifact upStreamArtifact = upstreamProject.getArtifact();
- Artifact dependencyArtifact =
findDependency(projectBuild.getProject(), upStreamArtifact);
- if (dependencyArtifact != null){
- dependencyArtifact.setFile( upStreamArtifact.getFile());
+ Artifact dependencyArtifact = findDependency(
projectBuild.getProject(), upStreamArtifact );
+ if ( dependencyArtifact != null )
+ {
+ dependencyArtifact.setFile( upStreamArtifact.getFile() );
dependencyArtifact.setResolved( true );
- dependencyArtifact.setRepository(
upStreamArtifact.getRepository());
+ dependencyArtifact.setRepository(
upStreamArtifact.getRepository() );
}
}
}
- private void reresolveUpstreamTestScopedArtifacts(ProjectSegment
projectBuild) {
- for ( MavenProject upstreamProject :
projectBuild.getTransitiveUpstreamProjects() ){
- Artifact upStreamArtifact =
findTestScopedArtifact(upstreamProject);
- Artifact dependencyArtifact =
findDependency(projectBuild.getProject(), upStreamArtifact);
- if (dependencyArtifact != null){
- dependencyArtifact.setFile( upStreamArtifact.getFile());
- dependencyArtifact.setResolved( upStreamArtifact.isResolved());
- dependencyArtifact.setRepository(
upStreamArtifact.getRepository());
+ private void reresolveUpstreamTestScopedArtifacts( ProjectSegment
projectBuild )
+ {
+ for ( MavenProject upstreamProject :
projectBuild.getTransitiveUpstreamProjects() )
+ {
+ Artifact upStreamArtifact = findTestScopedArtifact(
upstreamProject );
+ Artifact dependencyArtifact = findDependency(
projectBuild.getProject(), upStreamArtifact );
+ if ( dependencyArtifact != null )
+ {
+ dependencyArtifact.setFile( upStreamArtifact.getFile() );
+ dependencyArtifact.setResolved( upStreamArtifact.isResolved()
);
+ dependencyArtifact.setRepository(
upStreamArtifact.getRepository() );
}
}
}
- private Artifact findTestScopedArtifact(MavenProject upstreamProject) {
- if ( upstreamProject == null){
+ private Artifact findTestScopedArtifact( MavenProject upstreamProject )
+ {
+ if ( upstreamProject == null )
+ {
return null;
}
-
+
List<Artifact> artifactList = upstreamProject.getAttachedArtifacts();
- for (Artifact artifact : artifactList) {
- if (Artifact.SCOPE_TEST.equals( artifact.getScope())){
+ for ( Artifact artifact : artifactList )
+ {
+ if ( Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
+ {
return artifact;
}
}
return null;
}
- private static Artifact findDependency(MavenProject project, Artifact
upStreamArtifact) {
- if (upStreamArtifact == null){
+ private static Artifact findDependency( MavenProject project, Artifact
upStreamArtifact )
+ {
+ if ( upStreamArtifact == null )
+ {
return null;
}
-
- String key = ArtifactUtils.key( upStreamArtifact.getGroupId(),
- upStreamArtifact.getArtifactId(),
+
+ String key = ArtifactUtils.key( upStreamArtifact.getGroupId(),
upStreamArtifact.getArtifactId(),
upStreamArtifact.getVersion() );
final Set<Artifact> deps = project.getDependencyArtifacts();
for ( Artifact dep : deps )
{
- String depKey = ArtifactUtils.key(dep.getGroupId(),
dep.getArtifactId(), dep.getVersion());
+ String depKey = ArtifactUtils.key( dep.getGroupId(),
dep.getArtifactId(), dep.getVersion() );
if ( key.equals( depKey ) )
{
return dep;
@@ -350,28 +368,31 @@ public class LifecycleWeaveBuilder
private boolean requiresReResolutionOfUpstreamReactorArtifacts(
ExecutionPlanItem nextExecutionPlanItem )
{
final String phase = nextExecutionPlanItem.getLifecyclePhase();
- return "package".equals(phase) || "install".equals( phase ) ||
"compile".equals( phase );
+ return "package".equals( phase ) || "install".equals( phase ) ||
"compile".equals( phase );
}
private boolean requiresReResolutionOfUpstreamTestScopedReactorArtifacts(
ExecutionPlanItem nextExecutionPlanItem )
{
final String phase = nextExecutionPlanItem.getLifecyclePhase();
- return "package".equals(phase) || "install".equals( phase ) ||
"compile".equals( phase ) || "test-compile".equals( phase );
+ return "package".equals( phase ) || "install".equals( phase ) ||
"compile".equals( phase ) ||
+ "test-compile".equals( phase );
}
- private void buildExecutionPlanItem(ExecutionPlanItem current,
PhaseRecorder phaseRecorder, Schedule schedule, ReactorContext reactorContext,
ProjectSegment projectBuild, DependencyContext dependencyContext) throws
LifecycleExecutionException {
+ private void buildExecutionPlanItem( ExecutionPlanItem current,
PhaseRecorder phaseRecorder, Schedule schedule,
+ ReactorContext reactorContext,
ProjectSegment projectBuild,
+ DependencyContext dependencyContext )
+ throws LifecycleExecutionException
+ {
if ( schedule != null && schedule.isMojoSynchronized() )
{
synchronized ( current.getPlugin() )
{
- buildExecutionPlanItem( reactorContext, current, projectBuild,
dependencyContext,
- phaseRecorder );
+ buildExecutionPlanItem( reactorContext, current, projectBuild,
dependencyContext, phaseRecorder );
}
}
else
{
- buildExecutionPlanItem( reactorContext, current, projectBuild,
dependencyContext,
- phaseRecorder );
+ buildExecutionPlanItem( reactorContext, current, projectBuild,
dependencyContext, phaseRecorder );
}
}
Modified:
maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
URL:
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java?rev=935741&r1=935740&r2=935741&view=diff
==============================================================================
---
maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
(original)
+++
maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
Mon Apr 19 20:57:44 2010
@@ -305,9 +305,6 @@ public class LifecycleExecutorTest
System.out.println( dom );
}
- // Todo: This method is kind of an oddity. It is only called from the
LifecycleExecutorTest, hence it should
- // really not exist, or at least be moved into the test class.
-
MavenExecutionPlan calculateExecutionPlan( MavenSession session, String...
tasks )
throws PluginNotFoundException, PluginResolutionException,
PluginDescriptorParsingException,
MojoNotFoundException, NoPluginFoundForPrefixException,
InvalidPluginDescriptorException,
Modified:
maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuildListCalculatorTest.java
URL:
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuildListCalculatorTest.java?rev=935741&r1=935740&r2=935741&view=diff
==============================================================================
---
maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuildListCalculatorTest.java
(original)
+++
maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuildListCalculatorTest.java
Mon Apr 19 20:57:44 2010
@@ -29,9 +29,10 @@ public class BuildListCalculatorTest
public void testCalculateProjectBuilds()
throws Exception
{
- BuildListCalculator buildListCalculator = createBuildListCalculator();
+ LifecycleTaskSegmentCalculator lifecycleTaskSegmentCalculator =
getTaskSegmentCalculator();
+ BuildListCalculator buildListCalculator = new BuildListCalculator();
final MavenSession session =
ProjectDependencyGraphStub.getMavenSession();
- List<TaskSegment> taskSegments =
buildListCalculator.calculateTaskSegments( session );
+ List<TaskSegment> taskSegments =
lifecycleTaskSegmentCalculator.calculateTaskSegments( session );
final ProjectBuildList buildList =
buildListCalculator.calculateProjectBuilds( session, taskSegments );
final ProjectBuildList segments = buildList.getByTaskSegment(
taskSegments.get( 0 ) );
assertEquals( "Stub data contains 3 segments", 3, taskSegments.size()
);
@@ -40,10 +41,9 @@ public class BuildListCalculatorTest
assertNotNull( build );
}
- public static BuildListCalculator createBuildListCalculator()
+ private static LifecycleTaskSegmentCalculator getTaskSegmentCalculator()
{
- LifecycleTaskSegmentCalculator lifecycleTaskSegmentCalculator = new
LifecycleTaskSegmentCalculatorStub();
- return new BuildListCalculator( lifecycleTaskSegmentCalculator );
+ return new LifecycleTaskSegmentCalculatorStub();
}
}
Added:
maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImplTest.java
URL:
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImplTest.java?rev=935741&view=auto
==============================================================================
---
maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImplTest.java
(added)
+++
maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImplTest.java
Mon Apr 19 20:57:44 2010
@@ -0,0 +1,38 @@
+package org.apache.maven.lifecycle.internal;
+
+import junit.framework.TestCase;
+import org.apache.maven.execution.MavenSession;
+import
org.apache.maven.lifecycle.internal.stub.LifecycleTaskSegmentCalculatorStub;
+import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
+
+import java.util.List;
+
+/**
+ * @author <a href="mailto:[email protected]">Kristian Rosenvold</a>
+ */
+public class LifecycleTaskSegmentCalculatorImplTest
+ extends TestCase
+{
+ public void testCalculateProjectBuilds()
+ throws Exception
+ {
+ LifecycleTaskSegmentCalculator lifecycleTaskSegmentCalculator =
getTaskSegmentCalculator();
+ BuildListCalculator buildListCalculator = new BuildListCalculator();
+ final MavenSession session =
ProjectDependencyGraphStub.getMavenSession();
+ List<TaskSegment> taskSegments =
lifecycleTaskSegmentCalculator.calculateTaskSegments( session );
+
+ final ProjectBuildList buildList =
buildListCalculator.calculateProjectBuilds( session, taskSegments );
+ final ProjectBuildList segments = buildList.getByTaskSegment(
taskSegments.get( 0 ) );
+ assertEquals( "Stub data contains 3 segments", 3, taskSegments.size()
);
+ assertEquals( "Stub data contains 6 items", 6, segments.size() );
+ final ProjectSegment build = segments.get( 0 );
+ assertNotNull( build );
+ }
+
+ private static LifecycleTaskSegmentCalculator getTaskSegmentCalculator()
+ {
+ return new LifecycleTaskSegmentCalculatorStub();
+ }
+
+
+}
Propchange:
maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImplTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleWeaveBuilderTest.java
URL:
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleWeaveBuilderTest.java?rev=935741&r1=935740&r2=935741&view=diff
==============================================================================
---
maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleWeaveBuilderTest.java
(original)
+++
maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleWeaveBuilderTest.java
Mon Apr 19 20:57:44 2010
@@ -20,13 +20,7 @@ import org.apache.maven.execution.MavenE
import org.apache.maven.execution.MavenSession;
import org.apache.maven.lifecycle.LifecycleNotFoundException;
import org.apache.maven.lifecycle.LifecyclePhaseNotFoundException;
-import org.apache.maven.lifecycle.internal.stub.CompletionServiceStub;
-import org.apache.maven.lifecycle.internal.stub.ExecutionEventCatapultStub;
-import
org.apache.maven.lifecycle.internal.stub.LifecycleExecutionPlanCalculatorStub;
-import org.apache.maven.lifecycle.internal.stub.LoggerStub;
-import org.apache.maven.lifecycle.internal.stub.MojoExecutorStub;
-import
org.apache.maven.lifecycle.internal.stub.ProjectDependenciesResolverStub;
-import org.apache.maven.lifecycle.internal.stub.ProjectDependencyGraphStub;
+import org.apache.maven.lifecycle.internal.stub.*;
import org.apache.maven.plugin.InvalidPluginDescriptorException;
import org.apache.maven.plugin.MojoNotFoundException;
import org.apache.maven.plugin.PluginDescriptorParsingException;
@@ -85,9 +79,9 @@ public class LifecycleWeaveBuilderTest
final ClassLoader loader =
Thread.currentThread().getContextClassLoader();
try
{
- BuildListCalculator buildListCalculator =
BuildListCalculatorTest.createBuildListCalculator();
+ BuildListCalculator buildListCalculator = new
BuildListCalculator();
final MavenSession session =
ProjectDependencyGraphStub.getMavenSession();
- List<TaskSegment> taskSegments =
buildListCalculator.calculateTaskSegments( session );
+ List<TaskSegment> taskSegments =
getTaskSegmentCalculator().calculateTaskSegments( session );
ProjectBuildList projectBuildList =
buildListCalculator.calculateProjectBuilds( session, taskSegments );
final MojoExecutorStub mojoExecutorStub = new MojoExecutorStub();
@@ -109,6 +103,11 @@ public class LifecycleWeaveBuilderTest
}
+ private static LifecycleTaskSegmentCalculator getTaskSegmentCalculator()
+ {
+ return new LifecycleTaskSegmentCalculatorStub();
+ }
+
private ReactorContext createBuildContext( MavenSession session )
{
MavenExecutionResult mavenExecutionResult = new
DefaultMavenExecutionResult();
@@ -120,8 +119,6 @@ public class LifecycleWeaveBuilderTest
{
final BuilderCommon builderCommon = getBuilderCommon();
final LoggerStub loggerStub = new LoggerStub();
- final LifecycleDependencyResolver lifecycleDependencyResolver =
- new LifecycleDependencyResolver( new
ProjectDependenciesResolverStub(), loggerStub );
return new LifecycleWeaveBuilder( mojoExecutor, builderCommon,
loggerStub, new ExecutionEventCatapultStub() );
}
Modified:
maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifecycleTaskSegmentCalculatorStub.java
URL:
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifecycleTaskSegmentCalculatorStub.java?rev=935741&r1=935740&r2=935741&view=diff
==============================================================================
---
maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifecycleTaskSegmentCalculatorStub.java
(original)
+++
maven/maven-3/trunk/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifecycleTaskSegmentCalculatorStub.java
Mon Apr 19 20:57:44 2010
@@ -18,7 +18,7 @@ package org.apache.maven.lifecycle.inter
import org.apache.maven.execution.MavenSession;
import org.apache.maven.lifecycle.internal.GoalTask;
import org.apache.maven.lifecycle.internal.LifecycleTask;
-import org.apache.maven.lifecycle.internal.LifecycleTaskSegmentCalculator;
+import org.apache.maven.lifecycle.internal.LifecycleTaskSegmentCalculatorImpl;
import org.apache.maven.lifecycle.internal.TaskSegment;
import org.apache.maven.plugin.InvalidPluginDescriptorException;
import org.apache.maven.plugin.MojoNotFoundException;
@@ -36,7 +36,7 @@ import java.util.List;
*/
public class LifecycleTaskSegmentCalculatorStub
- implements LifecycleTaskSegmentCalculator
+ extends LifecycleTaskSegmentCalculatorImpl
{
public static final String clean = "clean";
@@ -44,6 +44,7 @@ public class LifecycleTaskSegmentCalcula
public static final String install = "install";
+
public List<TaskSegment> calculateTaskSegments( MavenSession session,
List<String> tasks )
throws PluginNotFoundException, PluginResolutionException,
PluginDescriptorParsingException,
MojoNotFoundException, NoPluginFoundForPrefixException,
InvalidPluginDescriptorException,