[Aether] Result of resolution request w/NearestVersionSelector has conflicting transitive deps. versions
Hi, I posted this on the aether mailing list already but it doesn't seem very active so I'd ask here too, especially considering https://projects.eclipse.org/projects/technology.aether/reviews/termination-review (I also opened an issue about that: https://bugs.eclipse.org/bugs/show_bug.cgi?id=490962). I apologize in advance if this is not the right place to ask, in that case could someone point to the right one? TIA. -- Conflict resolution seems not to work correctly in my case (but I'm no Aether expert). It can be tried out by cloning https://github.com/circlespainter/capsule-maven-13, which is meant to reproduce more easily https://github.com/puniverse/capsule-maven/issues/13, and running `gradlew run`. Shortly: I'm using a "RepositorySystemSession" built from "MavenRepositorySystemUtils" ("maven-aether-provider"); I tried both by explicitly setting a " ConflictResolver" graph transformer that includes a "NearestVersionSelector" and by not setting it (it looks like it is already setup in this way by "MavenRepositorySystemUtils.newSession") so I'd expect Aether to resolve automatically a conflict between "org.slf4j:slf4j-api" 1.7.18 and 1.7.19, which are transitive dependencies of my resolution request about "ch.qos.logback:logback-classic:1.1.6" and "org.slf4j:slf4j-simple:1.7.19" resp. This doesn't seem to happen though (I get both), and I don't understand why. The versions I tried are " 1.0.2.v20150114" and "1.1" for Aether and " 3.3.3" and "3.3.3" for "maven-aether-provider". Any help would be greatly appreciated! Thanks, -- Fabio - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Maybe a lack of specification ?
Hi all, In the Maven super-pom.xml definition (4.0.0) in the build section are defined some configuration parameters, such as: ${project.basedir}/target ${project.build.directory}/classes ${project.basedir}/target ${project.build.directory}/classes ${project.artifactId}-${project.version} ${project.build.directory}/test-classes ${project.basedir}/src/main/java ... Now let's take for example : ${project.build.directory}/classes *resources:resources* plugin goal uses it, as described in the documentation: Name Type Since Description outputDirectory File - The output directory into which to copy the resources. Default value is: ${project.build.outputDirectory}. *compiler:compile* plugin goal uses it as well (I guess), but it is nowhere defined in the documentation of that plugin. Why is that ? is it a lack in the specification or what ? am I missing something ?
Re: Maybe a lack of specification ?
Nice spot, just tried to work that one out myself. My guess is... the documentation generation plugin has been updated and it now skips/ignores required properties. If you compare those two plugins, you can see resources was last published 1.5 years ago; maven-resources-plugin is 2.7, last updated 2014-09-29 maven-compiler-plugin is 3.5.1, last updated 2016-02-06 If a new resources plugin occurs and it's updated to use new dependencies/plugins, I would bet it doesn't have the required properties section. Anyway, my view would be this is a bug/defect with the documenation plugin skipping/ignoring required properties. As you have highlighted the compiler doesn't document it uses of ${project.build.outputDirectory}, and if you look at latest file you can see more required properties are also not listed. https://github.com/apache/maven-plugins/blob/cb254e434a40b7ff58c936abbb3f823029a0e466/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/compiler/CompilerMojo.java John On 13 April 2016 at 22:26, Raffaele Esposito wrote: > Hi all, > > In the Maven super-pom.xml definition (4.0.0) > in the build section are defined some configuration parameters, > such as: > > > > ${project.basedir}/target > > ${project.build.directory}/classes > ${project.basedir}/target > > ${project.build.directory}/classes > ${project.artifactId}-${project.version} > > ${project.build.directory}/test-classes > ${project.basedir}/src/main/java > ... > > Now let's take for example : > ${project.build.directory}/classes > > *resources:resources* plugin goal uses it, as described in the > documentation: > > Name Type Since Description outputDirectory File - The output > directory into which to copy the resources. Default value is: > ${project.build.outputDirectory}. > > *compiler:compile* plugin goal uses it as well (I guess), > but it is nowhere defined in the documentation of that plugin. Why is that > ? is it a lack in the specification or what ? > am I missing something ? >
Re: Maybe a lack of specification ?
Hi, On 4/13/16 11:26 PM, Raffaele Esposito wrote: Hi all, In the Maven super-pom.xml definition (4.0.0) in the build section are defined some configuration parameters, such as: ${project.basedir}/target ${project.build.directory}/classes ${project.basedir}/target ${project.build.directory}/classes ${project.artifactId}-${project.version} ${project.build.directory}/test-classes ${project.basedir}/src/main/java ... Now let's take for example : ${project.build.directory}/classes *resources:resources* plugin goal uses it, as described in the documentation: Name Type Since Description outputDirectory File - The output directory into which to copy the resources. Default value is: ${project.build.outputDirectory}. Yes the maven-resources-plugin defines it and it means you can change it via the pom configuration for the goal: resources *compiler:compile* plugin goal uses it as well (I guess), but it is nowhere defined in the documentation of that plugin. In the documentation you mean that you can use it as a configuration entry in the pom ? And yes this it is correct, cause it wouldn't make sense to change it...(which is also true for the maven-resources-plugin) but at the moment it is as it is...This might change for 3.0.0 of maven-resources-plugin... And the other thing it is defined for the compiler-plugin as you can see here: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/compiler/CompilerMojo.java?revision=1517906&view=markup#l65 > Why is that ? is it a lack in the specification or what ? am I missing something ? Kind regards Karl Heinz Marbaise - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org