zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Enrico Olivelli (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ZOOKEEPER-3021) Umbrella: Migrate project structure to Maven build
Date Fri, 20 Apr 2018 11:59:00 GMT

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

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

No INFRA support is needed, PMCs and other committers are able to change CI config.
Maybe we will have a transition period and we will be running both CI jobs (ant based and
maven based)

> 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)

Mime
View raw message