[Aether] Result of resolution request w/NearestVersionSelector has conflicting transitive deps. versions

2016-04-13 Thread Fabio Tudone (fa...@paralleluniverse.co)

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 ?

2016-04-13 Thread Raffaele Esposito
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 ?

2016-04-13 Thread John Patrick
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 ?

2016-04-13 Thread Karl Heinz Marbaise

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