You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2005/09/29 11:55:40 UTC
svn commit: r292411 - in /maven/components/trunk:
maven-core/src/main/java/org/apache/maven/cli/
maven-core/src/main/java/org/apache/maven/execution/
maven-core/src/main/java/org/apache/maven/lifecycle/
maven-project/src/main/java/org/apache/maven/proj...
Author: brett
Date: Thu Sep 29 02:55:25 2005
New Revision: 292411
URL: http://svn.apache.org/viewcvs?rev=292411&view=rev
Log:
PR: MNG-1011
add default goal handling
Added:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/NoGoalsSpecifiedException.java (with props)
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java?rev=292411&r1=292410&r2=292411&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.java Thu Sep 29 02:55:25 2005
@@ -42,8 +42,8 @@
import org.apache.maven.profiles.ProfileManager;
import org.apache.maven.reactor.ReactorException;
import org.apache.maven.settings.MavenSettingsBuilder;
-import org.apache.maven.settings.Settings;
import org.apache.maven.settings.RuntimeInfo;
+import org.apache.maven.settings.Settings;
import org.codehaus.classworlds.ClassWorld;
import org.codehaus.plexus.PlexusContainerException;
import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
@@ -231,15 +231,6 @@
}
}
- // TODO: this should be in default maven, and should accommodate default goals
- if ( request.getGoals().isEmpty() )
- {
- System.err.println( "You must specify at least one goal. Try 'install'" );
-
- cliManager.displayHelp();
- return 1;
- }
-
MavenExecutionResponse response;
try
{
@@ -285,8 +276,8 @@
}
else
{
- System.out.println( "WARNING: Alternate user settings file: " + userSettingsPath +
- " is invalid. Using default path." );
+ System.out.println(
+ "WARNING: Alternate user settings file: " + userSettingsPath + " is invalid. Using default path." );
}
}
@@ -356,10 +347,8 @@
}
}
- private static MavenExecutionRequest createRequest( CommandLine commandLine,
- Settings settings,
- EventDispatcher eventDispatcher,
- LoggerManager loggerManager,
+ private static MavenExecutionRequest createRequest( CommandLine commandLine, Settings settings,
+ EventDispatcher eventDispatcher, LoggerManager loggerManager,
ProfileManager profileManager )
throws ComponentLookupException
{
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java?rev=292411&r1=292410&r2=292411&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java Thu Sep 29 02:55:25 2005
@@ -51,7 +51,8 @@
private boolean usingPOMsFromFilesystem;
public MavenSession( PlexusContainer container, Settings settings, ArtifactRepository localRepository,
- EventDispatcher eventDispatcher, ReactorManager reactorManager, List goals, String executionRootDir )
+ EventDispatcher eventDispatcher, ReactorManager reactorManager, List goals,
+ String executionRootDir )
{
this.container = container;
@@ -67,7 +68,7 @@
this.executionRootDir = executionRootDir;
}
-
+
public Map getPluginContext( PluginDescriptor pluginDescriptor, MavenProject project )
{
return reactorManager.getPluginContext( pluginDescriptor, project );
@@ -140,7 +141,7 @@
{
this.usingPOMsFromFilesystem = usingPOMsFromFilesystem;
}
-
+
public boolean isUsingPOMsFromFilesystem()
{
return usingPOMsFromFilesystem;
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java?rev=292411&r1=292410&r2=292411&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java Thu Sep 29 02:55:25 2005
@@ -110,7 +110,16 @@
{
MavenProject rootProject = rm.getTopLevelProject();
- List taskSegments = segmentTaskListByAggregationNeeds( session.getGoals(), session, rootProject );
+ List goals = session.getGoals();
+
+ if ( goals.isEmpty() && rootProject != null )
+ {
+ String goal = rootProject.getDefaultGoal();
+ if ( goal != null )
+ {
+ goals = Collections.singletonList( goal );
+ }
+ }
MavenExecutionResponse response = new MavenExecutionResponse();
@@ -118,6 +127,13 @@
try
{
+ if ( goals.isEmpty() )
+ {
+ throw new NoGoalsSpecifiedException( "You must specify at least one goal. Try 'install'" );
+ }
+
+ List taskSegments = segmentTaskListByAggregationNeeds( goals, session, rootProject );
+
// TODO: probably don't want to do all this up front
for ( Iterator i = session.getSortedProjects().iterator(); i.hasNext(); )
{
@@ -163,6 +179,10 @@
catch ( InvalidVersionSpecificationException e )
{
throw new LifecycleExecutionException( "Unable to initialise extensions", e );
+ }
+ catch ( NoGoalsSpecifiedException e )
+ {
+ response.setException( e );
}
finally
{
Added: maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/NoGoalsSpecifiedException.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/NoGoalsSpecifiedException.java?rev=292411&view=auto
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/NoGoalsSpecifiedException.java (added)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/NoGoalsSpecifiedException.java Thu Sep 29 02:55:25 2005
@@ -0,0 +1,32 @@
+package org.apache.maven.lifecycle;
+
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Exception indicating there were no goals given.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ * @version $Id$
+ */
+public class NoGoalsSpecifiedException
+ extends Exception
+{
+ public NoGoalsSpecifiedException( String message )
+ {
+ super( message );
+ }
+}
Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/NoGoalsSpecifiedException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/NoGoalsSpecifiedException.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
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=292411&r1=292410&r2=292411&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 Thu Sep 29 02:55:25 2005
@@ -1463,4 +1463,9 @@
{
this.executionRoot = executionRoot;
}
+
+ public String getDefaultGoal()
+ {
+ return getBuild() != null ? getBuild().getDefaultGoal() : null;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org