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)