Closed ppalaga closed 9 years ago
Note that B is not a -SRC- dependency of A
I am not planning to fix this anymore.
While srcdeps are showing themselves at their best while tinkering across components living in separate git repositories, it is not 100% legal to depend on srcdeps artifacts in maven releases.
Why: Releases are deployed to public Maven repositories where they are made accessible to tools (IDEs, dependency/compatibility analyzers, ...) that do not know how to handle srcdeps. For them, srcdeps are simply unsatisfied dependencies and our artifacts depending on them appear as disobedient to the common rules holding in public maven repositories.
So the recommendation from now on is not to use source dependencies when releasing to public Maven repositories such as Maven Central.
With the next release, the srcdeps-maven-plugin will offer the option [1] to fail with certain (configurable) profiles. The default being just the "release" profile.
If A depends on B and B depends on C-SRC-1234, then the build of A may fail ATM if B was not built locally and thus C-SRC-1234 installed to local repo. To solve such situations, srcdeps plugin should be able to scan the transitive dependencies, find -SRC- dependencies in them and build them if necessary.