[ 
https://issues.apache.org/jira/browse/CASSANDRA-1848?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12978489#action_12978489
 ] 

Eric Evans commented on CASSANDRA-1848:
---------------------------------------

I suggest we create the following jars (with corresponding source and javadoc):
* cassandra-jmx-$version.jar (mbeans)
* cassandra-thrift-$version.jar (generated thrift code (clients))
* cassandra-cql-$version.jar (CQL driver)
* cassandra-tools-$version.jar (cli, nodetool, clustertool)
* cassandra-hadoop-$version.jar (hadoop support)
* cassandra-main-$version.jar (basically everything else)

To accomplish this, I'd like to reogranize the source folders to look something 
like the following diagram.  Classes would be compiled to corresponding 
directories under {{build/classes}}, (i.e. {{build/classes/main}}, 
{{build/classes/mbeans}}, etc).

{noformat}
src
  |- main
  |   \_ gen-java
  |   \_ java
  |
  |- mbeans
  |   \_ java
  |
  |- thrift
  |   \_ gen-java
  |
  |- cql
  |   \_ java
  |
  |- hadoop
  |  \_ java
  |
  |- tools
      \_ java
{noformat}

A logical separation like this will make it easier to get the right files into 
the right jars without a lot of complex excludes/includes.

> Separate thrift and avro classes from cassandra's jar
> -----------------------------------------------------
>
>                 Key: CASSANDRA-1848
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1848
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Packaging
>    Affects Versions: 0.7.0 rc 2
>            Reporter: Tristan Tarrant
>            Assignee: Eric Evans
>            Priority: Trivial
>             Fix For: 0.8
>
>         Attachments: CASSANDRA-1848.patch, CASSANDRA-1848_with_hadoop.patch
>
>   Original Estimate: 0h
>  Remaining Estimate: 0h
>
> Most client applications written in Java include the full 
> apache-cassandra-x.y.z.jar in their classpath. I propose to separate the avro 
> and thrift classes into separate jars.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to