You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2009/05/29 05:34:23 UTC
svn commit: r779825 - in /maven/components/trunk/maven-core/src:
main/java/org/apache/maven/ main/java/org/apache/maven/lifecycle/
main/java/org/apache/maven/plugin/
main/java/org/apache/maven/project/artifact/ test/java/org/apache/maven/
test/java/org...
Author: jvanzyl
Date: Fri May 29 03:34:22 2009
New Revision: 779825
URL: http://svn.apache.org/viewvc?rev=779825&view=rev
Log:
o fixes for projects which specify plugins that define system scoped plugin override dependencies
Added:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/ArtifactWithDependencies.java (with props)
maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/PluginArtifact.java (with props)
maven/components/trunk/maven-core/src/test/projects/plugin-manager/
maven/components/trunk/maven-core/src/test/projects/plugin-manager/project-contributing-system-scope-plugin-dep/
maven/components/trunk/maven-core/src/test/projects/plugin-manager/project-contributing-system-scope-plugin-dep/pom.xml (with props)
maven/components/trunk/maven-core/src/test/projects/plugin-manager/project-contributing-system-scope-plugin-dep/tools.jar
maven/components/trunk/maven-core/src/test/projects/plugin-manager/project-with-inheritance/
maven/components/trunk/maven-core/src/test/projects/plugin-manager/project-with-inheritance/pom.xml (with props)
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutor.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifact.java
maven/components/trunk/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
maven/components/trunk/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java
maven/components/trunk/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java?rev=779825&r1=779824&r2=779825&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java Fri May 29 03:34:22 2009
@@ -51,6 +51,7 @@
}
ArtifactFilter scopeFilter = new ScopeArtifactFilter( scope );
+ // ArtifactFilter scopeFilter = new AndArtifactFilter( Arrays.asList( new ArtifactFilter[]{ new ScopeArtifactFilter( scope ), new ScopeArtifactFilter( Artifact.SCOPE_SYSTEM ) } ) );
ArtifactFilter filter;
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java?rev=779825&r1=779824&r2=779825&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 Fri May 29 03:34:22 2009
@@ -215,7 +215,7 @@
}
}
}
-
+
// 1. Find the lifecycle given the phase (default lifecycle when given install)
// 2. Find the lifecycle mapping that corresponds to the project packaging (jar lifecycle mapping given the jar packaging)
// 3. Find the mojos associated with the lifecycle given the project packaging (jar lifecycle mapping for the default lifecycle)
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutor.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutor.java?rev=779825&r1=779824&r2=779825&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutor.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutor.java Fri May 29 03:34:22 2009
@@ -32,7 +32,6 @@
import org.apache.maven.plugin.PluginDescriptorParsingException;
import org.apache.maven.plugin.PluginNotFoundException;
import org.apache.maven.plugin.PluginResolutionException;
-import org.apache.maven.project.MavenProject;
/**
* @author Jason van Zyl
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=779825&r1=779824&r2=779825&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java Fri May 29 03:34:22 2009
@@ -15,6 +15,7 @@
* the License.
*/
+import java.io.File;
import java.io.IOException;
import java.io.Reader;
import java.net.MalformedURLException;
@@ -233,7 +234,9 @@
return pluginDescriptor;
}
- private Set<Artifact> getPluginArtifacts( Artifact pluginArtifact, Plugin pluginAsSpecifiedinPom, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
+ // TODO: Turn this into a component so it can be tested.
+ //
+ Set<Artifact> getPluginArtifacts( Artifact pluginArtifact, Plugin pluginAsSpecifiedInPom, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
throws ArtifactNotFoundException, ArtifactResolutionException
{
AndArtifactFilter filter = new AndArtifactFilter();
@@ -253,9 +256,17 @@
// We would almost always want the everything to be resolved from the root but we have this special case
// of overrides from the project itself which confused the interface.
- for( Dependency dependencySpecifiedInProject : pluginAsSpecifiedinPom.getDependencies() )
+ for( Dependency dependencySpecifiedInProject : pluginAsSpecifiedInPom.getDependencies() )
{
- dependenciesToResolveForPlugin.add( repositorySystem.createDependencyArtifact( dependencySpecifiedInProject ) );
+ // Right now if you add override dependencies they will not be operated on by the metadata source. The metadata source first grabs the plugins
+ // defined dependencies and then the result is merged with the overrides. The overrides don't pass through the metadata source which is where the
+ // Artifact.setFile( file ) method is called. We should eventually take care of this in the resolver.
+ Artifact a = repositorySystem.createDependencyArtifact( dependencySpecifiedInProject );
+ if ( a.getScope().equals( Artifact.SCOPE_SYSTEM ) )
+ {
+ a.setFile( new File( dependencySpecifiedInProject.getSystemPath() ) );
+ }
+ dependenciesToResolveForPlugin.add( a );
}
ArtifactResolutionRequest request = new ArtifactResolutionRequest()
@@ -266,6 +277,7 @@
.setRemoteRepostories( remoteRepositories )
.setFilter( filter )
.setResolveTransitively( true );
+ //.setResolveRoot( false );
ArtifactResolutionResult result = repositorySystem.resolve( request );
resolutionErrorHandler.throwErrors( request, result );
@@ -653,13 +665,13 @@
return pluginDescriptors.get( constructPluginKey( plugin ) );
}
- private String constructPluginKey( Plugin plugin )
+ public String constructPluginKey( Plugin plugin )
{
String version = ArtifactUtils.toSnapshotVersion( plugin.getVersion() );
return plugin.getGroupId() + ":" + plugin.getArtifactId() + ":" + version;
}
- private String constructPluginKey( PluginDescriptor pluginDescriptor )
+ public String constructPluginKey( PluginDescriptor pluginDescriptor )
{
String version = ArtifactUtils.toSnapshotVersion( pluginDescriptor.getVersion() );
return pluginDescriptor.getGroupId() + ":" + pluginDescriptor.getArtifactId() + ":" + version;
Added: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/ArtifactWithDependencies.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/ArtifactWithDependencies.java?rev=779825&view=auto
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/ArtifactWithDependencies.java (added)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/ArtifactWithDependencies.java Fri May 29 03:34:22 2009
@@ -0,0 +1,10 @@
+package org.apache.maven.project.artifact;
+
+import java.util.List;
+
+import org.apache.maven.model.Dependency;
+
+public interface ArtifactWithDependencies
+{
+ List<Dependency> getDependencies();
+}
Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/ArtifactWithDependencies.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/ArtifactWithDependencies.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java?rev=779825&r1=779824&r2=779825&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java Fri May 29 03:34:22 2009
@@ -74,17 +74,17 @@
public ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
throws ArtifactMetadataRetrievalException
{
- MavenProject project;
+ List<Dependency> dependencies;
Artifact pomArtifact;
//TODO: Not even sure this is really required as the project will be cached in the builder, we'll see this
// is currently the biggest hotspot
- if ( artifact instanceof ProjectArtifact )
+ if ( artifact instanceof ArtifactWithDependencies )
{
pomArtifact = artifact;
- project = ((ProjectArtifact)artifact).getProject();
+ dependencies = ((ArtifactWithDependencies)artifact).getDependencies();
}
else
{
@@ -106,7 +106,7 @@
try
{
- project = getProjectBuilder().buildFromRepository( pomArtifact, configuration );
+ dependencies = getProjectBuilder().buildFromRepository( pomArtifact, configuration ).getDependencies();
}
catch ( ProjectBuildingException e )
{
@@ -125,7 +125,7 @@
{
artifacts = new LinkedHashSet<Artifact>();
- for ( Dependency d : project.getDependencies() )
+ for ( Dependency d : dependencies )
{
String effectiveScope = getEffectiveScope( d.getScope(), artifact.getScope() );
Added: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/PluginArtifact.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/PluginArtifact.java?rev=779825&view=auto
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/PluginArtifact.java (added)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/PluginArtifact.java Fri May 29 03:34:22 2009
@@ -0,0 +1,69 @@
+package org.apache.maven.project.artifact;
+
+import java.util.List;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.DefaultArtifact;
+import org.apache.maven.artifact.handler.ArtifactHandler;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.model.Plugin;
+import org.apache.maven.project.MavenProject;
+
+public class PluginArtifact
+ extends DefaultArtifact
+ implements ArtifactWithDependencies
+{
+ private Plugin plugin;
+
+ public PluginArtifact( Plugin plugin, Artifact pluginArtifact )
+ {
+ super( plugin.getGroupId(), plugin.getArtifactId(), plugin.getVersion(), null, "maven-plugin", null, new PluginArtifactHandler() );
+ this.plugin = plugin;
+ setFile( pluginArtifact.getFile() );
+ setResolved( true );
+ }
+
+ public List<Dependency> getDependencies()
+ {
+ return plugin.getDependencies();
+ }
+
+ static class PluginArtifactHandler
+ implements ArtifactHandler
+ {
+ public String getClassifier()
+ {
+ return null;
+ }
+
+ public String getDirectory()
+ {
+ return null;
+ }
+
+ public String getExtension()
+ {
+ return "jar";
+ }
+
+ public String getLanguage()
+ {
+ return "none";
+ }
+
+ public String getPackaging()
+ {
+ return "maven-plugin";
+ }
+
+ public boolean isAddedToClasspath()
+ {
+ return true;
+ }
+
+ public boolean isIncludesDependencies()
+ {
+ return false;
+ }
+ }
+}
Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/PluginArtifact.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/PluginArtifact.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifact.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifact.java?rev=779825&r1=779824&r2=779825&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifact.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifact.java Fri May 29 03:34:22 2009
@@ -1,11 +1,15 @@
package org.apache.maven.project.artifact;
+import java.util.List;
+
import org.apache.maven.artifact.DefaultArtifact;
import org.apache.maven.artifact.handler.ArtifactHandler;
+import org.apache.maven.model.Dependency;
import org.apache.maven.project.MavenProject;
public class ProjectArtifact
extends DefaultArtifact
+ implements ArtifactWithDependencies
{
private MavenProject project;
@@ -22,6 +26,11 @@
return project;
}
+ public List<Dependency> getDependencies()
+ {
+ return project.getDependencies();
+ }
+
static class PomArtifactHandler
implements ArtifactHandler
{
Modified: maven/components/trunk/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java?rev=779825&r1=779824&r2=779825&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java (original)
+++ maven/components/trunk/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java Fri May 29 03:34:22 2009
@@ -5,13 +5,18 @@
import java.util.List;
import java.util.Properties;
+import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.InvalidRepositoryException;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.execution.DefaultMavenExecutionRequest;
import org.apache.maven.execution.DefaultMavenExecutionResult;
import org.apache.maven.execution.MavenExecutionRequest;
import org.apache.maven.execution.MavenSession;
+import org.apache.maven.model.Build;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.model.Exclusion;
import org.apache.maven.model.Model;
+import org.apache.maven.model.Plugin;
import org.apache.maven.plugin.PluginManager;
import org.apache.maven.project.DefaultProjectBuilderConfiguration;
import org.apache.maven.project.MavenProject;
@@ -99,7 +104,9 @@
{
MavenExecutionRequest request = createMavenExecutionRequest( pom );
- ProjectBuilderConfiguration configuration = new DefaultProjectBuilderConfiguration().setLocalRepository( request.getLocalRepository() ).setRemoteRepositories( request.getRemoteRepositories() );
+ ProjectBuilderConfiguration configuration = new DefaultProjectBuilderConfiguration()
+ .setLocalRepository( request.getLocalRepository() )
+ .setRemoteRepositories( request.getRemoteRepositories() );
MavenProject project = null;
@@ -137,4 +144,144 @@
{
return repositorySystem.createDefaultLocalRepository();
}
+
+ protected class ProjectBuilder
+ {
+ private MavenProject project;
+
+ public ProjectBuilder( String groupId, String artifactId, String version )
+ {
+ Model model = new Model();
+ model.setModelVersion( "4.0.0" );
+ model.setGroupId( groupId );
+ model.setArtifactId( artifactId );
+ model.setVersion( version );
+ model.setBuild( new Build() );
+ project = new MavenProject( model );
+ }
+
+ public ProjectBuilder setGroupId( String groupId )
+ {
+ project.setGroupId( groupId );
+ return this;
+ }
+
+ public ProjectBuilder setArtifactId( String artifactId )
+ {
+ project.setArtifactId( artifactId );
+ return this;
+ }
+
+ public ProjectBuilder setVersion( String version )
+ {
+ project.setVersion( version );
+ return this;
+ }
+
+ // Dependencies
+ //
+ public ProjectBuilder addDependency( String groupId, String artifactId, String version, String scope )
+ {
+ return addDependency( groupId, artifactId, version, scope, (Exclusion)null );
+ }
+
+ public ProjectBuilder addDependency( String groupId, String artifactId, String version, String scope, Exclusion exclusion )
+ {
+ return addDependency( groupId, artifactId, version, scope, null, exclusion );
+ }
+
+ public ProjectBuilder addDependency( String groupId, String artifactId, String version, String scope, String systemPath )
+ {
+ return addDependency( groupId, artifactId, version, scope, systemPath, null );
+ }
+
+ public ProjectBuilder addDependency( String groupId, String artifactId, String version, String scope, String systemPath, Exclusion exclusion )
+ {
+ Dependency d = new Dependency();
+ d.setGroupId( groupId );
+ d.setArtifactId( artifactId );
+ d.setVersion( version );
+ d.setScope( scope );
+
+ if ( systemPath != null && scope.equals( Artifact.SCOPE_SYSTEM ) )
+ {
+ d.setSystemPath( systemPath );
+ }
+
+ if ( exclusion != null )
+ {
+ d.addExclusion( exclusion );
+ }
+
+ project.getDependencies().add( d );
+
+ return this;
+ }
+
+ // Plugins
+ //
+ public ProjectBuilder addPlugin( Plugin plugin )
+ {
+ project.getBuildPlugins().add( plugin );
+ return this;
+ }
+
+ public MavenProject get()
+ {
+ return project;
+ }
+ }
+
+ protected class PluginBuilder
+ {
+ private Plugin plugin;
+
+ public PluginBuilder( String groupId, String artifactId, String version )
+ {
+ plugin = new Plugin();
+ plugin.setGroupId( groupId );
+ plugin.setArtifactId( artifactId );
+ plugin.setVersion( version );
+ }
+
+ // Dependencies
+ //
+ public PluginBuilder addDependency( String groupId, String artifactId, String version, String scope, Exclusion exclusion )
+ {
+ return addDependency( groupId, artifactId, version, scope, exclusion );
+ }
+
+ public PluginBuilder addDependency( String groupId, String artifactId, String version, String scope, String systemPath )
+ {
+ return addDependency( groupId, artifactId, version, scope, systemPath, null );
+ }
+
+ public PluginBuilder addDependency( String groupId, String artifactId, String version, String scope, String systemPath, Exclusion exclusion )
+ {
+ Dependency d = new Dependency();
+ d.setGroupId( groupId );
+ d.setArtifactId( artifactId );
+ d.setVersion( version );
+ d.setScope( scope );
+
+ if ( systemPath != null && scope.equals( Artifact.SCOPE_SYSTEM ) )
+ {
+ d.setSystemPath( systemPath );
+ }
+
+ if ( exclusion != null )
+ {
+ d.addExclusion( exclusion );
+ }
+
+ plugin.getDependencies().add( d );
+
+ return this;
+ }
+
+ public Plugin get()
+ {
+ return plugin;
+ }
+ }
}
Modified: maven/components/trunk/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java?rev=779825&r1=779824&r2=779825&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java (original)
+++ maven/components/trunk/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java Fri May 29 03:34:22 2009
@@ -1,17 +1,10 @@
package org.apache.maven;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
+import java.io.File;
import java.util.Set;
import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.resolver.filter.AndArtifactFilter;
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
-import org.apache.maven.artifact.resolver.filter.ExcludesArtifactFilter;
-import org.apache.maven.model.Dependency;
import org.apache.maven.model.Exclusion;
-import org.apache.maven.model.Model;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.component.annotations.Requirement;
@@ -41,10 +34,16 @@
return "src/test/projects/project-dependencies-resolver";
}
- public void testCalculationOfBuildPlanWithIndividualTaskOfTheCleanCleanGoal()
+ public void testExclusionsInDependencies()
throws Exception
{
- MavenProject project = createProject();
+ Exclusion exclusion = new Exclusion();
+ exclusion.setGroupId( "commons-lang" );
+ exclusion.setArtifactId( "commons-lang" );
+
+ MavenProject project = new ProjectBuilder( "org.apache.maven", "project-test", "1.0" )
+ .addDependency( "org.apache.maven.its", "maven-core-it-support", "1.3", Artifact.SCOPE_RUNTIME, exclusion )
+ .get();
Set<Artifact> artifactDependencies = resolver.resolve( project, Artifact.SCOPE_COMPILE, getLocalRepository(), getRemoteRepositories() );
assertEquals( 0, artifactDependencies.size() );
@@ -54,34 +53,14 @@
assertEquals( "maven-core-it-support" , artifactDependencies.iterator().next().getArtifactId() );
}
- private MavenProject createProject()
- {
- Model model = new Model();
- model.setModelVersion( "4.0.0" );
- model.setGroupId( "org.apache.maven" );
- model.setArtifactId( "project-test" );
- model.setVersion( "1.0" );
-
- List<Dependency> dependencies = new ArrayList<Dependency>();
- dependencies.add( d( "org.apache.maven.its", "maven-core-it-support", "1.3" ) );
- model.setDependencies( dependencies );
-
- return new MavenProject( model );
- }
-
- private Dependency d( String g, String a, String v )
+ public void testSystemScopeDependencies()
+ throws Exception
{
- Dependency d = new Dependency();
- d.setGroupId( g );
- d.setArtifactId( a );
- d.setVersion( v );
- d.setScope( Artifact.SCOPE_RUNTIME );
-
- Exclusion e = new Exclusion();
- e.setGroupId( "commons-lang" );
- e.setArtifactId( "commons-lang" );
- d.addExclusion( e );
-
- return d;
- }
+ MavenProject project = new ProjectBuilder( "org.apache.maven", "project-test", "1.0" )
+ .addDependency( "com.mycompany", "system-dependency", "1.0", Artifact.SCOPE_SYSTEM, new File( getBasedir(), "pom.xml" ).getAbsolutePath() )
+ .get();
+
+ Set<Artifact> artifactDependencies = resolver.resolve( project, Artifact.SCOPE_COMPILE, getLocalRepository(), getRemoteRepositories() );
+ assertEquals( 1, artifactDependencies.size() );
+ }
}
Modified: maven/components/trunk/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java?rev=779825&r1=779824&r2=779825&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java (original)
+++ maven/components/trunk/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java Fri May 29 03:34:22 2009
@@ -1,18 +1,24 @@
package org.apache.maven.plugin;
+import java.util.List;
+import java.util.Set;
+
import org.apache.maven.AbstractCoreMavenComponentTestCase;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
+import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.model.Plugin;
import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
+import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
public class PluginManagerTest
extends AbstractCoreMavenComponentTestCase
{
@Requirement
- private PluginManager pluginManager;
+ private DefaultPluginManager pluginManager;
private String plexusVersion = "1.0-beta-3.0.7-SNAPSHOT";
@@ -20,18 +26,20 @@
throws Exception
{
super.setUp();
- pluginManager = lookup( PluginManager.class );
+ pluginManager = (DefaultPluginManager) lookup( PluginManager.class );
}
@Override
- protected void tearDown() throws Exception {
- pluginManager = null;
- super.tearDown();
+ protected void tearDown()
+ throws Exception
+ {
+ pluginManager = null;
+ super.tearDown();
}
protected String getProjectsDirectory()
{
- return "src/test/projects/lifecycle-executor";
+ return "src/test/projects/plugin-manager";
}
public void testPluginLoading()
@@ -180,6 +188,58 @@
// test a build where projects use different versions of the same plugin
+ public void testThatPluginDependencyThatHasSystemScopeIsResolved()
+ throws Exception
+ {
+ /*
+ File systemPath = new File( getBasedir(), "pom.xml" );
+
+ Plugin plugin = new PluginBuilder( "org.apache.maven", "project-test", "1.0" )
+ .addDependency( "org.apache.maven", "system-dependency", "1.0", Artifact.SCOPE_SYSTEM, systemPath.getAbsolutePath() )
+ .get();
+
+ MavenProject pluginProject = new ProjectBuilder( "org.apache.maven", "project-test", "1.0" )
+ .addPlugin( plugin )
+ .addDependency( "junit", "junit", "3.8.1", Artifact.SCOPE_COMPILE )
+ .get();
+
+ // i'm making this artifact which is assumed to come from a pom in the metadata processor, then it tries to create a POM artifact
+ // and parse it for the dependencies and it blows up.
+ //
+ // we need to pass this through as is so it doesn't get parsed again.
+ Artifact pluginArtifact = new ProjectArtifact( pluginProject );
+
+ Set<Artifact> artifacts = pluginManager.getPluginArtifacts( pluginArtifact, plugin, getLocalRepository(), getRemoteRepositories() );
+ System.out.println( artifacts );
+ */
+
+ MavenSession session = createMavenSession( getProject( "project-contributing-system-scope-plugin-dep" ) );
+ MavenProject project = session.getCurrentProject();
+ Plugin plugin = project.getPlugin( "org.apache.maven.its.plugins:maven-it-plugin-class-loader" );
+ Artifact pluginArtifact = project.getPluginArtifactMap().get( "org.apache.maven.its.plugins:maven-it-plugin-class-loader" );
+
+ ArtifactResolutionRequest request = new ArtifactResolutionRequest()
+ .setArtifact( pluginArtifact )
+ .setLocalRepository( getLocalRepository() )
+ .setRemoteRepostories( getRemoteRepositories() );
+
+ ArtifactResolutionResult result = repositorySystem.resolve( request );
+
+ Set<Artifact> artifacts = pluginManager.getPluginArtifacts( pluginArtifact, plugin, getLocalRepository(), getRemoteRepositories() );
+ assertEquals( 4, artifacts.size() );
+
+ for ( Artifact a : artifacts )
+ {
+ if ( a.getGroupId().equals( "org.apache.maven.its.mng3586" ) && a.getArtifactId().equals( "tools" ) )
+ {
+ // The system scoped dependencies will be present in the classloader for the plugin
+ return;
+ }
+ }
+
+ fail( "Can't find the system scoped dependency in the plugin artifacts." );
+ }
+
// -----------------------------------------------------------------------------------------------
// Testing help
// -----------------------------------------------------------------------------------------------
Added: maven/components/trunk/maven-core/src/test/projects/plugin-manager/project-contributing-system-scope-plugin-dep/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/projects/plugin-manager/project-contributing-system-scope-plugin-dep/pom.xml?rev=779825&view=auto
==============================================================================
--- maven/components/trunk/maven-core/src/test/projects/plugin-manager/project-contributing-system-scope-plugin-dep/pom.xml (added)
+++ maven/components/trunk/maven-core/src/test/projects/plugin-manager/project-contributing-system-scope-plugin-dep/pom.xml Fri May 29 03:34:22 2009
@@ -0,0 +1,44 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.mng3586</groupId>
+ <artifactId>test2</artifactId>
+ <version>1.0</version>
+
+ <name>Maven Integration Test :: MNG-3586</name>
+ <description>
+ Test that plugin dependencies with scope system are part of the plugin class realm.
+ </description>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.its.plugins</groupId>
+ <artifactId>maven-it-plugin-class-loader</artifactId>
+ <version>2.1-SNAPSHOT</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.mng3586</groupId>
+ <artifactId>tools</artifactId>
+ <version>1.5.0</version>
+ <scope>system</scope>
+ <systemPath>${basedir}/tools.jar</systemPath>
+ </dependency>
+ </dependencies>
+ <executions>
+ <execution>
+ <id>load</id>
+ <phase>validate</phase>
+ <configuration>
+ <resourcePaths>maven-core-it.properties</resourcePaths>
+ <pluginClassLoaderOutput>target/pcl.properties</pluginClassLoaderOutput>
+ </configuration>
+ <goals>
+ <goal>load</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Propchange: maven/components/trunk/maven-core/src/test/projects/plugin-manager/project-contributing-system-scope-plugin-dep/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core/src/test/projects/plugin-manager/project-contributing-system-scope-plugin-dep/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added: maven/components/trunk/maven-core/src/test/projects/plugin-manager/project-contributing-system-scope-plugin-dep/tools.jar
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/projects/plugin-manager/project-contributing-system-scope-plugin-dep/tools.jar?rev=779825&view=auto
==============================================================================
(empty)
Added: maven/components/trunk/maven-core/src/test/projects/plugin-manager/project-with-inheritance/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/test/projects/plugin-manager/project-with-inheritance/pom.xml?rev=779825&view=auto
==============================================================================
--- maven/components/trunk/maven-core/src/test/projects/plugin-manager/project-with-inheritance/pom.xml (added)
+++ maven/components/trunk/maven-core/src/test/projects/plugin-manager/project-with-inheritance/pom.xml Fri May 29 03:34:22 2009
@@ -0,0 +1,628 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you 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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-parent</artifactId>
+ <version>11</version>
+ <relativePath>../pom/maven/pom.xml</relativePath>
+ </parent>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven</artifactId>
+ <version>3.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>Apache Maven</name>
+ <description>Maven is a project development management and
+ comprehension tool. Based on the concept of a project object model:
+ builds, dependency management, documentation creation, site
+ publication, and distribution publication are all controlled from
+ the declarative file. Maven can be extended by plugins to utilise a
+ number of other development tools for reporting or the build
+ process.
+ </description>
+ <url>http://maven.apache.org/</url>
+ <inceptionYear>2001</inceptionYear>
+ <properties>
+ <classWorldsVersion>1.3</classWorldsVersion>
+ <commonsCliVersion>1.0</commonsCliVersion>
+ <!--
+
+ Do not update this, Doxia will be decoupled completely from 3.x and someone can
+ create a rendering engine for it if they like when the release stabilizes. JVZ
+
+ -->
+ <doxiaVersion>1.0-alpha-9</doxiaVersion>
+ <easyMockVersion>1.2_Java1.3</easyMockVersion>
+ <junitVersion>3.8.1</junitVersion>
+ <plexusVersion>1.0-beta-3.0.7-SNAPSHOT</plexusVersion>
+ <plexusInteractivityVersion>1.0-alpha-6</plexusInteractivityVersion>
+ <plexusInterpolationVersion>1.1</plexusInterpolationVersion>
+ <plexusPluginManagerVersion>1.0-alpha-1</plexusPluginManagerVersion>
+ <plexusUtilsVersion>1.5.8</plexusUtilsVersion>
+ <plexusJetty6Version>1.6</plexusJetty6Version>
+ <plexusWebdavVersion>1.0</plexusWebdavVersion>
+ <wagonVersion>1.0-beta-4</wagonVersion>
+ <modelBuilderVersion>1.7-SNAPSHOT</modelBuilderVersion>
+ <mercuryVersion>1.0-alpha-6-SNAPSHOT</mercuryVersion>
+ <mercuryMp3Version>1.0-alpha-1</mercuryMp3Version>
+ <securityDispatcherVersion>1.2</securityDispatcherVersion>
+ <woodstoxVersion>3.2.6</woodstoxVersion>
+ <modelloVersion>1.0.1-SNAPSHOT</modelloVersion>
+ <jxpathVersion>1.3</jxpathVersion>
+ </properties>
+ <issueManagement>
+ <system>jira</system>
+ <url>http://jira.codehaus.org/browse/MNG</url>
+ </issueManagement>
+ <mailingLists>
+ <mailingList>
+ <name>Maven Developer List</name>
+ <subscribe>dev-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>dev-unsubscribe@maven.apache.org</unsubscribe>
+ <post>dev@maven.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-dev</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/dev@maven.apache.org/</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven-Developers-f179.html</otherArchive>
+ <otherArchive>http://maven.dev.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ <mailingList>
+ <name>Maven User List</name>
+ <subscribe>users-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>users-unsubscribe@maven.apache.org</unsubscribe>
+ <post>users@maven.apache.org</post>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-users</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/users@maven.apache.org/</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven---Users-f178.html</otherArchive>
+ <otherArchive>http://maven.users.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ <mailingList>
+ <name>Maven Issues List</name>
+ <subscribe>issues-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>issues-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-issues/</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/issues@maven.apache.org</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven---Issues-f15573.html</otherArchive>
+ <otherArchive>http://maven.issues.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ <mailingList>
+ <name>Maven Commits List</name>
+ <subscribe>commits-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>commits-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-commits</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/commits@maven.apache.org</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven---Commits-f15575.html</otherArchive>
+ <otherArchive>http://maven.commits.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ <!--
+ duplication from parent pom - temporary until they inherit
+ properly
+ -->
+ <mailingList>
+ <name>Maven Announcements List</name>
+ <post>announce@maven.apache.org</post>
+ <subscribe>announce-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>announce-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-announce/</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/announce@maven.apache.org</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven-Announcements-f15617.html</otherArchive>
+ <otherArchive>http://maven.announce.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ <mailingList>
+ <name>Maven Notifications List</name>
+ <subscribe>notifications-subscribe@maven.apache.org</subscribe>
+ <unsubscribe>notifications-unsubscribe@maven.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/maven-notifications/</archive>
+ <otherArchives>
+ <otherArchive>http://www.mail-archive.com/notifications@maven.apache.org</otherArchive>
+ <otherArchive>http://www.nabble.com/Maven---Notifications-f15574.html</otherArchive>
+ <otherArchive>http://maven.notifications.markmail.org/</otherArchive>
+ </otherArchives>
+ </mailingList>
+ </mailingLists>
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/maven/components/trunk</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/components/trunk</developerConnection>
+ <url>http://svn.apache.org/viewcvs.cgi/maven/components/trunk</url>
+ </scm>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-metadata</artifactId>
+ <version>${plexusVersion}</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>generate-metadata</goal>
+ <goal>generate-test-metadata</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.0.2</version>
+ <configuration>
+ <source>1.5</source>
+ <target>1.5</target>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-release-plugin</artifactId>
+ <configuration>
+ <tagBase>https://svn.apache.org/repos/asf/maven/components/tags</tagBase>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>${modelloVersion}</version>
+ <configuration>
+ <useJava5>true</useJava5>
+ </configuration>
+ <executions>
+ <execution>
+ <id>site-docs</id>
+ <phase>pre-site</phase>
+ <goals>
+ <goal>xdoc</goal>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>standard</id>
+ <goals>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xpp3-writer</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <version>1.0.0</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>2.4.2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.2-beta-2</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>2.4-SNAPSHOT</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+ <modules>
+ <module>maven-core</module>
+ <module>apache-maven</module>
+ <module>maven-model</module>
+ <module>maven-plugin-api</module>
+ <module>maven-project</module>
+ <module>maven-reporting-api</module>
+ <module>maven-project-builder</module>
+ <module>maven-mercury</module>
+ <module>maven-embedder</module>
+ <module>maven-toolchain</module>
+ <module>maven-compat</module>
+ <module>maven-repository</module>
+ <module>maven-repository-mercury</module>
+ </modules>
+ <!--start-->
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junitVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <dependencyManagement>
+ <!--end-->
+ <dependencies>
+ <!-- Maven Modules -->
+ <!--start-->
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-mercury</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-lifecycle</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-reporting-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-profile</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-toolchain</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-embedder</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-project-builder</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-repository</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-compat</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <!--end-->
+ <!-- Plexus -->
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>${plexusUtilsVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-container-default</artifactId>
+ <version>${plexusVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-annotations</artifactId>
+ <version>${plexusVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-classworlds</artifactId>
+ <version>${classWorldsVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-interpolation</artifactId>
+ <version>${plexusInterpolationVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-interactivity-api</artifactId>
+ <version>${plexusInteractivityVersion}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <!-- Plexus test dependencies -->
+ <dependency>
+ <groupId>org.sonatype.plexus</groupId>
+ <artifactId>plexus-jetty6</artifactId>
+ <version>${plexusJetty6Version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.sonatype.spice</groupId>
+ <artifactId>plexus-webdav</artifactId>
+ <version>${plexusWebdavVersion}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- Wagon -->
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-provider-api</artifactId>
+ <version>${wagonVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-file</artifactId>
+ <version>${wagonVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-http-lightweight</artifactId>
+ <version>${wagonVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh</artifactId>
+ <version>${wagonVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-ssh-external</artifactId>
+ <version>${wagonVersion}</version>
+ </dependency>
+ <!-- Doxia -->
+ <dependency>
+ <groupId>org.apache.maven.doxia</groupId>
+ <artifactId>doxia-sink-api</artifactId>
+ <version>${doxiaVersion}</version>
+ </dependency>
+ <!-- Maven Shared -->
+ <dependency>
+ <groupId>org.sonatype.spice</groupId>
+ <artifactId>model-builder</artifactId>
+ <version>${modelBuilderVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.woodstox</groupId>
+ <artifactId>wstx-asl</artifactId>
+ <version>${woodstoxVersion}</version>
+ </dependency>
+ <!-- Commons -->
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>${commonsCliVersion}</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>commons-lang</artifactId>
+ <groupId>commons-lang</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>commons-logging</artifactId>
+ <groupId>commons-logging</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>commons-jxpath</groupId>
+ <artifactId>commons-jxpath</artifactId>
+ <version>${jxpathVersion}</version>
+ </dependency>
+
+ <!-- Mercury -->
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-artifact</artifactId>
+ <version>${mercuryVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-external</artifactId>
+ <version>${mercuryVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-plexus</artifactId>
+ <version>${mercuryVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-virtual</artifactId>
+ <version>${mercuryVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.sonatype.mercury</groupId>
+ <artifactId>mercury-mp3-cli</artifactId>
+ <version>${mercuryMp3Version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.sonatype.plexus</groupId>
+ <artifactId>plexus-sec-dispatcher</artifactId>
+ <version>${securityDispatcherVersion}</version>
+ </dependency>
+
+
+ <!-- Mercury test dependencies -->
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-local-m2</artifactId>
+ <version>${mercuryVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-repo-remote-m2</artifactId>
+ <version>${mercuryVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-md-sat</artifactId>
+ <version>${mercuryVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-util</artifactId>
+ <version>${mercuryVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercuryVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.mercury</groupId>
+ <artifactId>mercury-transport-http</artifactId>
+ <version>${mercuryVersion}</version>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.sonatype.plexus</groupId>
+ <artifactId>plexus-plugin-manager</artifactId>
+ <version>${plexusPluginManagerVersion}</version>
+ </dependency>
+ <!--start-->
+ <dependency>
+ <groupId>easymock</groupId>
+ <artifactId>easymock</artifactId>
+ <version>${easyMockVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <!--end-->
+ </dependencies>
+ <!--start-->
+ </dependencyManagement>
+ <!--end-->
+ <distributionManagement>
+ <site>
+ <id>apache.website</id>
+ <url>scp://people.apache.org/www/maven.apache.org/ref/${project.version}/</url>
+ </site>
+ </distributionManagement>
+ <profiles>
+ <profile>
+ <id>osgi</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>manifest</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <!-- Needed for including the manifest, see MJAR-71 -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.1</version>
+ <configuration>
+ <archive>
+ <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>release</id>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <inherited>false</inherited>
+ <configuration>
+ <descriptors>
+ <descriptor>src/main/assembly/src.xml</descriptor>
+ </descriptors>
+ <tarLongFileMode>gnu</tarLongFileMode>
+ <finalName>maven-${project.version}-src</finalName>
+ </configuration>
+ <executions>
+ <execution>
+ <id>make-assembly</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>strict</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>1.0-alpha-3</version>
+ <executions>
+ <execution>
+ <id>enforce-jdk-15</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireJavaVersion>
+ <version>1.5</version>
+ </requireJavaVersion>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+</project>
Propchange: maven/components/trunk/maven-core/src/test/projects/plugin-manager/project-with-inheritance/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/components/trunk/maven-core/src/test/projects/plugin-manager/project-with-inheritance/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"