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

Tamas Cservenak edited comment on MNG-2496 at 3/4/24 5:45 PM:
--------------------------------------------------------------

I am unsure what scenario would require "omit the version of dependency" from 
plugin... Could you provide some example?

I keep "plugin uses range" as invalid example, as plugins should not depend on 
range (or if something downstream does, should be fixed it in plugin project). 
But to fix it, one can declare in build/plugins/plugin/dependencies a direct 
dependency to fixed version, that would simply "push" the deeper one to become 
loser and not used.


was (Author: cstamas):
I am unsure what scenario would require "omit the version of dependency" from 
plugin... Could you provide some example?

I keep "plugin uses range" as invalid example, as plugins should not depend on 
range (or if something downstream does, should be fixed it in plugin project).

> 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 E 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
(v8.20.10#820010)

Reply via email to