[
https://issues.apache.org/jira/browse/ZOOKEEPER-3021?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16445624#comment-16445624
]
Norbert Kalmar commented on ZOOKEEPER-3021:
-------------------------------------------
Yes, you're right Enrico. When we start migrating the build scripts, we will
most probably need INFRA's help.
During the first and second step, I think we are fine, it will be still an ant
build. We just have to take care to update the ant scripts to the new package
structure.
And of course we have to make sure the final package structure remains the same
in the artifacts.
Thanks for bringing it to attention!
> 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)