On Fri, 2010-04-09 at 10:11 -0700, Hannes Schmidt wrote: > > https://issues.apache.org/jira/browse/CASSANDRA-850 > > > > The highlights: > > > > You either (a) have to find a way to create binary artifacts that > > contain all of the necessary libs while satisfying their license > > requirements, or (b) turn the tide of public opinion and build > consensus > > that using maven to retrieve the dependencies post-download is OK. > > > > > The Maven build should produce as it's main artifact a slim jar that > contains only the classes and resources that are derived from the > sources > inside the project. Like every Maven-produced jar artifact, the slim > jar > would contain the pom.xml which would declare the slim jar's > dependencies. > The slim jar is for people who want to use Cassandra in a Maven > project. > They would simply declare a dependency on the slim jar in their > project and > Maven would pull that in along with the transitive dependencies, i.e. > the > slim jar's dependencies (for this to work, all of those dependencies > would > have to be available through a public repository which is what this > issue is > about). > > The Maven build would also produce an attached (Maven lingo) fat jar. > This > is a JAR that contains all classes and resources of Cassandra and its > dependencies rolled into a single JAR that's executable via "java > -jar". > This is also the artifact that the Download section would link to.
As CASSANDRA-850 covers (and I summarized separately), we are required to conform to the individual license requirements of these third-party dependencies if we are to legally redistribute them. These requirements vary from license to license, and TTBOMK, there is no deterministic way to identify a license (including any additional provisions) and generate compliant artifacts. > Optionally, and as you already suggested, the client- or API-specific > stuff > could be factored out into a separate project. > > > > I wish you the best of luck (seriously). > > > > > Well, Eric, let's start with you: Would you be in support of moving > Cassandra to a Maven build and abandoning Ant/Ivy or at least have the > Ant > build deploy the necessary artifacts to the Maven repo? I don't like Maven either, but you aren't the first person to tell me I have it all Wrong. If someone were to do the work and demonstrably prove that there is a Better Way, as opposed to just telling me what I should do, I'd be open to a change. -- Eric Evans eev...@rackspace.com