You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Norbert Kalmar (JIRA)" <ji...@apache.org> on 2019/02/27 10:13:00 UTC
[jira] [Resolved] (ZOOKEEPER-3021) Umbrella: Migrate project
structure to Maven build
[ https://issues.apache.org/jira/browse/ZOOKEEPER-3021?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Norbert Kalmar resolved ZOOKEEPER-3021.
---------------------------------------
Resolution: Done
> Umbrella: Migrate project structure to Maven build
> --------------------------------------------------
>
> Key: ZOOKEEPER-3021
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3021
> Project: ZooKeeper
> Issue Type: Improvement
> Components: build, build-infrastructure, scripts
> Affects Versions: 3.5.4, 3.6.0, 3.4.13
> Reporter: Norbert Kalmar
> Assignee: Norbert Kalmar
> Priority: Blocker
> Fix For: 3.6.0, 3.5.5, 3.4.14
>
>
> In multiple steps, Maven should replace current ant build in ZooKeeper.
> First phase - separate project structure that requires no code change:
> {noformat}
> 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
> {noformat}
>
>
> Second phase - separate modules that require code changes:
> {noformat}
> 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
> {noformat}
>
> Every module will have the same maven structure:
> {noformat}
> zk-something
> |-src
> | |-main
> | | |-java
> | | | \org...
> | | \resources
> | \test (unit tests only?)
> | |-java
> | | \org...
> | \resources
> \pom.xml (build.xml, build.gradle?)
> {noformat}
> 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.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)