Hi there,
yesterday, we noticed that cassandra is currently published with
inconsistent dependencies. The inconsistencies exist between the
published pom and the published distribution (tar.gz).
This is a serious issue for us as we are using pom dependencies for
development/testing and a tarball distribution for production.
I have read https://issues.apache.org/jira/browse/CASSANDRA-850 and
understood that you version all runtime dependencies in lib/ because you
have to update license files manually and therefore see no benefit in
using ivy.
However, I would like to make the following proposals for solving the
described issue:
a.) don't put everything from lib/ on the compile classpath but rather
each library individually. Extract the versions into constants that are
used to put the jars from lib/ onto the classpath and to generate a
consistent pom.
b.) go a step back and don't version any jars in lib/ but automate the
retrieval of license files (would do this for you, if needed)
c.) create a fat-jar of all dependencies or relabel all dependencies and
publish them to the maven repo, too
What do you think?
I am also interested in knowing what you do to workaround this problem!
And if it is not a problem for you, please tell me why...
Kind regards
Matthias