Author: jvanzyl Date: Fri Oct 2 06:51:50 2009 New Revision: 820905 URL: http://svn.apache.org/viewvc?rev=820905&view=rev Log: o first pass at cleaning up the embedding pattern
Added: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulator.java - copied, changed from r820362, maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequestPopulationException.java - copied, changed from r820362, maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderException.java maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequestPopulator.java - copied, changed from r820362, maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/MavenExecutionRequestPopulator.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/Configuration.java - copied, changed from r820362, maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/Configuration.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/ConfigurationValidationResult.java - copied, changed from r820362, maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/ConfigurationValidationResult.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/DefaultConfiguration.java - copied, changed from r820362, maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/DefaultConfiguration.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/DefaultConfigurationValidationResult.java - copied, changed from r820362, maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/DefaultConfigurationValidationResult.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/FileLogger.java - copied, changed from r820362, maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderFileLogger.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/PrintStreamLogger.java - copied, changed from r820362, maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderPrintStreamLogger.java Removed: maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/AbstractMavenEmbedderLogger.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/Configuration.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/ConfigurationValidationResult.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/ContainerCustomizer.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/DefaultConfiguration.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/DefaultConfigurationValidationResult.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderConsoleLogger.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderException.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderFileLogger.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderLogger.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderLoggerManager.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderPrintStreamLogger.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderSecurityManager.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/PlexusLoggerAdapter.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/ maven/maven-3/trunk/maven-embedder/src/test/java/org/apache/maven/cli/TestEmbedderLogger.java maven/maven-3/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/AbstractCoreMavenComponentTestCase.java maven/maven-3/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/CustomArtifactFactory.java maven/maven-3/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MavenEmbedderTest.java maven/maven-3/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/MyArtifactHandler.java maven/maven-3/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/SimpleConfiguration.java maven/maven-3/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/TestComponentOverride.java maven/maven-3/trunk/maven-embedder/src/test/java/org/apache/maven/embedder/validation/ Modified: maven/maven-3/trunk/apache-maven/src/bin/mvnr.rb maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIRequestUtils.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/ExecutionEventLogger.java maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java maven/maven-3/trunk/pom.xml Modified: maven/maven-3/trunk/apache-maven/src/bin/mvnr.rb URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/apache-maven/src/bin/mvnr.rb?rev=820905&r1=820904&r2=820905&view=diff ============================================================================== --- maven/maven-3/trunk/apache-maven/src/bin/mvnr.rb (original) +++ maven/maven-3/trunk/apache-maven/src/bin/mvnr.rb Fri Oct 2 06:51:50 2009 @@ -24,7 +24,7 @@ include_class 'java.io.File' include_class 'org.apache.maven.embedder.MavenEmbedder' - include_class 'org.apache.maven.embedder.DefaultConfiguration' + include_class 'org.apache.maven.cli.DefaultConfiguration' include_class 'org.apache.maven.execution.DefaultMavenExecutionRequest' def run Copied: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulator.java (from r820362, maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java) URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulator.java?p2=maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulator.java&p1=maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java&r1=820362&r2=820905&rev=820905&view=diff ============================================================================== --- maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/DefaultMavenExecutionRequestPopulator.java (original) +++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulator.java Fri Oct 2 06:51:50 2009 @@ -1,4 +1,4 @@ -package org.apache.maven.embedder.execution; +package org.apache.maven.execution; /* * Licensed to the Apache Software Foundation (ASF) under one @@ -28,8 +28,6 @@ import org.apache.maven.Maven; import org.apache.maven.artifact.InvalidRepositoryException; import org.apache.maven.artifact.repository.ArtifactRepository; -import org.apache.maven.embedder.MavenEmbedderException; -import org.apache.maven.execution.MavenExecutionRequest; import org.apache.maven.repository.RepositorySystem; import org.apache.maven.settings.Mirror; import org.apache.maven.settings.Proxy; @@ -58,7 +56,7 @@ private SecDispatcher securityDispatcher; public MavenExecutionRequest populateFromSettings( MavenExecutionRequest request, Settings settings ) - throws MavenEmbedderException + throws MavenExecutionRequestPopulationException { if ( settings == null ) { @@ -197,7 +195,7 @@ } private void injectDefaultRepositories( MavenExecutionRequest request ) - throws MavenEmbedderException + throws MavenExecutionRequestPopulationException { Set<String> definedRepositories = getRepoIds( request.getRemoteRepositories() ); @@ -209,13 +207,13 @@ } catch ( InvalidRepositoryException e ) { - throw new MavenEmbedderException( "Cannot create default remote repository.", e ); + throw new MavenExecutionRequestPopulationException( "Cannot create default remote repository.", e ); } } } private void injectDefaultPluginRepositories( MavenExecutionRequest request ) - throws MavenEmbedderException + throws MavenExecutionRequestPopulationException { Set<String> definedRepositories = getRepoIds( request.getPluginArtifactRepositories() ); @@ -227,7 +225,7 @@ } catch ( InvalidRepositoryException e ) { - throw new MavenEmbedderException( "Cannot create default remote repository.", e ); + throw new MavenExecutionRequestPopulationException( "Cannot create default remote repository.", e ); } } } @@ -248,7 +246,7 @@ } private void processRepositoriesInSettings( MavenExecutionRequest request ) - throws MavenEmbedderException + throws MavenExecutionRequestPopulationException { repositorySystem.injectMirror( request.getRemoteRepositories(), request.getMirrors() ); repositorySystem.injectProxy( request.getRemoteRepositories(), request.getProxies() ); @@ -264,7 +262,7 @@ } private void localRepository( MavenExecutionRequest request ) - throws MavenEmbedderException + throws MavenExecutionRequestPopulationException { // ------------------------------------------------------------------------ // Local Repository @@ -290,7 +288,7 @@ // ------------------------------------------------------------------------ public ArtifactRepository createLocalRepository( MavenExecutionRequest request ) - throws MavenEmbedderException + throws MavenExecutionRequestPopulationException { String localRepositoryPath = null; @@ -310,12 +308,12 @@ } catch ( InvalidRepositoryException e ) { - throw new MavenEmbedderException( "Cannot create local repository.", e ); + throw new MavenExecutionRequestPopulationException( "Cannot create local repository.", e ); } } public MavenExecutionRequest populateDefaults( MavenExecutionRequest request ) - throws MavenEmbedderException + throws MavenExecutionRequestPopulationException { pom( request ); Copied: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequestPopulationException.java (from r820362, maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderException.java) URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequestPopulationException.java?p2=maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequestPopulationException.java&p1=maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderException.java&r1=820362&r2=820905&rev=820905&view=diff ============================================================================== --- maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderException.java (original) +++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequestPopulationException.java Fri Oct 2 06:51:50 2009 @@ -1,4 +1,4 @@ -package org.apache.maven.embedder; +package org.apache.maven.execution; /* * Licensed to the Apache Software Foundation (ASF) under one @@ -22,20 +22,20 @@ /** * @author Jason van Zyl */ -public class MavenEmbedderException +public class MavenExecutionRequestPopulationException extends Exception { - public MavenEmbedderException( String message ) + public MavenExecutionRequestPopulationException( String message ) { super( message ); } - public MavenEmbedderException( Throwable cause ) + public MavenExecutionRequestPopulationException( Throwable cause ) { super( cause ); } - public MavenEmbedderException( String message, + public MavenExecutionRequestPopulationException( String message, Throwable cause ) { super( message, cause ); Copied: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequestPopulator.java (from r820362, maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/MavenExecutionRequestPopulator.java) URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequestPopulator.java?p2=maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequestPopulator.java&p1=maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/MavenExecutionRequestPopulator.java&r1=820362&r2=820905&rev=820905&view=diff ============================================================================== --- maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/execution/MavenExecutionRequestPopulator.java (original) +++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequestPopulator.java Fri Oct 2 06:51:50 2009 @@ -1,4 +1,4 @@ -package org.apache.maven.embedder.execution; +package org.apache.maven.execution; /* * Licensed to the Apache Software Foundation (ASF) under one @@ -19,8 +19,6 @@ * under the License. */ -import org.apache.maven.embedder.MavenEmbedderException; -import org.apache.maven.execution.MavenExecutionRequest; import org.apache.maven.settings.Settings; /** @@ -39,19 +37,19 @@ * @param request The execution request to populate, must not be {...@code null}. * @param settings The settings to copy into the execution request, may be {...@code null}. * @return The populated execution request, never {...@code null}. - * @throws MavenEmbedderException If the execution request could not be populated. + * @throws MavenExecutionRequestPopulationException If the execution request could not be populated. */ MavenExecutionRequest populateFromSettings( MavenExecutionRequest request, Settings settings ) - throws MavenEmbedderException; + throws MavenExecutionRequestPopulationException; /** * Injects default values like plugin groups or repositories into the specified execution request. * * @param request The execution request to populate, must not be {...@code null}. * @return The populated execution request, never {...@code null}. - * @throws MavenEmbedderException If the execution request could not be populated. + * @throws MavenExecutionRequestPopulationException If the execution request could not be populated. */ MavenExecutionRequest populateDefaults( MavenExecutionRequest request ) - throws MavenEmbedderException; + throws MavenExecutionRequestPopulationException; } Modified: maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java?rev=820905&r1=820904&r2=820905&view=diff ============================================================================== --- maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java (original) +++ maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java Fri Oct 2 06:51:50 2009 @@ -28,7 +28,7 @@ import java.util.Properties; import java.util.TimeZone; -import org.apache.maven.embedder.MavenEmbedderLogger; +import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.Os; @@ -89,7 +89,7 @@ } - private static void stats( Date start, MavenEmbedderLogger logger ) + private static void stats( Date start, Logger logger ) { Date finish = new Date(); @@ -182,7 +182,7 @@ return properties; } - public static void showError( MavenEmbedderLogger logger, String message, Exception e, boolean showStackTrace ) + public static void showError( Logger logger, String message, Exception e, boolean showStackTrace ) { if ( showStackTrace ) { Modified: maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIRequestUtils.java URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIRequestUtils.java?rev=820905&r1=820904&r2=820905&view=diff ============================================================================== --- maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIRequestUtils.java (original) +++ maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/CLIRequestUtils.java Fri Oct 2 06:51:50 2009 @@ -31,7 +31,6 @@ import org.apache.commons.cli.CommandLine; import org.apache.maven.Maven; import org.apache.maven.MavenTransferListener; -import org.apache.maven.embedder.MavenEmbedder; import org.apache.maven.execution.MavenExecutionRequest; import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.cli.CommandLineUtils; @@ -224,7 +223,7 @@ } else { - userToolchainsFile = MavenEmbedder.DEFAULT_USER_TOOLCHAINS_FILE; + userToolchainsFile = MavenCli.DEFAULT_USER_TOOLCHAINS_FILE; } request Copied: maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/Configuration.java (from r820362, maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/Configuration.java) URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/Configuration.java?p2=maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/Configuration.java&p1=maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/Configuration.java&r1=820362&r2=820905&rev=820905&view=diff ============================================================================== --- maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/Configuration.java (original) +++ maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/Configuration.java Fri Oct 2 06:51:50 2009 @@ -1,4 +1,4 @@ -package org.apache.maven.embedder; +package org.apache.maven.cli; /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -25,6 +25,7 @@ import org.codehaus.plexus.PlexusContainer; import org.codehaus.plexus.classworlds.ClassWorld; +import org.codehaus.plexus.logging.Logger; /** * Configuration of embedder, used when starting up. @@ -52,9 +53,9 @@ // Logger // ---------------------------------------------------------------------------- - Configuration setMavenEmbedderLogger( MavenEmbedderLogger logger ); + Configuration setMavenEmbedderLogger( Logger logger ); - MavenEmbedderLogger getMavenEmbedderLogger(); + Logger getMavenEmbedderLogger(); // ---------------------------------------------------------------------------- // ClassWorld/ClassLoader @@ -86,9 +87,6 @@ /** Add a list of String instances with names of profiles to inactivate. */ Configuration addInactiveProfiles( List<String> profiles ); - /** Set a customizer callback implemetation that will be given a chance to modify the plexus container on startup. */ - Configuration setConfigurationCustomizer( ContainerCustomizer customizer ); - /** set the system properties to be used during the lifecycle of the embedder. Excluding the time when executing the project, then the properties from MavenExecutionRequestare used. */ Configuration setSystemProperties( Properties properties ); @@ -97,12 +95,6 @@ List<String> getInactiveProfiles(); // ---------------------------------------------------------------------------- - // Container Customizer - // ---------------------------------------------------------------------------- - - ContainerCustomizer getContainerCustomizer(); - - // ---------------------------------------------------------------------------- // System Properties // ---------------------------------------------------------------------------- Copied: maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/ConfigurationValidationResult.java (from r820362, maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/ConfigurationValidationResult.java) URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/ConfigurationValidationResult.java?p2=maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/ConfigurationValidationResult.java&p1=maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/ConfigurationValidationResult.java&r1=820362&r2=820905&rev=820905&view=diff ============================================================================== --- maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/ConfigurationValidationResult.java (original) +++ maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/ConfigurationValidationResult.java Fri Oct 2 06:51:50 2009 @@ -1,4 +1,4 @@ -package org.apache.maven.embedder; +package org.apache.maven.cli; /* * Licensed to the Apache Software Foundation (ASF) under one Copied: maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/DefaultConfiguration.java (from r820362, maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/DefaultConfiguration.java) URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/DefaultConfiguration.java?p2=maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/DefaultConfiguration.java&p1=maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/DefaultConfiguration.java&r1=820362&r2=820905&rev=820905&view=diff ============================================================================== --- maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/DefaultConfiguration.java (original) +++ maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/DefaultConfiguration.java Fri Oct 2 06:51:50 2009 @@ -1,4 +1,4 @@ -package org.apache.maven.embedder; +package org.apache.maven.cli; /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -26,6 +26,7 @@ import org.codehaus.plexus.PlexusContainer; import org.codehaus.plexus.classworlds.ClassWorld; +import org.codehaus.plexus.logging.Logger; /** * Default implementation of Configuration intefrace. @@ -43,13 +44,11 @@ private File globalSettings; - private ContainerCustomizer customizer; - private Properties systemProperties; private List<URL> extensions = new ArrayList<URL>(); - private MavenEmbedderLogger logger; + private Logger logger; private ClassWorld classWorld; @@ -128,17 +127,6 @@ return globalSettings; } - public Configuration setConfigurationCustomizer( ContainerCustomizer customizer ) - { - this.customizer = customizer; - return this; - } - - public ContainerCustomizer getContainerCustomizer() - { - return customizer; - } - public Configuration setSystemProperties( Properties properties ) { systemProperties = properties; @@ -160,13 +148,13 @@ return extensions; } - public Configuration setMavenEmbedderLogger( MavenEmbedderLogger logger ) + public Configuration setMavenEmbedderLogger( Logger logger ) { this.logger = logger; return this; } - public MavenEmbedderLogger getMavenEmbedderLogger() + public Logger getMavenEmbedderLogger() { return logger; } Copied: maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/DefaultConfigurationValidationResult.java (from r820362, maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/DefaultConfigurationValidationResult.java) URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/DefaultConfigurationValidationResult.java?p2=maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/DefaultConfigurationValidationResult.java&p1=maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/DefaultConfigurationValidationResult.java&r1=820362&r2=820905&rev=820905&view=diff ============================================================================== --- maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/DefaultConfigurationValidationResult.java (original) +++ maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/DefaultConfigurationValidationResult.java Fri Oct 2 06:51:50 2009 @@ -1,4 +1,4 @@ -package org.apache.maven.embedder; +package org.apache.maven.cli; /* * Licensed to the Apache Software Foundation (ASF) under one Modified: maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/ExecutionEventLogger.java URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/ExecutionEventLogger.java?rev=820905&r1=820904&r2=820905&view=diff ============================================================================== --- maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/ExecutionEventLogger.java (original) +++ maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/ExecutionEventLogger.java Fri Oct 2 06:51:50 2009 @@ -24,7 +24,6 @@ import java.util.Date; import java.util.TimeZone; -import org.apache.maven.embedder.MavenEmbedderLogger; import org.apache.maven.execution.AbstractExecutionListener; import org.apache.maven.execution.BuildFailure; import org.apache.maven.execution.BuildSuccess; @@ -34,6 +33,7 @@ import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.MojoExecution; import org.apache.maven.project.MavenProject; +import org.codehaus.plexus.logging.Logger; /** * Logs execution events to a user-supplied logger. @@ -43,12 +43,11 @@ class ExecutionEventLogger extends AbstractExecutionListener { - - private final MavenEmbedderLogger logger; + private final Logger logger; private static final int LINE_LENGTH = 72; - public ExecutionEventLogger( MavenEmbedderLogger logger ) + public ExecutionEventLogger( Logger logger ) { if ( logger == null ) { Copied: maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/FileLogger.java (from r820362, maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderFileLogger.java) URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/FileLogger.java?p2=maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/FileLogger.java&p1=maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderFileLogger.java&r1=820362&r2=820905&rev=820905&view=diff ============================================================================== --- maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderFileLogger.java (original) +++ maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/FileLogger.java Fri Oct 2 06:51:50 2009 @@ -1,4 +1,4 @@ -package org.apache.maven.embedder; +package org.apache.maven.cli; /* * Licensed to the Apache Software Foundation (ASF) under one @@ -27,11 +27,11 @@ * @author Jason van Zyl * @todo document the need to call close() once successfully constructed, otherwise file handles can be leaked. Might be good to add a finalizer too, just in case. */ -public final class MavenEmbedderFileLogger - extends MavenEmbedderPrintStreamLogger +public final class FileLogger + extends PrintStreamLogger { - public MavenEmbedderFileLogger( File logFile ) + public FileLogger( File logFile ) { super( openStream( logFile ) ); } Modified: maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java?rev=820905&r1=820904&r2=820905&view=diff ============================================================================== --- maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java (original) +++ maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java Fri Oct 2 06:51:50 2009 @@ -17,27 +17,32 @@ import java.io.File; import java.io.IOException; +import java.io.Reader; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.ParseException; -import org.apache.maven.embedder.Configuration; -import org.apache.maven.embedder.ConfigurationValidationResult; -import org.apache.maven.embedder.DefaultConfiguration; -import org.apache.maven.embedder.MavenEmbedder; -import org.apache.maven.embedder.MavenEmbedderConsoleLogger; -import org.apache.maven.embedder.MavenEmbedderException; -import org.apache.maven.embedder.MavenEmbedderFileLogger; -import org.apache.maven.embedder.MavenEmbedderLogger; -import org.apache.maven.embedder.execution.MavenExecutionRequestPopulator; +import org.apache.maven.Maven; import org.apache.maven.exception.ExceptionSummary; import org.apache.maven.execution.DefaultMavenExecutionRequest; +import org.apache.maven.execution.DefaultMavenExecutionResult; +import org.apache.maven.execution.MavenExecutionRequestPopulationException; import org.apache.maven.execution.MavenExecutionRequest; +import org.apache.maven.execution.MavenExecutionRequestPopulator; import org.apache.maven.execution.MavenExecutionResult; import org.apache.maven.settings.MavenSettingsBuilder; import org.apache.maven.settings.Settings; +import org.apache.maven.settings.io.xpp3.SettingsXpp3Reader; +import org.codehaus.plexus.ContainerConfiguration; +import org.codehaus.plexus.DefaultContainerConfiguration; +import org.codehaus.plexus.DefaultPlexusContainer; +import org.codehaus.plexus.PlexusContainerException; import org.codehaus.plexus.classworlds.ClassWorld; import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException; import org.codehaus.plexus.component.repository.exception.ComponentLookupException; +import org.codehaus.plexus.logging.Logger; +import org.codehaus.plexus.logging.console.ConsoleLogger; +import org.codehaus.plexus.util.IOUtil; +import org.codehaus.plexus.util.ReaderFactory; import org.codehaus.plexus.util.xml.pull.XmlPullParserException; import org.sonatype.plexus.components.cipher.DefaultPlexusCipher; import org.sonatype.plexus.components.sec.dispatcher.DefaultSecDispatcher; @@ -53,6 +58,17 @@ { public static final String LOCAL_REPO_PROPERTY = "maven.repo.local"; + public static final String userHome = System.getProperty( "user.home" ); + + public static final File userMavenConfigurationHome = new File( userHome, ".m2" ); + + public static final File DEFAULT_USER_SETTINGS_FILE = new File( userMavenConfigurationHome, "settings.xml" ); + + public static final File DEFAULT_GLOBAL_SETTINGS_FILE = + new File( System.getProperty( "maven.home", System.getProperty( "user.dir", "" ) ), "conf/settings.xml" ); + + public static final File DEFAULT_USER_TOOLCHAINS_FILE = new File( userMavenConfigurationHome, "toolchains.xml" ); + public static void main( String[] args ) { ClassWorld classWorld = new ClassWorld( "plexus.core", Thread.currentThread().getContextClassLoader() ); @@ -122,23 +138,41 @@ System.setProperty( "maven.home", new File( mavenHome ).getAbsolutePath() ); } - Configuration configuration = buildEmbedderConfiguration( commandLine, classWorld ); - - MavenEmbedderLogger logger = configuration.getMavenEmbedderLogger(); - - MavenEmbedder mavenEmbedder; - + // + + Maven maven; + + DefaultPlexusContainer container; + + Logger logger; + try { - mavenEmbedder = new MavenEmbedder( configuration ); + ContainerConfiguration cc = new DefaultContainerConfiguration() + .setClassWorld( classWorld ) + .setName( "embedder" ); + + container = new DefaultPlexusContainer( cc ); + + logger = container.getLogger(); + + maven = container.lookup( Maven.class ); } - catch ( MavenEmbedderException e ) + catch ( PlexusContainerException e ) { - CLIReportingUtils.showError( logger, "Unable to start the embedder: ", e, showErrors ); + CLIReportingUtils.showError( new ConsoleLogger( Logger.LEVEL_ERROR, Maven.class.getName() ), "Unable to start the embedder: ", e, showErrors ); return 1; } + catch ( ComponentLookupException e ) + { + CLIReportingUtils.showError( new ConsoleLogger( Logger.LEVEL_ERROR, Maven.class.getName() ), "Unable to start the embedder: ", e, showErrors ); + return 1; + } + + Configuration configuration = buildEmbedderConfiguration( commandLine ); + MavenExecutionRequest request = new DefaultMavenExecutionRequest(); request.setGlobalSettingsFile( configuration.getGlobalSettingsFile() ); @@ -150,8 +184,7 @@ try { - MavenSettingsBuilder settingsBuilder = - mavenEmbedder.getPlexusContainer().lookup( MavenSettingsBuilder.class ); + MavenSettingsBuilder settingsBuilder = container.lookup( MavenSettingsBuilder.class ); try { @@ -161,7 +194,7 @@ { try { - mavenEmbedder.getPlexusContainer().release( settingsBuilder ); + container.release( settingsBuilder ); } catch ( ComponentLifecycleException e ) { @@ -190,8 +223,7 @@ try { - MavenExecutionRequestPopulator requestPopulator = - mavenEmbedder.getPlexusContainer().lookup( MavenExecutionRequestPopulator.class ); + MavenExecutionRequestPopulator requestPopulator = container.lookup( MavenExecutionRequestPopulator.class ); try { @@ -201,7 +233,7 @@ { try { - mavenEmbedder.getPlexusContainer().release( requestPopulator ); + container.release( requestPopulator ); } catch ( ComponentLifecycleException e ) { @@ -215,7 +247,7 @@ return 1; } - catch ( MavenEmbedderException e ) + catch ( MavenExecutionRequestPopulationException e ) { CLIReportingUtils.showError( logger, "Failed to process settings: ", e, showErrors ); @@ -245,20 +277,18 @@ logger.info( "Enabling strict checksum verification on all artifact downloads." ); } - ConfigurationValidationResult cvr = MavenEmbedder.validateConfiguration( configuration ); + ConfigurationValidationResult cvr = validateConfiguration( configuration ); if ( cvr.isUserSettingsFilePresent() && !cvr.isUserSettingsFileParses() ) { - CLIReportingUtils.showError( logger, "Error reading user settings: ", cvr.getUserSettingsException(), - showErrors ); + CLIReportingUtils.showError( logger, "Error reading user settings: ", cvr.getUserSettingsException(), showErrors ); return 1; } if ( cvr.isGlobalSettingsFilePresent() && !cvr.isGlobalSettingsFileParses() ) { - CLIReportingUtils.showError( logger, "Error reading global settings: ", cvr.getGlobalSettingsException(), - showErrors ); + CLIReportingUtils.showError( logger, "Error reading global settings: ", cvr.getGlobalSettingsException(), showErrors ); return 1; } @@ -291,14 +321,14 @@ String passwd = commandLine.getOptionValue( CLIManager.ENCRYPT_PASSWORD ); DefaultSecDispatcher dispatcher; - dispatcher = (DefaultSecDispatcher) mavenEmbedder.getPlexusContainer().lookup( SecDispatcher.class ); + dispatcher = (DefaultSecDispatcher) container.lookup( SecDispatcher.class ); String configurationFile = dispatcher.getConfigurationFile(); if ( configurationFile.startsWith( "~" ) ) { configurationFile = System.getProperty( "user.home" ) + configurationFile.substring( 1 ); } String file = System.getProperty( DefaultSecDispatcher.SYSTEM_PROPERTY_SEC_LOCATION, configurationFile ); - mavenEmbedder.getPlexusContainer().release( dispatcher ); + container.release( dispatcher ); String master = null; @@ -316,8 +346,7 @@ } DefaultPlexusCipher cipher = new DefaultPlexusCipher(); - String masterPasswd = - cipher.decryptDecorated( master, DefaultSecDispatcher.SYSTEM_PROPERTY_SEC_LOCATION ); + String masterPasswd = cipher.decryptDecorated( master, DefaultSecDispatcher.SYSTEM_PROPERTY_SEC_LOCATION ); System.out.println( cipher.encryptAndDecorate( passwd, masterPasswd ) ); return 0; @@ -326,22 +355,29 @@ catch ( Exception e ) { System.err.println( "FATAL ERROR: " + "Error encrypting password: " + e.getMessage() ); - e.printStackTrace(); return 1; } - - MavenExecutionResult result = mavenEmbedder.execute( request ); + + MavenExecutionResult result = new DefaultMavenExecutionResult(); try { - mavenEmbedder.stop(); + MavenExecutionRequestPopulator populator = container.lookup( MavenExecutionRequestPopulator.class ); + + request = populator.populateDefaults( request ); } - catch ( MavenEmbedderException e ) + catch ( MavenExecutionRequestPopulationException e ) + { + result.addException( e ); + } + catch ( ComponentLookupException e ) { result.addException( e ); } + result = maven.execute( request ); + // The exception handling should be handled in Maven itself. if ( result.hasExceptions() ) @@ -381,7 +417,7 @@ } } - private Configuration buildEmbedderConfiguration( CommandLine commandLine, ClassWorld classWorld ) + private Configuration buildEmbedderConfiguration( CommandLine commandLine ) { File userSettingsFile; @@ -391,7 +427,7 @@ } else { - userSettingsFile = MavenEmbedder.DEFAULT_USER_SETTINGS_FILE; + userSettingsFile = DEFAULT_USER_SETTINGS_FILE; } File globalSettingsFile; @@ -402,23 +438,92 @@ } else { - globalSettingsFile = MavenEmbedder.DEFAULT_GLOBAL_SETTINGS_FILE; + globalSettingsFile = DEFAULT_GLOBAL_SETTINGS_FILE; } - Configuration configuration = new DefaultConfiguration().setUserSettingsFile( userSettingsFile ).setGlobalSettingsFile( globalSettingsFile ).setClassWorld( classWorld ); + Configuration configuration = new DefaultConfiguration().setUserSettingsFile( userSettingsFile ).setGlobalSettingsFile( globalSettingsFile ); if ( commandLine.hasOption( CLIManager.LOG_FILE ) ) { File logFile = new File( commandLine.getOptionValue( CLIManager.LOG_FILE ) ).getAbsoluteFile(); - configuration.setMavenEmbedderLogger( new MavenEmbedderFileLogger( logFile ) ); + configuration.setMavenEmbedderLogger( new FileLogger( logFile ) ); } else { - configuration.setMavenEmbedderLogger( new MavenEmbedderConsoleLogger() ); + configuration.setMavenEmbedderLogger( new ConsoleLogger( Logger.LEVEL_ERROR, Maven.class.getName()) ); } return configuration; } + // ---------------------------------------------------------------------------- + // Options for settings + // + // 1. No settings + // 2. User settings only + // 3. Global settings only + // 4. Both Users settings and Global settings. In the case that both are present + // the User settings take priority. + // + // What we would like to provide is a way that the client code does not have + // to deal with settings configuration at all. + // ---------------------------------------------------------------------------- + + public static ConfigurationValidationResult validateConfiguration( Configuration configuration ) + { + DefaultConfigurationValidationResult result = new DefaultConfigurationValidationResult(); + + Reader fileReader = null; + + // User settings + + if ( configuration.getUserSettingsFile() != null ) + { + try + { + fileReader = ReaderFactory.newXmlReader( configuration.getUserSettingsFile() ); + + result.setUserSettings( new SettingsXpp3Reader().read( fileReader ) ); + } + catch ( IOException e ) + { + result.setUserSettingsException( e ); + } + catch ( XmlPullParserException e ) + { + result.setUserSettingsException( e ); + } + finally + { + IOUtil.close( fileReader ); + } + } + + // Global settings + + if ( configuration.getGlobalSettingsFile() != null ) + { + try + { + fileReader = ReaderFactory.newXmlReader( configuration.getGlobalSettingsFile() ); + + result.setGlobalSettings( new SettingsXpp3Reader().read( fileReader ) ); + } + catch ( IOException e ) + { + result.setGlobalSettingsException( e ); + } + catch ( XmlPullParserException e ) + { + result.setGlobalSettingsException( e ); + } + finally + { + IOUtil.close( fileReader ); + } + } + + return result; + } } Copied: maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/PrintStreamLogger.java (from r820362, maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderPrintStreamLogger.java) URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/PrintStreamLogger.java?p2=maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/PrintStreamLogger.java&p1=maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderPrintStreamLogger.java&r1=820362&r2=820905&rev=820905&view=diff ============================================================================== --- maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedderPrintStreamLogger.java (original) +++ maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/PrintStreamLogger.java Fri Oct 2 06:51:50 2009 @@ -1,4 +1,4 @@ -package org.apache.maven.embedder; +package org.apache.maven.cli; /* * Licensed to the Apache Software Foundation (ASF) under one @@ -21,15 +21,17 @@ import java.io.PrintStream; +import org.apache.maven.Maven; +import org.codehaus.plexus.logging.Logger; + /** * Logs to a user-supplied {...@link PrintStream}. * * @author Benjamin Bentmann */ -public class MavenEmbedderPrintStreamLogger - extends AbstractMavenEmbedderLogger +public class PrintStreamLogger + implements Logger { - private final PrintStream out; private static final String FATAL_ERROR = "[FATAL] "; @@ -42,7 +44,7 @@ private static final String DEBUG = "[DEBUG] "; - public MavenEmbedderPrintStreamLogger( PrintStream out ) + public PrintStreamLogger( PrintStream out ) { if ( out == null ) { @@ -52,6 +54,11 @@ this.out = out; } + public void debug( String message ) + { + debug( message, null ); + } + public void debug( String message, Throwable throwable ) { if ( isDebugEnabled() ) @@ -66,6 +73,11 @@ } } + public void info( String message ) + { + info( message, null ); + } + public void info( String message, Throwable throwable ) { if ( isInfoEnabled() ) @@ -80,6 +92,11 @@ } } + public void warn( String message ) + { + warn( message, null ); + } + public void warn( String message, Throwable throwable ) { if ( isWarnEnabled() ) @@ -94,6 +111,11 @@ } } + public void error( String message ) + { + error( message, null ); + } + public void error( String message, Throwable throwable ) { if ( isErrorEnabled() ) @@ -108,6 +130,11 @@ } } + public void fatalError( String message ) + { + fatalError( message, null ); + } + public void fatalError( String message, Throwable throwable ) { if ( isFatalErrorEnabled() ) @@ -134,4 +161,47 @@ } } + public Logger getChildLogger( String arg0 ) + { + return this; + } + + public String getName() + { + return Maven.class.getName(); + } + + public int getThreshold() + { + return 0; + } + + public boolean isDebugEnabled() + { + return false; + } + + public boolean isErrorEnabled() + { + return false; + } + + public boolean isFatalErrorEnabled() + { + return false; + } + + public boolean isInfoEnabled() + { + return false; + } + + public boolean isWarnEnabled() + { + return false; + } + + public void setThreshold( int arg0 ) + { + } } Modified: maven/maven-3/trunk/pom.xml URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/pom.xml?rev=820905&r1=820904&r2=820905&view=diff ============================================================================== --- maven/maven-3/trunk/pom.xml (original) +++ maven/maven-3/trunk/pom.xml Fri Oct 2 06:51:50 2009 @@ -398,7 +398,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> - <version>2.4</version> + <version>2.4.1</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId>