Author: brett
Date: Fri Sep 23 19:18:54 2005
New Revision: 291236
URL: http://svn.apache.org/viewcvs?rev=291236&view=rev
Log:
PR: MNG-208
flag project that was the root of execution
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectSorter.java
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?rev=291236&r1=291235&r2=291236&view=diff
==============================================================================
---
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
(original)
+++
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
Fri Sep 23 19:18:54 2005
@@ -104,13 +104,13 @@
if ( request.getSettings().isOffline() )
{
getLogger().info( "\n\nNOTE: Maven is running in offline
mode.\n\n" );
-
+
WagonManager wagonManager = null;
try
{
wagonManager = (WagonManager) container.lookup(
WagonManager.ROLE );
-
+
wagonManager.setOnline( false );
}
catch ( ComponentLookupException e )
@@ -160,7 +160,7 @@
List files = getProjectFiles( request );
List projects = collectProjects( files,
request.getLocalRepository(), request.isRecursive(),
- request.getSettings(),
globalProfileManager );
+ request.getSettings(),
globalProfileManager, !request.isReactorActive() );
// the reasoning here is that the list is still unsorted according
to dependency, so the first project
// SHOULD BE the top-level, or the one we want to start with if
we're doing an aggregated build.
@@ -264,7 +264,7 @@
catch ( LifecycleExecutionException e )
{
logFatal( e );
-
+
throw new ReactorException( "Error executing project within
the reactor", e );
}
@@ -351,7 +351,7 @@
}
private List collectProjects( List files, ArtifactRepository
localRepository, boolean recursive, Settings settings,
- ProfileManager globalProfileManager )
+ ProfileManager globalProfileManager, boolean
isRoot )
throws ProjectBuildingException, ReactorException, IOException,
ArtifactResolutionException,
ProfileActivationException
{
@@ -371,6 +371,11 @@
MavenProject project = getProject( file, localRepository,
settings, globalProfileManager );
+ if ( isRoot )
+ {
+ project.setExecutionRoot( true );
+ }
+
if ( project.getPrerequisites() != null &&
project.getPrerequisites().getMaven() != null )
{
DefaultArtifactVersion version = new DefaultArtifactVersion(
project.getPrerequisites().getMaven() );
@@ -409,7 +414,7 @@
}
List collectedProjects = collectProjects( moduleFiles,
localRepository, recursive, settings,
- globalProfileManager
);
+
globalProfileManager, false );
projects.addAll( collectedProjects );
project.setCollectedProjects( collectedProjects );
}
@@ -530,7 +535,7 @@
// ----------------------------------------------------------------------
// Reporting / Logging
// ----------------------------------------------------------------------
-
+
protected void logFatal( Throwable error )
{
line();
@@ -540,7 +545,7 @@
line();
diagnoseError( error );
-
+
line();
}
@@ -553,7 +558,7 @@
line();
diagnoseError( r.getException() );
-
+
line();
stats( r.getStart(), r.getFinish() );
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=291236&r1=291235&r2=291236&view=diff
==============================================================================
---
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
(original)
+++
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
Fri Sep 23 19:18:54 2005
@@ -346,7 +346,7 @@
try
{
artifactResolver.resolve( projectArtifact,
remoteArtifactRepositories, localRepository );
-
+
File file = projectArtifact.getFile();
model = readModel( file );
@@ -1166,6 +1166,8 @@
List remoteRepositories = buildArtifactRepositories( superModel );
project = processProjectLogic( "<Super-POM>", project,
remoteRepositories, null, null );
+
+ project.setExecutionRoot( true );
return project;
}
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java?rev=291236&r1=291235&r2=291236&view=diff
==============================================================================
---
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
(original)
+++
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
Fri Sep 23 19:18:54 2005
@@ -134,6 +134,8 @@
private Build buildOverlay;
+ private boolean executionRoot;
+
public MavenProject( Model model )
{
this.model = model;
@@ -181,6 +183,8 @@
this.originalModel = ModelUtils.cloneModel( project.originalModel
);
}
+ this.executionRoot = project.executionRoot;
+
// TODO: need to clone this too?
this.artifact = project.artifact;
}
@@ -1448,5 +1452,15 @@
public Map getProjectReferences()
{
return projectReferences;
+ }
+
+ public boolean isExecutionRoot()
+ {
+ return executionRoot;
+ }
+
+ public void setExecutionRoot( boolean executionRoot )
+ {
+ this.executionRoot = executionRoot;
}
}
Modified:
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectSorter.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectSorter.java?rev=291236&r1=291235&r2=291236&view=diff
==============================================================================
---
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectSorter.java
(original)
+++
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/ProjectSorter.java
Fri Sep 23 19:18:54 2005
@@ -169,11 +169,14 @@
{
if ( topLevelProject == null )
{
- List projectsByFile = new ArrayList( sortedProjects );
-
- Collections.sort( projectsByFile, new ByProjectFileComparator() );
-
- topLevelProject = (MavenProject) projectsByFile.get( 0 );
+ for ( Iterator i = sortedProjects.iterator(); i.hasNext() &&
topLevelProject == null; )
+ {
+ MavenProject project = (MavenProject) i.next();
+ if ( project.isExecutionRoot() )
+ {
+ topLevelProject = project;
+ }
+ }
}
return topLevelProject;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]