Moving the collecting code from m-dependency-tree to m-artifact-transfer
found a problem:
I added m-dependency-tree 3.0.1 as a dependency of m-artifact-transfer
because it has a lot of funcionality useful when using Aether's collect
(DependencyNode, DefaultDependencyNode, visitors and filters).
When executing the requireUpperBoundDeps rule on the m-artifact-transfer
lib, it throws an exception related some classloading issue:
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute
goal
org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-SNAPSHOT:enforce
(enforce-requireUpperBoundDeps) on project maven-artifact-transfer:
Execution enforce-requireUpperBoundDeps of goal
org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-SNAPSHOT:enforce
failed: An API incompatibility was encountered while executing
org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-SNAPSHOT:enforce:
java.lang.NoSuchMethodError:
org.apache.maven.shared.dependency.graph.internal.DefaultDependencyNode.<init>(Lorg/apache/maven/shared/dependency/graph/DependencyNode;Lorg/apache/maven/artifact/Artifact;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Boolean;)V
-----------------------------------------------------
realm =
plugin>org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-SNAPSHOT
strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
urls[0] =
file:/win/productos/repo/org/apache/maven/plugins/maven-enforcer-plugin/3.0.0-SNAPSHOT/maven-enforcer-plugin-3.0.0-SNAPSHOT.jar
urls[1] =
file:/win/productos/repo/org/codehaus/mojo/extra-enforcer-rules/1.0-beta-9/extra-enforcer-rules-1.0-beta-9.jar
urls[2] =
file:/win/productos/repo/org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.jar
urls[3] =
file:/win/productos/repo/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar
urls[4] =
file:/win/productos/repo/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar
urls[5] = file:/win/productos/repo/junit/junit/4.11/junit-4.11.jar
urls[6] =
file:/win/productos/repo/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar
urls[7] =
file:/win/productos/repo/commons-codec/commons-codec/1.6/commons-codec-1.6.jar
urls[8] =
file:/win/productos/repo/org/apache/maven/shared/maven-common-artifact-filters/3.0.1/maven-common-artifact-filters-3.0.1.jar
urls[9] =
file:/win/productos/repo/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar
urls[10] =
file:/win/productos/repo/commons-io/commons-io/2.5/commons-io-2.5.jar
urls[11] = file:/win/productos/repo/com/ibm/icu/icu4j/56.1/icu4j-56.1.jar
urls[12] =
file:/win/productos/repo/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar
urls[13] =
file:/win/productos/repo/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar
urls[14] =
file:/win/productos/repo/org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar
urls[15] =
file:/win/productos/repo/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar
urls[16] =
file:/win/productos/repo/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar
urls[17] =
file:/win/productos/repo/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
urls[18] =
file:/win/productos/repo/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
urls[19] =
file:/win/productos/repo/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar
urls[20] =
file:/win/productos/repo/org/apache/maven/enforcer/enforcer-api/3.0.0-SNAPSHOT/enforcer-api-3.0.0-SNAPSHOT.jar
urls[21] =
file:/win/productos/repo/org/apache/maven/enforcer/enforcer-rules/3.0.0-SNAPSHOT/enforcer-rules-3.0.0-SNAPSHOT.jar
urls[22] =
file:/win/productos/repo/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar
urls[23] = file:/win/productos/repo/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar
urls[24] =
file:/win/productos/repo/org/apache/maven/shared/maven-artifact-transfer/0.11.0-SNAPSHOT/maven-artifact-transfer-0.11.0-SNAPSHOT.jar
Number of foreign imports: 1
import: Entry[import from realm ClassRealm[maven.api, parent: null]]
-----------------------------------------------------
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:148)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
(LifecycleModuleBuilder.java:117)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
(LifecycleModuleBuilder.java:81)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
(SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native
Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:564)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch
(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main
(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution
enforce-requireUpperBoundDeps of goal
org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-SNAPSHOT:enforce
failed: An API incompatibility was encountered while executing
org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-SNAPSHOT:enforce:
java.lang.NoSuchMethodError:
org.apache.maven.shared.dependency.graph.internal.DefaultDependencyNode.<init>(Lorg/apache/maven/shared/dependency/graph/DependencyNode;Lorg/apache/maven/artifact/Artifact;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Boolean;)V
-----------------------------------------------------
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
(DefaultBuildPluginManager.java:186)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:148)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
(LifecycleModuleBuilder.java:117)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
(LifecycleModuleBuilder.java:81)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
(SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native
Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:564)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch
(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main
(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginContainerException: An API
incompatibility was encountered while executing
org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-SNAPSHOT:enforce:
java.lang.NoSuchMethodError:
org.apache.maven.shared.dependency.graph.internal.DefaultDependencyNode.<init>(Lorg/apache/maven/shared/dependency/graph/DependencyNode;Lorg/apache/maven/artifact/Artifact;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Boolean;)V
-----------------------------------------------------
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
(DefaultBuildPluginManager.java:184)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:148)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
(LifecycleModuleBuilder.java:117)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
(LifecycleModuleBuilder.java:81)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
(SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native
Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:564)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch
(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main
(Launcher.java:356)
Caused by: java.lang.NoSuchMethodError:
org.apache.maven.shared.dependency.graph.internal.DefaultDependencyNode.<init>(Lorg/apache/maven/shared/dependency/graph/DependencyNode;Lorg/apache/maven/artifact/Artifact;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Boolean;)V
at
org.apache.maven.shared.transfer.dependencies.collect.internal.Maven31CollectorResult.buildDependencyNode
(Maven31CollectorResult.java:121)
at
org.apache.maven.shared.transfer.dependencies.collect.internal.Maven31CollectorResult.getDependencyGraphRoot
(Maven31CollectorResult.java:100)
at org.apache.maven.plugins.enforcer.RequireUpperBoundDeps.getNode
(RequireUpperBoundDeps.java:123)
at org.apache.maven.plugins.enforcer.RequireUpperBoundDeps.execute
(RequireUpperBoundDeps.java:149)
at org.apache.maven.plugins.enforcer.EnforceMojo.execute
(EnforceMojo.java:205)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
(DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute
(MojoExecutor.java:148)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
(LifecycleModuleBuilder.java:117)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
(LifecycleModuleBuilder.java:81)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
(SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native
Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:564)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch
(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main
(Launcher.java:356)
Testing in other projects, I found the offending issue is the dependeny
to
m-dependency-tree 2.1 coming from the extra-enforcer-rules additional
dependency (declared in org.apache.maven:maven-parent:33 parent pom)
Note: when implemented the same functionality in m-dependency-tree
3.0.2-SNAPSHOT this problem didn't show (I suppose because
m-dependency-tree 3.0.2-SNAPSHOT was a direct dependency for enforcer
plugin?)
Is there some classloading trick I could add so that execution does not
interfere with m-dependency-tree 2.1?
TIA,
Gabriel
El jue., 17 de ene. de 2019 a la(s) 14:43, Robert Scholte (
rfscho...@apache.org) escribió:
Hi Gabriel,
I think you missed the message that this code doesn't belong to
m-dependency-tree, but to m-artifact-transfer.
Would be great if you could move the code.
thanks,
Robert
On Thu, 17 Jan 2019 16:13:15 +0100, Gabriel Belingueres
<belingue...@gmail.com> wrote:
> I've made progress with the m-dependency-tree [1] shared library which
> should help unblock some issues in enforcer. It needs review though
(and
> a
> release)
>
> [1] https://issues.apache.org/jira/browse/MSHARED-788
>
> El jue., 17 de ene. de 2019 06:25, Tibor Digana
<tibordig...@apache.org>
> escribió:
>
>> To lookup easy or fast fixes, and +1 to perform a release then.
>> T
>>
>> On Wed, Jan 16, 2019 at 1:56 PM Enrico Olivelli <eolive...@gmail.com>
>> wrote:
>>
>> > An user is asking for a release of the enforcer plugin
>> >
>> >
>>
https://github.com/apache/maven-enforcer/pull/36#issuecomment-447238729
>> >
>> > I can prepare the release
>> >
>> > Thoughts?
>> > Enrico
>> > --
>> >
>> >
>> > -- Enrico Olivelli
>> >
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org