You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by jv...@apache.org on 2005/09/25 18:06:31 UTC
svn commit: r291435 - in
/maven/components/trunk/maven-core/src/main/java/org/apache/maven:
DefaultMaven.java cli/MavenCli.java
Author: jvanzyl
Date: Sun Sep 25 09:06:28 2005
New Revision: 291435
URL: http://svn.apache.org/viewcvs?rev=291435&view=rev
Log:
o slowly (and safely) trying to make bits extractable from here so that i
can integration it into the embedder and then use the embedder for the
o it-plugin
o maven cli
o ant tasks
o eclipse m2 plugin
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultMaven.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/cli/MavenCli.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=291435&r1=291434&r2=291435&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 Sun Sep 25 09:06:28 2005
@@ -170,7 +170,7 @@
{
MavenProject superProject = projectBuilder.buildStandaloneSuperProject( request.getLocalRepository() );
projects.add( superProject );
-
+
foundProjects = false;
}
@@ -207,7 +207,7 @@
try
{
MavenSession session = createSession( request, rm );
-
+
session.setUsingPOMsFromFilesystem( foundProjects );
try
@@ -509,7 +509,7 @@
wagonManager.addAuthenticationInfo( server.getId(), server.getUsername(), server.getPassword(),
server.getPrivateKey(), server.getPassphrase() );
-
+
wagonManager.addPermissionInfo( server.getId(), server.getFilePermissions(),
server.getDirectoryPermissions() );
}
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=291435&r1=291434&r2=291435&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 Sun Sep 25 09:06:28 2005
@@ -43,6 +43,7 @@
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.codehaus.classworlds.ClassWorld;
import org.codehaus.plexus.PlexusContainerException;
import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
@@ -50,7 +51,6 @@
import org.codehaus.plexus.embed.Embedder;
import org.codehaus.plexus.logging.Logger;
import org.codehaus.plexus.logging.LoggerManager;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import java.io.File;
import java.io.IOException;
@@ -65,6 +65,8 @@
*/
public class MavenCli
{
+ private static Embedder embedder;
+
/**
* @noinspection ConfusingMainMethod
*/
@@ -132,7 +134,7 @@
// bring the maven component to life for use.
// ----------------------------------------------------------------------
- Embedder embedder = new Embedder();
+ embedder = new Embedder();
try
{
@@ -141,93 +143,34 @@
catch ( PlexusContainerException e )
{
showFatalError( "Unable to start the embedded plexus container", e, showErrors );
- return 1;
- }
-
- String userSettingsPath = null;
- if ( commandLine.hasOption( CLIManager.ALTERNATE_USER_SETTINGS ) )
- {
- userSettingsPath = commandLine.getOptionValue( CLIManager.ALTERNATE_USER_SETTINGS );
+ return 1;
}
Settings settings = null;
- try
- {
- MavenSettingsBuilder settingsBuilder = (MavenSettingsBuilder) embedder.lookup( MavenSettingsBuilder.ROLE );
-
- if ( userSettingsPath != null )
- {
- File userSettingsFile = new File( userSettingsPath );
- if ( userSettingsFile.exists() && !userSettingsFile.isDirectory() )
- {
- settings = settingsBuilder.buildSettings( userSettingsFile );
- }
- else
- {
- System.out.println( "WARNING: Alternate user settings file: " + userSettingsPath +
- " is invalid. Using default path." );
- }
- }
-
- if ( settings == null )
- {
- settings = settingsBuilder.buildSettings();
- }
- }
- catch ( IOException e )
- {
- showFatalError( "Unable to read settings.xml", e, showErrors );
- return 1;
- }
- catch ( XmlPullParserException e )
+ try
{
- showFatalError( "Unable to read settings.xml", e, showErrors );
- return 1;
+ settings = buildSettings( commandLine );
}
- catch ( ComponentLookupException e )
+ catch ( Exception e )
{
showFatalError( "Unable to read settings.xml", e, showErrors );
- return 1;
- }
-
- if ( commandLine.hasOption( CLIManager.BATCH_MODE ) )
- {
- settings.setInteractiveMode( false );
- }
-
- if ( commandLine.hasOption( CLIManager.FORCE_PLUGIN_UPDATES ) ||
- commandLine.hasOption( CLIManager.FORCE_PLUGIN_UPDATES2 ) )
- {
- settings.getRuntimeInfo().setPluginUpdateOverride( Boolean.TRUE );
- }
- else if ( commandLine.hasOption( CLIManager.SUPPRESS_PLUGIN_UPDATES ) )
- {
- settings.getRuntimeInfo().setPluginUpdateOverride( Boolean.FALSE );
- }
-
- if ( commandLine.hasOption( CLIManager.FORCE_PLUGIN_LATEST_CHECK ) )
- {
- settings.getRuntimeInfo().setCheckLatestPluginVersion( Boolean.TRUE );
- }
- else if ( commandLine.hasOption( CLIManager.SUPPRESS_PLUGIN_LATEST_CHECK ) )
- {
- settings.getRuntimeInfo().setCheckLatestPluginVersion( Boolean.FALSE );
- }
- if ( commandLine.hasOption( CLIManager.SUPPRESS_PLUGIN_REGISTRY ) )
- {
- settings.setUsePluginRegistry( false );
+ return 1;
}
Maven maven = null;
+
MavenExecutionRequest request = null;
+
LoggerManager loggerManager = null;
+
try
{
// logger must be created first
loggerManager = (LoggerManager) embedder.lookup( LoggerManager.ROLE );
+
if ( debug )
{
loggerManager.setThreshold( Logger.LEVEL_DEBUG );
@@ -261,15 +204,16 @@
}
}
- request = createRequest( embedder, commandLine, settings, eventDispatcher, loggerManager, profileManager );
+ request = createRequest( commandLine, settings, eventDispatcher, loggerManager, profileManager );
setProjectFileOptions( commandLine, request );
- maven = createMavenInstance( embedder, settings.isInteractiveMode() );
+ maven = createMavenInstance( settings.isInteractiveMode() );
}
catch ( ComponentLookupException e )
{
showFatalError( "Unable to configure the Maven application", e, showErrors );
+
return 1;
}
finally
@@ -317,6 +261,86 @@
}
}
+ private static Settings buildSettings( CommandLine commandLine )
+ throws Exception
+ {
+ String userSettingsPath = null;
+
+ if ( commandLine.hasOption( CLIManager.ALTERNATE_USER_SETTINGS ) )
+ {
+ userSettingsPath = commandLine.getOptionValue( CLIManager.ALTERNATE_USER_SETTINGS );
+ }
+
+ Settings settings = null;
+
+ MavenSettingsBuilder settingsBuilder = (MavenSettingsBuilder) embedder.lookup( MavenSettingsBuilder.ROLE );
+
+ if ( userSettingsPath != null )
+ {
+ File userSettingsFile = new File( userSettingsPath );
+
+ if ( userSettingsFile.exists() && !userSettingsFile.isDirectory() )
+ {
+ settings = settingsBuilder.buildSettings( userSettingsFile );
+ }
+ else
+ {
+ System.out.println( "WARNING: Alternate user settings file: " + userSettingsPath +
+ " is invalid. Using default path." );
+ }
+ }
+
+ if ( settings == null )
+ {
+ settings = settingsBuilder.buildSettings();
+ }
+
+ // why aren't these part of the runtime info? jvz.
+
+ if ( commandLine.hasOption( CLIManager.BATCH_MODE ) )
+ {
+ settings.setInteractiveMode( false );
+ }
+
+ if ( commandLine.hasOption( CLIManager.SUPPRESS_PLUGIN_REGISTRY ) )
+ {
+ settings.setUsePluginRegistry( false );
+ }
+
+ // Create settings runtime info
+
+ settings.setRuntimeInfo( createRuntimeInfo( commandLine, settings ) );
+
+ return settings;
+ }
+
+ private static RuntimeInfo createRuntimeInfo( CommandLine commandLine, Settings settings )
+ {
+ RuntimeInfo runtimeInfo = new RuntimeInfo( settings );
+
+ if ( commandLine.hasOption( CLIManager.FORCE_PLUGIN_UPDATES ) ||
+ commandLine.hasOption( CLIManager.FORCE_PLUGIN_UPDATES2 ) )
+ {
+ runtimeInfo.setPluginUpdateOverride( Boolean.TRUE );
+ }
+ else if ( commandLine.hasOption( CLIManager.SUPPRESS_PLUGIN_UPDATES ) )
+ {
+ runtimeInfo.setPluginUpdateOverride( Boolean.FALSE );
+ }
+
+ if ( commandLine.hasOption( CLIManager.FORCE_PLUGIN_LATEST_CHECK ) )
+ {
+ runtimeInfo.setCheckLatestPluginVersion( Boolean.TRUE );
+ }
+ else if ( commandLine.hasOption( CLIManager.SUPPRESS_PLUGIN_LATEST_CHECK ) )
+ {
+ runtimeInfo.setCheckLatestPluginVersion( Boolean.FALSE );
+ }
+
+ return runtimeInfo;
+ }
+
+
private static void showFatalError( String message, Exception e, boolean show )
{
System.err.println( "FATAL ERROR: " + message );
@@ -332,8 +356,10 @@
}
}
- private static MavenExecutionRequest createRequest( Embedder embedder, CommandLine commandLine, Settings settings,
- EventDispatcher eventDispatcher, LoggerManager loggerManager,
+ private static MavenExecutionRequest createRequest( CommandLine commandLine,
+ Settings settings,
+ EventDispatcher eventDispatcher,
+ LoggerManager loggerManager,
ProfileManager profileManager )
throws ComponentLookupException
{
@@ -385,7 +411,7 @@
}
}
- private static Maven createMavenInstance( Embedder embedder, boolean interactive )
+ private static Maven createMavenInstance( boolean interactive )
throws ComponentLookupException
{
// TODO [BP]: doing this here as it is CLI specific, though it doesn't feel like the right place (likewise logger).
@@ -413,7 +439,7 @@
ArtifactRepositoryFactory artifactRepositoryFactory = (ArtifactRepositoryFactory) embedder.lookup(
ArtifactRepositoryFactory.ROLE );
-
+
String url = settings.getLocalRepository();
if ( !url.startsWith( "file:" ) )
@@ -424,10 +450,11 @@
ArtifactRepository localRepository = new DefaultArtifactRepository( "local", url, repositoryLayout );
boolean snapshotPolicySet = false;
+
if ( commandLine.hasOption( CLIManager.OFFLINE ) )
{
settings.setOffline( true );
-
+
snapshotPolicySet = true;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org