Hi All, Thanks for the feedbacks. @Enrico: I checked https://issues.apache.org/jira/browse/ZOOKEEPER-1078 . It is very hard to keep track with the patch files, it should be committed. But looking at the changes, it is more of a Maven proxy layer for ant with lots of copy commands.
If we do change to maven, I think we should do so with getting rid of ant. (Of course this will be one of the last steps). ZOOKEEPER-1078 approaches the task to add support for Maven build via just a proxy layer over ant. As @Mohammad mentiend, we could create an umbrella Jira, and start small (or at least small in the sense of coda change/impact). Looking at the reactions here, comments on ZOOKEEPER-1078 and other forums, I think people would be positive to the change. I will create the Umbrella Jira, so that we can start working on the first steps, while waiting for other feedbacks. Thanks, Norbert On Thu, Apr 19, 2018 at 2:53 PM, Ted Yu <yuzhih...@gmail.com> wrote: > +1 for migrating to maven build. > -------- Original message --------From: Mohammad arshad < > mohammad.ars...@huawei.com> Date: 4/19/18 5:23 AM (GMT-08:00) To: > dev@zookeeper.apache.org Subject: RE: [SUGGESTION] Migrate project > structure to Maven build > Thanks Norbert for the good initiative. I am +1 on migrating to maven > I think it would be good to start with master branch. After changing and > stabilizing it, we can backport changes to other branches. > May be we can create an umbrella JIRA and create independent tasks under > it. There will be many things which can be handled independently > > Thanks & Regards > Arshad > -----Original Message----- > From: Enrico Olivelli [mailto:eolive...@gmail.com] > Sent: Thursday, April 19, 2018 8:03 PM > To: DevZooKeeper <dev@zookeeper.apache.org> > Subject: Re: [SUGGESTION] Migrate project structure to Maven build > > Hi Norbert, > thank you for your suggestiion > > there is a long standing patch for migration to Maven > https://issues.apache.org/jira/browse/ZOOKEEPER-1078 > > personally I am using that pom.xml in order to speed up work > > I really would like this change, but we need support from some committer. > It is an important change and it cannot be done without full consensus in > the community > > Cheers > Enrico > > > 2018-04-19 13:28 GMT+02:00 Norbert Kalmar <nkal...@cloudera.com>: > > > Hi ZooKeeper community, > > > > As the vast majority of the components in the Hadoop ecosystem is > > built with Maven, what do you think of moving Zookeeper to a Maven > > structure as well? > > > > This would bring the benefit of a more consistent project structure, > > better dependency management and more possibilities for future changes > > (i.e.: we could separate java client code so that projects like HDFS > > that only needs the client doesn't have to import the whole ZooKeeper). > > > > This could be done as a multi-step change. > > > > The change would also include the separation of unit tests from > > integration and/or functional tests. > > > > In the first iteration, the project structure could be separated > > something > > like: > > > > 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 > > > > > > 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. > > > > In a second iteration, we could start the changes that require code > > changes as well: > > > > 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 > > > > > > Here, java client code is separated from the server code (and any > > other supported languages client code). > > > > The final iteration would be something like: > > > > zk-something > > |-src > > | |-main > > | | |-java > > | | | \org... > > | | \resources > > | \test (unit tests only?) > > | |-java > > | | \org... > > | \resources > > \pom.xml > > > > > > But this is just to give a high level example/vision. > > > > Of course, with all the iteration, even at the end when possibly > > moving to a full Maven build, it is important that the final jar > > structure remains the same. > > > > What do you think? > > > > Kind regards, > > Norbert > > >