You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by si...@apache.org on 2009/04/28 06:12:33 UTC
svn commit: r769235 - in /maven/components/branches/MNG-2766:
maven-core/src/main/java/org/apache/maven/execution/
maven-embedder/src/main/java/org/apache/maven/cli/
maven-embedder/src/main/java/org/apache/maven/embedder/
maven-model-builder/src/main/j...
Author: sisbell
Date: Tue Apr 28 04:12:32 2009
New Revision: 769235
URL: http://svn.apache.org/viewvc?rev=769235&view=rev
Log:
Default plugins.
Modified:
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
maven/components/branches/MNG-2766/maven-model-builder/src/main/java/org/apache/maven/model/ProcessorContext.java
maven/components/branches/MNG-2766/maven-model-builder/src/main/java/org/apache/maven/model/interpolator/DefaultInterpolator.java
maven/components/branches/MNG-2766/maven-model-builder/src/main/java/org/apache/maven/model/interpolator/Interpolator.java
maven/components/branches/MNG-2766/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
maven/components/branches/MNG-2766/maven-project/src/main/java/org/apache/maven/project/DefaultProjectBuilderConfiguration.java
maven/components/branches/MNG-2766/maven-project/src/main/java/org/apache/maven/project/ProjectBuilderConfiguration.java
Modified: maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java?rev=769235&r1=769234&r2=769235&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java Tue Apr 28 04:12:32 2009
@@ -18,10 +18,13 @@
import java.io.File;
import java.util.ArrayList;
import java.util.Date;
+import java.util.HashSet;
import java.util.List;
import java.util.Properties;
+import java.util.Set;
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.model.Plugin;
import org.apache.maven.profiles.ProfileActivationContext;
import org.apache.maven.profiles.ProfileManager;
import org.apache.maven.project.DefaultProjectBuilderConfiguration;
@@ -68,6 +71,8 @@
private File globalSettingsFile;
private File userToolchainsFile;
+
+ private Set<Plugin> plugins;
// ----------------------------------------------------------------------------
// Request
@@ -115,6 +120,8 @@
* @issue MNG-2681
*/
private boolean noSnapshotUpdates;
+
+ public DefaultMavenExecutionRequest() { }
public static MavenExecutionRequest copy( MavenExecutionRequest original )
{
@@ -149,6 +156,7 @@
copy.setProfileManager( original.getProfileManager() );
copy.setRemoteRepositories( original.getRemoteRepositories() );
copy.setNoSnapshotUpdates( original.isNoSnapshotUpdates() );
+ copy.setPlugins(original.getPlugins());//TODO - deeper copy
return original;
}
@@ -697,8 +705,23 @@
projectBuildingConfiguration.setUserProperties( getUserProperties() );
projectBuildingConfiguration.setBuildStartTime( getStartTime() );
projectBuildingConfiguration.setRemoteRepositories( getRemoteRepositories() );
+ projectBuildingConfiguration.setPlugins(getPlugins());
}
return projectBuildingConfiguration;
}
+
+ public void setPlugins(Set<Plugin> plugins)
+ {
+ this.plugins = plugins;
+ }
+
+ public Set<Plugin> getPlugins()
+ {
+ if(plugins == null)
+ {
+ plugins = new HashSet<Plugin>();
+ }
+ return plugins;
+ }
}
Modified: maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java?rev=769235&r1=769234&r2=769235&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java (original)
+++ maven/components/branches/MNG-2766/maven-core/src/main/java/org/apache/maven/execution/MavenExecutionRequest.java Tue Apr 28 04:12:32 2009
@@ -23,9 +23,11 @@
import java.util.Date;
import java.util.List;
import java.util.Properties;
+import java.util.Set;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
+import org.apache.maven.model.Plugin;
import org.apache.maven.profiles.ProfileActivationContext;
import org.apache.maven.profiles.ProfileManager;
import org.apache.maven.project.ProjectBuilderConfiguration;
@@ -211,4 +213,8 @@
MavenExecutionRequest setUserToolchainsFile( File userToolchainsFile );
ProjectBuilderConfiguration getProjectBuildingConfiguration();
+
+ void setPlugins(Set<Plugin> plugins);
+
+ Set<Plugin> getPlugins();
}
Modified: maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java?rev=769235&r1=769234&r2=769235&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java (original)
+++ maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java Tue Apr 28 04:12:32 2009
@@ -34,6 +34,7 @@
import org.apache.maven.embedder.MavenEmbedderLogger;
import org.apache.maven.execution.MavenExecutionRequest;
import org.apache.maven.execution.MavenExecutionResult;
+import org.apache.maven.lifecycle.LifecycleExecutor;
import org.apache.maven.plugin.MojoFailureException;
import org.codehaus.plexus.classworlds.ClassWorld;
@@ -242,7 +243,7 @@
{
configuration.setLocalRepository( new File( localRepoProperty ) );
}
-
+
return configuration;
}
Modified: maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java?rev=769235&r1=769234&r2=769235&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java (original)
+++ maven/components/branches/MNG-2766/maven-embedder/src/main/java/org/apache/maven/embedder/MavenEmbedder.java Tue Apr 28 04:12:32 2009
@@ -33,6 +33,7 @@
import org.apache.maven.execution.MavenExecutionRequest;
import org.apache.maven.execution.MavenExecutionResult;
import org.apache.maven.execution.MavenSession;
+import org.apache.maven.lifecycle.LifecycleExecutor;
import org.apache.maven.model.Model;
import org.apache.maven.model.Plugin;
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
@@ -125,6 +126,8 @@
private Configuration configuration;
private MavenExecutionRequest request;
+
+ private LifecycleExecutor lifecycleExecutor;
// ----------------------------------------------------------------------------
// Constructors
@@ -452,6 +455,8 @@
container.lookup( RepositorySystem.class );
+ lifecycleExecutor = container.lookup( LifecycleExecutor.class );
+
// This is temporary as we can probably cache a single request and use it for default values and
// simply cascade values in from requests used for individual executions.
request = new DefaultMavenExecutionRequest();
@@ -572,6 +577,8 @@
int oldThreshold = loggerManager.getThreshold();
+ request.setPlugins(lifecycleExecutor.lifecyclePlugins("default", "jar"));
+
try
{
loggerManager.setThresholds( request.getLoggingLevel() );
Modified: maven/components/branches/MNG-2766/maven-model-builder/src/main/java/org/apache/maven/model/ProcessorContext.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-model-builder/src/main/java/org/apache/maven/model/ProcessorContext.java?rev=769235&r1=769234&r2=769235&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-model-builder/src/main/java/org/apache/maven/model/ProcessorContext.java (original)
+++ maven/components/branches/MNG-2766/maven-model-builder/src/main/java/org/apache/maven/model/ProcessorContext.java Tue Apr 28 04:12:32 2009
@@ -25,6 +25,8 @@
import java.util.Collection;
import java.util.Collections;
import java.util.List;
+import java.util.Set;
+
import org.apache.maven.model.BuildBase;
import org.apache.maven.model.Dependency;
import org.apache.maven.model.DependencyManagement;
@@ -256,10 +258,69 @@
}
+ private static void addPlugin(Build build, String id)
+ {
+ Plugin p1 = new Plugin();
+ p1.setArtifactId(id);
+ build.addPlugin(p1);
+ }
+
+ public static void addPluginsToModel(Model target, Set<Plugin> plugins)
+ {
+ Build build = target.getBuild();
+ addPlugin(build, "maven-compiler-plugin");
+ addPlugin(build, "maven-resources-plugin");
+ addPlugin(build, "maven-deploy-plugin");
+ addPlugin(build, "maven-jar-plugin");
+ addPlugin(build, "maven-compiler-plugin");
+ addPlugin(build, "maven-surefire-plugin");
+
+ /*
+ rg.apache.maven.plugins:maven-jar-plugin
+ [java] PLUGIN: org.apache.maven.plugins:maven-resources-plugin
+ [java] PLUGIN: org.apache.maven.plugins:maven-deploy-plugin
+ [java] PLUGIN: org.apache.maven.plugins:maven-install-plugin
+ [java] PLUGIN: org.apache.maven.plugins:maven-jar-plugin
+ [java] PLUGIN: org.apache.maven.plugins:maven-resources-plugin
+ [java] PLUGIN: org.apache.maven.plugins:maven-surefire-plugin
+ [java] PLUGIN: org.apache.maven.plugins:maven-deploy-plugin
+/*
+ List<Plugin> mPlugins = target.getBuild().getPlugins();
+
+ List<Plugin> lifecyclePlugins = new ArrayList<Plugin>();
+
+ for( Plugin p : plugins )
+ {
+ if( !containsPlugin( p, mPlugins) )
+ {
+ lifecyclePlugins.add(p);
+ System.out.println("PLUGIN: " + p.getKey());
+ }
+ }
+
+ target.getBuild().getPlugins().addAll(lifecyclePlugins);
+ */
+ }
+
+ private static boolean containsPlugin(Plugin plugin, List<Plugin> plugins)
+ {
+ for(Plugin p : plugins)
+ {
+ if( p.getGroupId().equals(plugin.getGroupId()) && p.getArtifactId().equals(plugin.getArtifactId()))
+ {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
public static Model processManagementNodes(Model target)
throws IOException
{
-
+ // Plugin plugin = new Plugin();
+ // plugin.setArtifactId("maven-compiler-plugin");
+ // target.getBuild().addPlugin(plugin);
// Dependency Management
DependencyManagementProcessor depProc = new DependencyManagementProcessor();
if ( target.getDependencyManagement() != null )
Modified: maven/components/branches/MNG-2766/maven-model-builder/src/main/java/org/apache/maven/model/interpolator/DefaultInterpolator.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-model-builder/src/main/java/org/apache/maven/model/interpolator/DefaultInterpolator.java?rev=769235&r1=769234&r2=769235&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-model-builder/src/main/java/org/apache/maven/model/interpolator/DefaultInterpolator.java (original)
+++ maven/components/branches/MNG-2766/maven-model-builder/src/main/java/org/apache/maven/model/interpolator/DefaultInterpolator.java Tue Apr 28 04:12:32 2009
@@ -14,7 +14,9 @@
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
import java.util.Set;
+import java.util.Map.Entry;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamConstants;
@@ -55,7 +57,19 @@
interpolateModelProperties( modelProperties, ips );
return unmarshalModelPropertiesToXml( modelProperties, ProjectUri.baseUri );
}
-
+
+ public PomClassicDomainModel interpolateDomainModel( PomClassicDomainModel dm, Properties properties )
+ throws IOException
+ {
+ List<InterpolatorProperty> props = new ArrayList<InterpolatorProperty>();
+ for(Entry<Object, Object> e : properties
+ .entrySet())
+ {
+ // props.add(new InterpolatorProperty(e.getKey(), e.getValue(), PomInterpolatorTag.EXECUTION_PROPERTIES))
+ }
+ return interpolateDomainModel(dm, props);
+ }
+
public PomClassicDomainModel interpolateDomainModel( PomClassicDomainModel dm, List<InterpolatorProperty> interpolatorProperties )
throws IOException {
Modified: maven/components/branches/MNG-2766/maven-model-builder/src/main/java/org/apache/maven/model/interpolator/Interpolator.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-model-builder/src/main/java/org/apache/maven/model/interpolator/Interpolator.java?rev=769235&r1=769234&r2=769235&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-model-builder/src/main/java/org/apache/maven/model/interpolator/Interpolator.java (original)
+++ maven/components/branches/MNG-2766/maven-model-builder/src/main/java/org/apache/maven/model/interpolator/Interpolator.java Tue Apr 28 04:12:32 2009
@@ -2,6 +2,7 @@
import java.io.IOException;
import java.util.List;
+import java.util.Properties;
import org.apache.maven.model.PomClassicDomainModel;
@@ -13,5 +14,7 @@
PomClassicDomainModel interpolateDomainModel( PomClassicDomainModel dm, List<InterpolatorProperty> interpolatorProperties )
throws IOException ;
-
+
+ PomClassicDomainModel interpolateDomainModel( PomClassicDomainModel dm, Properties interpolatorProperties )
+ throws IOException ;
}
Modified: maven/components/branches/MNG-2766/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=769235&r1=769234&r2=769235&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/branches/MNG-2766/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Tue Apr 28 04:12:32 2009
@@ -168,7 +168,10 @@
//Interpolation & Management
MavenProject project;
try {
- Model model = ProcessorContext.processManagementNodes(interpolateDomainModel( domainModel, configuration, pomFile ));
+ Model model = interpolateDomainModel( domainModel, configuration, pomFile );
+ ProcessorContext.addPluginsToModel(model, configuration.getPlugins());
+
+ ProcessorContext.processManagementNodes(model);
project = this.fromDomainModelToMavenProject(model, domainModel.getParentFile(), configuration, pomFile);
} catch (IOException e) {
throw new ProjectBuildingException("", "");
@@ -281,6 +284,7 @@
throw new ProjectBuildingException("", "");
}
+
try {
Model model = ProcessorContext.processManagementNodes(interpolateDomainModel( domainModel, configuration, artifact.getFile() ));
project = this.fromDomainModelToMavenProject(model, domainModel.getParentFile(), configuration, artifact.getFile());
Modified: maven/components/branches/MNG-2766/maven-project/src/main/java/org/apache/maven/project/DefaultProjectBuilderConfiguration.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-project/src/main/java/org/apache/maven/project/DefaultProjectBuilderConfiguration.java?rev=769235&r1=769234&r2=769235&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-project/src/main/java/org/apache/maven/project/DefaultProjectBuilderConfiguration.java (original)
+++ maven/components/branches/MNG-2766/maven-project/src/main/java/org/apache/maven/project/DefaultProjectBuilderConfiguration.java Tue Apr 28 04:12:32 2009
@@ -20,11 +20,14 @@
*/
import java.util.Date;
+import java.util.HashSet;
import java.util.List;
import java.util.Properties;
+import java.util.Set;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.model.ModelEventListener;
+import org.apache.maven.model.Plugin;
import org.apache.maven.profiles.ProfileManager;
public class DefaultProjectBuilderConfiguration
@@ -47,6 +50,22 @@
private MavenProject topProject;
+ private Set<Plugin> plugins;
+
+ public void setPlugins(Set<Plugin> plugins)
+ {
+ this.plugins = plugins;
+ }
+
+ public Set<Plugin> getPlugins()
+ {
+ if(plugins == null)
+ {
+ plugins = new HashSet<Plugin>();
+ }
+ return plugins;
+ }
+
public MavenProject getTopLevelProjectFromReactor()
{
return topProject;
Modified: maven/components/branches/MNG-2766/maven-project/src/main/java/org/apache/maven/project/ProjectBuilderConfiguration.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2766/maven-project/src/main/java/org/apache/maven/project/ProjectBuilderConfiguration.java?rev=769235&r1=769234&r2=769235&view=diff
==============================================================================
--- maven/components/branches/MNG-2766/maven-project/src/main/java/org/apache/maven/project/ProjectBuilderConfiguration.java (original)
+++ maven/components/branches/MNG-2766/maven-project/src/main/java/org/apache/maven/project/ProjectBuilderConfiguration.java Tue Apr 28 04:12:32 2009
@@ -1,11 +1,13 @@
package org.apache.maven.project;
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.model.Plugin;
import org.apache.maven.profiles.ProfileManager;
import java.util.Date;
import java.util.List;
import java.util.Properties;
+import java.util.Set;
public interface ProjectBuilderConfiguration
{
@@ -37,4 +39,8 @@
MavenProject getTopLevelProjectFromReactor();
void setTopLevelProjectForReactor(MavenProject mavenProject);
+
+ void setPlugins(Set<Plugin> plugins);
+
+ Set<Plugin> getPlugins();
}