Author: brett Date: Sat Jul 30 09:04:02 2005 New Revision: 226540 URL: http://svn.apache.org/viewcvs?rev=226540&view=rev Log: correct no project handling (eg archetype:create)
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.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=226540&r1=226539&r2=226540&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 Sat Jul 30 09:04:02 2005 @@ -125,36 +125,38 @@ } EventDispatcher dispatcher = request.getEventDispatcher(); - + String event = MavenEvents.REACTOR_EXECUTION; dispatcher.dispatchStart( event, request.getBaseDirectory() ); List projects; - + MavenProject topLevelProject; try { List files = getProjectFiles( request ); - + projects = collectProjects( files, request.getLocalRepository(), request.isRecursive(), request.getSettings() ); - + // 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. - - // TODO: !![jc; 28-jul-2005] check this; if we're using '-r' and there are aggregator tasks, this will result in weirdness. - topLevelProject = (MavenProject) projects.get( 0 ); - - projects = ProjectSorter.getSortedProjects(projects); - if ( projects.isEmpty() ) + if ( !projects.isEmpty() ) + { + // TODO: !![jc; 28-jul-2005] check this; if we're using '-r' and there are aggregator tasks, this will result in weirdness. + topLevelProject = (MavenProject) projects.get( 0 ); + projects = ProjectSorter.getSortedProjects( projects ); + } + else { List externalProfiles = getActiveExternalProfiles( null, request.getSettings() ); - projects.add( - projectBuilder.buildStandaloneSuperProject( request.getLocalRepository(), externalProfiles ) ); + topLevelProject = projectBuilder.buildStandaloneSuperProject( request.getLocalRepository(), + externalProfiles ); + projects.add( topLevelProject ); } } catch ( IOException e ) @@ -201,11 +203,11 @@ try { MavenSession session = createSession( request, projects ); - + try { MavenExecutionResponse response = lifecycleExecutor.execute( session, topLevelProject, dispatcher ); - + // TODO: is this perhaps more appropriate in the CLI? if ( response.isExecutionFailure() ) { @@ -219,7 +221,7 @@ if ( exception.getCause() == null ) { MojoExecutionException e = (MojoExecutionException) exception; - + logFailure( response, e, e.getLongMessage() ); } else @@ -240,7 +242,7 @@ // one example) logError( response ); } - + return response; } else @@ -279,7 +281,7 @@ { getLogger().info( "NOTE: Using release-pom: " + file + " in reactor build." ); } - + MavenProject project = getProject( file, localRepository, settings ); if ( project.getPrerequesites() != null && project.getPrerequesites().getMaven() != null ) @@ -402,7 +404,8 @@ protected MavenSession createSession( MavenExecutionRequest request, List projects ) { return new MavenSession( container, request.getSettings(), request.getLocalRepository(), - request.getEventDispatcher(), projects, request.getGoals(), request.getBaseDirectory() ); + request.getEventDispatcher(), projects, request.getGoals(), + request.getBaseDirectory() ); } /** @@ -622,12 +625,12 @@ } return msg; } - + private List getProjectFiles( MavenExecutionRequest request ) throws IOException { List files = Collections.EMPTY_LIST; - + if ( request.isReactorActive() ) { // TODO: should we now include the pom.xml in the current directory? @@ -636,9 +639,9 @@ String includes = System.getProperty( "maven.reactor.includes", "**/" + POMv4 + ",**/" + RELEASE_POMv4 ); String excludes = System.getProperty( "maven.reactor.excludes", POMv4 + "," + RELEASE_POMv4 ); - + files = FileUtils.getFiles( userDir, includes, excludes ); - + filterOneProjectFilePerDirectory( files ); // make sure there is consistent ordering on all platforms, rather than using the filesystem ordering @@ -667,28 +670,28 @@ files = Collections.singletonList( projectFile ); } } - + return files; } private void filterOneProjectFilePerDirectory( List files ) { List releaseDirs = new ArrayList(); - + for ( Iterator it = files.iterator(); it.hasNext(); ) { File projectFile = (File) it.next(); - + if ( RELEASE_POMv4.equals( projectFile.getName() ) ) { releaseDirs.add( projectFile.getParentFile() ); } } - + for ( Iterator it = files.iterator(); it.hasNext(); ) { File projectFile = (File) it.next(); - + // remove pom.xml files where there is a sibling release-pom.xml file... if ( !RELEASE_POMv4.equals( projectFile.getName() ) && releaseDirs.contains( projectFile.getParentFile() ) ) { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]