zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Norbert Kalmar <nkal...@cloudera.com>
Subject Re: [SUGGESTION] Migrate project structure to Maven build
Date Fri, 20 Apr 2018 11:47:40 GMT
Quick update: I created the umbrella jira and the first step sub-jira:
https://issues.apache.org/jira/browse/ZOOKEEPER-3021

Please feel free to pitch in, share your ideas and doubts.

I will start working on the first step.

Regards,
Norbert

On Fri, Apr 20, 2018 at 12:00 PM, Norbert Kalmar <nkalmar@cloudera.com>
wrote:

> 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 <yuzhihong@gmail.com> wrote:
>
>>  +1 for migrating to maven build.
>> -------- Original message --------From: Mohammad arshad <
>> mohammad.arshad@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:eolivelli@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 <nkalmar@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
>> >
>>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message