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]