You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Adam Gent (JIRA)" <ji...@apache.org> on 2019/06/20 13:06:00 UTC

[jira] [Commented] (MNG-2496) dependencyManagement not used for dependencies in plugin section.

    [ https://issues.apache.org/jira/browse/MNG-2496?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16868514#comment-16868514 ] 

Adam Gent commented on MNG-2496:
--------------------------------

[~jvanzyl] We are having an issue with plugins depending on Eclipse JDT: [https://repo1.maven.org/maven2/org/eclipse/jdt/org.eclipse.jdt.core/3.13.102/org.eclipse.jdt.core-3.13.102.pom]

which uses version ranges.

If the plugin authors do not declare all the dependencies for Eclipse JDT in the dependencyManagement section (in the plugin pom) then {{mvn \-U}} will fetch all of the maven-metadata.xml for the Eclipse dependencies every time even if the downstream non plugin projects declare all the dependencies in either the plugins dependencies section or dependencyManagement section.

Specific example is the maven eclipse formatter project. Here is the projects issue: https://github.com/revelc/formatter-maven-plugin/issues/301#issuecomment-503828993


> dependencyManagement not used for dependencies in plugin section.
> -----------------------------------------------------------------
>
>                 Key: MNG-2496
>                 URL: https://issues.apache.org/jira/browse/MNG-2496
>             Project: Maven
>          Issue Type: Bug
>          Components: Artifacts and Repositories
>    Affects Versions: 2.0.4
>            Reporter: Brian Fox
>            Priority: Major
>
> In my parent, I have a dependencyManagement set with this jar:
>     <dependencyManagement>
>         <dependencies>
>             <dependency>
>                 <groupId>com.stchome.build.maven</groupId>
>                 <artifactId>testng-initializer</artifactId>
>                 <version>1.0</version>
>                 <scope>test</scope>
>             </dependency>
> I have a plugin specified that had a dependency like this:
>             <plugin>
>                 <artifactId>maven-antrun-plugin</artifactId>
>                 <executions>
>                     <execution>
>                         <id>run-testng</id>
>                         <phase>test</phase>
>                         <configuration>
>                             <tasks>
>                                 <java classname="com.stchome.testng.initializer.PackageInitializer">
>                                     <arg path="${project.build.testOutputDirectory}"/>
>                                     <arg path="${project.build.testSourceDirectory}"/>
>                                 </java>
>                                 <ant antfile="run-testng.xml" inheritRefs="true" inheritAll="true">
>                                     <property name="target.dir" value="${project.build.directory}"/>
>                                     <property name="test-classes.dir" value="${project.build.testOutputDirectory}"/>
>                                     <property name="test-source.dir" value="${project.build.testSourceDirectory}"/>
>                                 </ant>
>                             </tasks>
>                         </configuration>
>                         <goals>
>                             <goal>run</goal>
>                         </goals>
>                     </execution>
>                 </executions>
>                 <dependencies>
>                     <dependency>
>                         <groupId>com.stchome.build.maven</groupId>
>                         <artifactId>testng-initializer</artifactId>
>                     </dependency>
>                 </dependencies>
>             </plugin>
> When I build, it doesn't seem to resolve this dependency version from dependencyManagement
> [INFO] An invalid artifact was detected.
> This artifact might be in your project's POM, or it might have been included transitively du
>  information we do have for this artifact:
>     o GroupID:     com.stchome.build.maven
>     o ArtifactID:  testng-initializer
>     o Version:     <<< MISSING >>>
>     o Type:        jar
> [INFO] ------------------------------------------------------------------------
> [INFO] Trace
> org.apache.maven.artifact.InvalidArtifactRTException: For artifact {com.stchome.build.maven:
> n cannot be empty.
>         at org.apache.maven.artifact.DefaultArtifact.validateIdentity(DefaultArtifact.java:1
>         at org.apache.maven.artifact.DefaultArtifact.<init>(DefaultArtifact.java:119)
>         at org.apache.maven.artifact.factory.DefaultArtifactFactory.createArtifact(DefaultAr
>         at org.apache.maven.artifact.factory.DefaultArtifactFactory.createDependencyArtifact
>         at org.apache.maven.project.artifact.MavenMetadataSource.createArtifacts(MavenMetada
>         at org.apache.maven.plugin.DefaultPluginManager.addPlugin(DefaultPluginManager.java:
>         at org.apache.maven.plugin.DefaultPluginManager.verifyVersionedPlugin(DefaultPluginM
>         at org.apache.maven.plugin.DefaultPluginManager.verifyPlugin(DefaultPluginManager.ja
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.verifyPlugin(DefaultLifecycle
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.bindPluginToLifecycle(Default
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.constructLifecycleMappings(De
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleE
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLi
>         at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecu
>         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
>         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
>         at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>         at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>         at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>         at org.codehaus.classworlds.Launcher.main(Launcher.java:375)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)