You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Enrico Olivelli (JIRA)" <ji...@apache.org> on 2018/04/20 11:26:00 UTC

[jira] [Commented] (ZOOKEEPER-3021) Umbrella: Migrate project structure to Maven build

    [ https://issues.apache.org/jira/browse/ZOOKEEPER-3021?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16445612#comment-16445612 ] 

Enrico Olivelli commented on ZOOKEEPER-3021:
--------------------------------------------

I like this roadmap ! Thank you

 

I think that the bigger pain will be the change of the QA robot, now it launches ANT and it does a lot of things.

The release procedure needs to be changed and it will be very important to keep the structure of poms and artifacts published to Maven Central as the current one.

 

> 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.6.0
>            Reporter: Norbert Kalmar
>            Priority: Major
>
> In multiple steps, Maven should replace current ant build in ZooKeeper.
>  
>  First iteration: separate project structure
> {noformat}
> zookeeper
> |-bin
> |-conf
> |-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}
>  
>  With this kind of structure, the code change could be kept to a bare minimum, if any at all.
>  Just change the ant script to conform to the new structure. 
>   
>  Second iteration: code changes:
> {noformat}
> zookeeper
> |-bin
> |-conf
> |-jute
> |-zk-client
> | |-zk-client-c
> | |-zk-client-java
> | \-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}
>  
>  Here, java client code is separated from the server code (and any other supported languages client code).
>   
>  Third iteration: 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.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)