Hello.

I'm currently trying to debug
https://issues.apache.org/jira/browse/MASSEMBLY-848 and am reaching
this line:

https://github.com/apache/maven-plugins/blob/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolver.java#L232

I'm debugging based on the contents of an integration test, the
original source files of which came from this example project:

  https://github.com/io7m/independent-versioning-20170207

When line 232 is reached in the debugger, the dependencyArtifacts
parameter contains the two artifacts
com.io7m.experimental:mod-a:jar:1.1.0:compile and
com.io7m.experimental:mod-b:jar:1.2.0:compile and both of those claim
to already have been resolved (isResolved() == true), which makes sense
as they're reactor projects. Both are present in the given
configSource.reactorProjects list. However, the code doesn't appear to
make any use of this list or the fact that the artifacts are already
resolved. It simply passes the list of artifacts to the resolver which
then fails with an OverConstrainedVersionException because the reactor
project artifacts aren't in any of the remote or local repositories.

This seems to be the root cause of MASSEMBLY-848, but I can't work out
whether this is expected behaviour, misuse of an API, an oversight, or
possibly all or none of the above!

Can anyone shed any light on this?

M

Attachment: pgpO43nka9r6m.pgp
Description: OpenPGP digital signature

Reply via email to