Author: krosenvold
Date: Tue Apr 13 20:09:15 2010
New Revision: 933771
URL: http://svn.apache.org/viewvc?rev=933771&view=rev
Log:
[MNG-4633] Removed isWeaveMode from ReactorArtifactRepository
This feature was incorrect, and weave mode requires no special handling here.
Modified:
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/ReactorArtifactRepository.java
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/PhaseRecorder.java
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
Modified:
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL:
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=933771&r1=933770&r2=933771&view=diff
==============================================================================
---
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
(original)
+++
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
Tue Apr 13 20:09:15 2010
@@ -39,7 +39,6 @@ import org.apache.maven.execution.MavenS
import org.apache.maven.execution.ProjectDependencyGraph;
import org.apache.maven.lifecycle.LifecycleExecutor;
import org.apache.maven.lifecycle.internal.ExecutionEventCatapult;
-import org.apache.maven.lifecycle.internal.LifecycleWeaveBuilder;
import org.apache.maven.model.building.ModelProblem;
import org.apache.maven.model.building.ModelSource;
import org.apache.maven.model.building.UrlModelSource;
@@ -112,6 +111,7 @@ public class DefaultMaven
return result;
}
+ @SuppressWarnings({"ThrowableInstanceNeverThrown",
"ThrowableResultOfMethodCallIgnored"})
private MavenExecutionResult doExecute( MavenExecutionRequest request )
{
//TODO: Need a general way to inject standard properties
@@ -182,8 +182,7 @@ public class DefaultMaven
// Reactor
// Workspace
// User Local Repository
- final boolean isWeaveMode = LifecycleWeaveBuilder.isWeaveMode(
request);
- delegatingLocalArtifactRepository.setBuildReactor( new
ReactorArtifactRepository( projectMap, isWeaveMode ) );
+ delegatingLocalArtifactRepository.setBuildReactor( new
ReactorArtifactRepository( projectMap ) );
}
catch ( org.apache.maven.DuplicateProjectException e )
{
@@ -248,13 +247,14 @@ public class DefaultMaven
validateActivatedProfiles( session.getProjects(),
request.getActiveProfiles() );
if ( session.getResult().hasExceptions() )
- {
+ {
return processResult( result,
session.getResult().getExceptions().get( 0 ) );
}
return result;
}
+ @SuppressWarnings({"ResultOfMethodCallIgnored"})
private void validateLocalRepository( MavenExecutionRequest request )
throws LocalRepositoryNotAccessibleException
{
Modified:
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/ReactorArtifactRepository.java
URL:
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/ReactorArtifactRepository.java?rev=933771&r1=933770&r2=933771&view=diff
==============================================================================
---
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/ReactorArtifactRepository.java
(original)
+++
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/ReactorArtifactRepository.java
Tue Apr 13 20:09:15 2010
@@ -21,15 +21,12 @@ public class ReactorArtifactRepository
private Map<String, List<String>> availableVersions;
- private final boolean isWeaveMode;
-
private final int hashCode;
- @SuppressWarnings({"ConstantConditions"})
- public ReactorArtifactRepository( Map<String, MavenProject>
reactorProjects, boolean isWeaveMode )
+ @SuppressWarnings({"ConstantConditions"})
+ public ReactorArtifactRepository( Map<String, MavenProject>
reactorProjects )
{
this.reactorProjects = reactorProjects;
- this.isWeaveMode = isWeaveMode;
hashCode = ( reactorProjects != null ) ?
reactorProjects.keySet().hashCode() : 0;
availableVersions = new HashMap<String, List<String>>(
reactorProjects.size() * 2 );
@@ -53,7 +50,7 @@ public class ReactorArtifactRepository
public Artifact find( Artifact artifact )
{
String projectKey = ArtifactUtils.key( artifact );
-
+
MavenProject project = reactorProjects.get( projectKey );
if ( project != null )
@@ -68,35 +65,32 @@ public class ReactorArtifactRepository
Artifact projectArtifact = findMatchingArtifact( project,
artifact );
- if ( !isWeaveMode && (projectArtifact != null &&
projectArtifact.getFile() != null && projectArtifact.getFile().exists()) )
+ if ( hasArtifactFileFromPackagePhase( projectArtifact ) )
{
- //TODO: This is really completely wrong and should
probably be based on the phase that is currently being executed.
- // If we are running before the packaging phase there is
going to be no archive anyway, but if we are running prior to package
- // we shouldn't even take the archive anyway.
resolve( artifact, projectArtifact.getFile() );
}
else
{
- Collection<String> lifecyclePhases =
project.getLifecyclePhases();
-
- if ( !lifecyclePhases.contains( "package" ) )
+ if ( !project.hasCompletedPhase( "package" ) )
{
if ( isTestArtifact( artifact ) )
{
- if ( lifecyclePhases.contains( "test-compile" ) )
+ if ( project.hasCompletedPhase( "test-compile" ) )
{
resolve( artifact, new File(
project.getBuild().getTestOutputDirectory() ) );
}
}
else
{
- if ( lifecyclePhases.contains( "compile" ) )
+ if ( project.hasCompletedPhase( "compile" ) )
{
resolve( artifact, new File(
project.getBuild().getOutputDirectory() ) );
}
}
}
+ // The fall-through indicates that the artifact cannot be
found;
+ // for instance if package produced nothing or classifier
problems.
}
}
}
@@ -104,6 +98,11 @@ public class ReactorArtifactRepository
return artifact;
}
+ private boolean hasArtifactFileFromPackagePhase( Artifact projectArtifact )
+ {
+ return projectArtifact != null && projectArtifact.getFile() != null &&
projectArtifact.getFile().exists();
+ }
+
private void resolve( Artifact artifact, File file )
{
artifact.setFile( file );
Modified:
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/PhaseRecorder.java
URL:
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/PhaseRecorder.java?rev=933771&r1=933770&r2=933771&view=diff
==============================================================================
---
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/PhaseRecorder.java
(original)
+++
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/internal/PhaseRecorder.java
Tue Apr 13 20:09:15 2010
@@ -19,7 +19,7 @@ import org.apache.maven.project.MavenPro
/**
* @author Benjamin Bentmann
- * @author Kristian Rosenvold (extrace class)
+ * @author Kristian Rosenvold (extract class)
* <p/>
* NOTE: This class is not part of any public api and can be changed
or deleted without prior notice.
*/
Modified:
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
URL:
http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/MavenProject.java?rev=933771&r1=933770&r2=933771&view=diff
==============================================================================
---
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
(original)
+++
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/project/MavenProject.java
Tue Apr 13 20:09:15 2010
@@ -222,7 +222,6 @@ public class MavenProject
/**
* Constructor
*
- * @param artifactFactory - may not be null
* @param repositorySystem - may not be null
* @param mavenProjectBuilder
* @param projectBuilderConfiguration
@@ -2084,15 +2083,14 @@ public class MavenProject
}
/**
- * Gets the set of lifecycle phases this project has successfully
completed.
- *
- * @return The (unmodifiable) set of lifecycle phases this project has
successfully completed, can be empty but
- * never {...@code null}.
+ * Indicates if the project has completed the specified lifecycle phase.
+ *
+ * @param phase The phase to check for completion
+ * @return true if the phase has been completed
*/
- public Set<String> getLifecyclePhases()
+ public boolean hasCompletedPhase( String phase )
{
- return ( lifecyclePhases != null ) ? Collections.unmodifiableSet(
lifecyclePhases )
- : Collections.<String> emptySet();
+ return lifecyclePhases != null && lifecyclePhases.contains( phase );
}
/**
@@ -2107,7 +2105,7 @@ public class MavenProject
{
if ( lifecyclePhases == null )
{
- lifecyclePhases = new LinkedHashSet<String>();
+ lifecyclePhases = Collections.synchronizedSet( new
LinkedHashSet<String>() );
}
lifecyclePhases.add( lifecyclePhase );
}