srcdeps / srcdeps

A set of tools to build project dependencies from their sources
Apache License 2.0
10 stars 6 forks source link

srcdeps plugin should be able to provide also transitive dependencies #16

Closed ppalaga closed 9 years ago

ppalaga commented 9 years ago

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.

ppalaga commented 9 years ago

Note that B is not a -SRC- dependency of A

ppalaga commented 9 years ago

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.

[1] https://github.com/l2x6/srcdeps-maven-plugin/pull/31