Hi Zoran,

great work and great explanation, thank you very much! :)

It now works for me locally.

-Pascal

Am 07.05.2018 um 11:52 schrieb Zoran Regvart:
Hi Cameleers,
I think I've found the core issue and committed a solution, we'll see
how the build goes.

The issue was that we were using <classifier> to reference a javadoc
dependency, whereas we should be using <type>. I think when a
multi-module Maven build is run without the goal that produces the
artifact the <classifier> resolves the dependency as pointing to the
modules `target/classes` directory instead of the artifact that is
previously built, cached or available in a remote repository. This
changes if the artifact is already present in the Maven reactor, and
then it points to the artifact built in the target directory. And
again it changes if <classifier> is switched with <type> to resolve
from local repository or, I would assume, from remote repository.

I could see this when running `mvn -X install` and `mvn -X test` -
that would fail; in `components/camel-as2` directory. The first would
output:

[DEBUG] Adding project path
file:/.../components/camel-as2/camel-as2-api/target/camel-as2-api-2.22.0-SNAPSHOT-javadoc.jar

And the second would output:

[DEBUG] Adding project path
file:/.../components/camel-as2/camel-as2-api/target/classes/

This changed when I changed the <classifier> to a <type> and now when
I run `mvn test` the javadoc dependency is picked up from my local
repository:

[DEBUG] Adding project path
file:/.../.m2/repository/org/apache/camel/camel-as2-api/2.22.0-SNAPSHOT/camel-as2-api-2.22.0-SNAPSHOT-javadoc.jar

I've changed all components that had <classifier>javadoc</classifier>
to <type>javadoc</type>, I hope this helps :)

zoran

Reply via email to