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/01/09 06:34:15 UTC
svn commit: r732929 - in /maven/components/trunk:
maven-compat/src/main/java/org/apache/maven/artifact/
maven-compat/src/main/java/org/apache/maven/artifact/resolver/filter/
maven-core/src/main/java/org/apache/maven/plugin/
maven-project/src/main/java/...
Author: jvanzyl
Date: Thu Jan 8 21:34:14 2009
New Revision: 732929
URL: http://svn.apache.org/viewvc?rev=732929&view=rev
Log:
MNG-3586: system scope is working again, the IT does not appear to work on OS/X. Both 2.0.9 and this snapshot fail the first test of the IT. Brian helped me verify and on Windows with 2.0.9 and this snapshot both tests pass.
Modified:
maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/Artifact.java
maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/ArtifactScopeEnum.java
maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilter.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/Artifact.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/Artifact.java?rev=732929&r1=732928&r2=732929&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/Artifact.java (original)
+++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/Artifact.java Thu Jan 8 21:34:14 2009
@@ -55,6 +55,8 @@
String SCOPE_RUNTIME = ArtifactScopeEnum.runtime.toString();
+ String SCOPE_RUNTIME_PLUS_SYSTEM = ArtifactScopeEnum.runtime_plus_system.toString();
+
String SCOPE_PROVIDED = ArtifactScopeEnum.provided.toString();
String SCOPE_SYSTEM = ArtifactScopeEnum.system.toString();
Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/ArtifactScopeEnum.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/ArtifactScopeEnum.java?rev=732929&r1=732928&r2=732929&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/ArtifactScopeEnum.java (original)
+++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/ArtifactScopeEnum.java Thu Jan 8 21:34:14 2009
@@ -10,7 +10,7 @@
public enum ArtifactScopeEnum
{
- compile( 1 ), test( 2 ), runtime( 3 ), provided( 4 ), system( 5 );
+ compile( 1 ), test( 2 ), runtime( 3 ), provided( 4 ), system( 5 ), runtime_plus_system( 6 );
public static final ArtifactScopeEnum DEFAULT_SCOPE = compile;
@@ -21,7 +21,7 @@
{
this.id = id;
}
-
+
int getId()
{
return id;
@@ -62,10 +62,14 @@
{
return Artifact.SCOPE_PROVIDED;
}
- else
+ else if ( id == 5 )
{
return Artifact.SCOPE_SYSTEM;
}
+ else
+ {
+ return Artifact.SCOPE_RUNTIME_PLUS_SYSTEM;
+ }
}
private static final ArtifactScopeEnum [][][] _compliancySets = {
Modified: maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilter.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilter.java?rev=732929&r1=732928&r2=732929&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilter.java (original)
+++ maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilter.java Thu Jan 8 21:34:14 2009
@@ -39,7 +39,7 @@
private final boolean providedScope;
private final boolean systemScope;
-
+
public ScopeArtifactFilter( String scope )
{
if ( Artifact.SCOPE_COMPILE.equals( scope ) )
@@ -58,6 +58,14 @@
runtimeScope = true;
testScope = false;
}
+ else if ( Artifact.SCOPE_RUNTIME_PLUS_SYSTEM.equals( scope ) )
+ {
+ systemScope = true;
+ providedScope = false;
+ compileScope = true;
+ runtimeScope = true;
+ testScope = false;
+ }
else if ( Artifact.SCOPE_TEST.equals( scope ) )
{
systemScope = true;
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=732929&r1=732928&r2=732929&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 Thu Jan 8 21:34:14 2009
@@ -377,9 +377,15 @@
ArtifactRepository localRepository )
throws InvalidPluginException, ArtifactNotFoundException, ArtifactResolutionException
{
+ ArtifactFilter filter = new ScopeArtifactFilter( Artifact.SCOPE_RUNTIME_PLUS_SYSTEM );
Set<Artifact> projectPluginDependencies;
+ // The case where we have a plugin that can host multiple versions of a particular tool. Say the
+ // Antlr plugin which has many versions and you may want the plugin to execute with version 2.7.1 of
+ // Antlr versus 2.7.2. In this case the project itself would specify dependencies within the plugin
+ // element.
+
try
{
projectPluginDependencies = MavenMetadataSource.createArtifacts(
@@ -387,7 +393,7 @@
plugin.getDependencies(),
null,
coreArtifactFilterManager.getCoreArtifactFilter(),
- project );
+ project );
}
catch ( InvalidDependencyVersionException e )
{
@@ -399,10 +405,7 @@
try
{
- resolutionGroup = artifactMetadataSource.retrieve(
- pluginArtifact,
- localRepository,
- project.getRemoteArtifactRepositories() );
+ resolutionGroup = artifactMetadataSource.retrieve( pluginArtifact, localRepository, project.getRemoteArtifactRepositories() );
}
catch ( ArtifactMetadataRetrievalException e )
{
@@ -418,8 +421,8 @@
try
{
MavenProject pluginProject =
- mavenProjectBuilder.buildFromRepository( pluginArtifact, project.getRemoteArtifactRepositories(),
- localRepository );
+ mavenProjectBuilder.buildFromRepository( pluginArtifact, project.getRemoteArtifactRepositories(), localRepository );
+
if ( pluginProject != null )
{
pluginManagedDependencies = pluginProject.getManagedVersionMap();
@@ -430,8 +433,6 @@
// this can't happen, it would have blowed up at artifactMetadataSource.retrieve()
}
-// checkPlexusUtils( resolutionGroup, artifactFactory );
-
Set<Artifact> dependencies = new LinkedHashSet<Artifact>();
// resolve the plugin dependencies specified in <plugin><dependencies> first:
@@ -446,8 +447,6 @@
repositories.addAll( project.getRemoteArtifactRepositories() );
- ArtifactFilter filter = new ScopeArtifactFilter( Artifact.SCOPE_RUNTIME );
-
ArtifactResolutionResult result = artifactResolver.resolveTransitively(
dependencies,
pluginArtifact,
@@ -455,8 +454,7 @@
localRepository,
repositories.isEmpty()
? Collections.EMPTY_LIST
- : new ArrayList(
- repositories ),
+ : new ArrayList( repositories ),
artifactMetadataSource,
filter );
Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java?rev=732929&r1=732928&r2=732929&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java Thu Jan 8 21:34:14 2009
@@ -457,8 +457,10 @@
* @return {@link Set} < {@link Artifact} >
* @todo desperately needs refactoring. It's just here because it's implementation is maven-project specific
*/
- public static Set<Artifact> createArtifacts( ArtifactFactory artifactFactory, List<Dependency> dependencies,
- String inheritedScope, ArtifactFilter dependencyFilter,
+ public static Set<Artifact> createArtifacts( ArtifactFactory artifactFactory,
+ List<Dependency> dependencies,
+ String inheritedScope,
+ ArtifactFilter dependencyFilter,
MavenProject project )
throws InvalidDependencyVersionException
{
Re: svn commit: r732929 - in /maven/components/trunk: maven-compat/src/main/java/org/apache/maven/artifact/ maven-compat/src/main/java/org/apache/maven/artifact/resolver/filter/ maven-core/src/main/java/org/apache/maven/plugin/ maven-project/src/main/java/...
Posted by Jason van Zyl <jv...@sonatype.com>.
Sure, I can give you mine. Contegix wired in the MAC to the grid so I
didn't actually look at the specs but I doubt it's as up-to-date as my
machine here. I'll send the contents along.
On 9-Jan-09, at 5:34 AM, Benjamin Bentmann wrote:
> Hi Jason,
>
>> Author: jvanzyl
>> Date: Thu Jan 8 21:34:14 2009
>> New Revision: 732929
>> URL: http://svn.apache.org/viewvc?rev=732929&view=rev
>> Log:
>> MNG-3586: system scope is working again, the IT does not appear to
>> work on OS/X. Both 2.0.9 and this snapshot fail the first test of
>> the IT.
>
> I just fired an IT run with Maven 2.1.x and it passed on all nodes
> except Windows (due to problems locating JAVA_HOME in /opt/java/sdk/
> 1.4), in particular the OS/X node passed [0].
>
> Since I don't have a Mac box around, I would appreciate if somebody
> could provide me the zipped contents of the working directory for
> the test IT mng-3586 for analysis.
>
>
> Benjamin
>
>
> [0] http://grid.sonatype.org/ci/job/Maven-2.1.x-bootstrap/jdk=1.4,label=osx/51/console
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
Thanks,
Jason
----------------------------------------------------------
Jason van Zyl
Founder, Apache Maven
jason at sonatype dot com
----------------------------------------------------------
Three may keep a secret if two of them are dead.
-- Benjamin Franklin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org
Re: svn commit: r732929 - in /maven/components/trunk: maven-compat/src/main/java/org/apache/maven/artifact/
maven-compat/src/main/java/org/apache/maven/artifact/resolver/filter/ maven-core/src/main/java/org/apache/maven/plugin/
maven-project/src/main/java/...
Posted by Benjamin Bentmann <be...@udo.edu>.
Hi Jason,
> Author: jvanzyl
> Date: Thu Jan 8 21:34:14 2009
> New Revision: 732929
>
> URL: http://svn.apache.org/viewvc?rev=732929&view=rev
> Log:
> MNG-3586: system scope is working again, the IT does not appear to work on OS/X. Both 2.0.9 and this snapshot fail the first test of the IT.
I just fired an IT run with Maven 2.1.x and it passed on all nodes
except Windows (due to problems locating JAVA_HOME in
/opt/java/sdk/1.4), in particular the OS/X node passed [0].
Since I don't have a Mac box around, I would appreciate if somebody
could provide me the zipped contents of the working directory for the
test IT mng-3586 for analysis.
Benjamin
[0]
http://grid.sonatype.org/ci/job/Maven-2.1.x-bootstrap/jdk=1.4,label=osx/51/console
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org