Details
-
Improvement
-
Status: Closed
-
Blocker
-
Resolution: Done
-
3.5.4, 3.6.0, 3.4.13
-
None
Description
In multiple steps, Maven should replace current ant build in ZooKeeper.
First phase - separate project structure that requires no code change:
zookeeper |-bin |-conf |-zk-client | |-zk-client-c |-zk-contrib | |-zk-contrib-fatjar | |-zk-contrib-huebrowser | |-zk-contrib-loggraph | |-zk-contrib-monitoring | |-zk-contrib-rest | |-zk-contrib-zkfuse | |-zk-contrib-zkperl | |-zk-contrib-zkpython | |-zk-contrib-zktreeutil | \-zk-contrib-zooinspector |-zk-docs |-zk-it (integration tests) |-zk-server |-zk-recipes | |-zk-recipes-election | |-zk-recipes-lock \ \-zk-recipes-queue
Second phase - separate modules that require code changes:
zookeeper |-bin |-conf *|-jute* |-zk-client | |-zk-client-c *| |-zk-client-java* (separated from zk-server) *| \-zk-client-go* (or any other language) *|-zk-common* |-zk-contrib | |-zk-contrib-fatjar | |-zk-contrib-huebrowser | |-zk-contrib-loggraph | |-zk-contrib-monitoring | |-zk-contrib-rest | |-zk-contrib-zkfuse | |-zk-contrib-zkperl | |-zk-contrib-zkpython | |-zk-contrib-zktreeutil | \-zk-contrib-zooinspector |-zk-docs |-zk-it (integration tests) |-zk-server |-zk-recipes | |-zk-recipes-election | |-zk-recipes-lock \ \-zk-recipes-queue
Every module will have the same maven structure:
zk-something |-src | |-main | | |-java | | | \org... | | \resources | \test (unit tests only?) | |-java | | \org... | \resources \pom.xml (build.xml, build.gradle?)
There is already ZOOKEEPER-1078, but it's main approach is to create a maven proxy on top of ant.
The main idea here is to replace ant with "pure" maven, and update the project structure accordingly.
It is also worth noting, that backporting only the package changes to 3.4 is a good practice for future backport commits. Maven build implementation not needed, just the directory structuro to be compatible with 3.5/master.
Attachments
Issue Links
- is depended upon by
-
ZOOKEEPER-95 There is no need to include the code generators in the zookeeper jar
- Resolved
-
ZOOKEEPER-98 Make the ZooKeeper optional bits seperate jars.
- Resolved
- is duplicated by
-
ZOOKEEPER-1078 add maven build support to ZooKeeper
- Resolved
-
ZOOKEEPER-2158 CLONE - Switch to using maven to build ZooKeeper
- Resolved
- relates to
-
ZOOKEEPER-1078 add maven build support to ZooKeeper
- Resolved