I wouldn't mind merging this change in so I could setup those Gradle Jenkins precommits.
As per our contribution guidelines, any committer willing to sign off on the PR? On Thu, Nov 9, 2017 at 2:12 PM, Romain Manni-Bucau <[email protected]> wrote: > Le 9 nov. 2017 21:31, "Kenneth Knowles" <[email protected]> a écrit : > > Keep in mind that a clean build is unusual during development (it is common > for mvn use and that is a bug) and also not necessary for precommits if the > build tool is correct enough that caching is safe. So while this number > matters, it is not the most important. > > > Not sure, in dev you bypass the build tool most of the time anyway - thanks > to IDE or other shortcuts - but not on PR and CI. Keep in mind that not > doing a clean and killing gradle daemon makes the build not reproducible > and therefore useful :(. Starting to build from a subpart of the reactor - > with the mentionned mvn plugin for instance - can be nice on some CI like > travis if the caching is well configured but still not a guarantee the > build is "green". > > My trade off is to ensure an easy build and relevant result over the time > criteria. Do you share it as well or prefer time over other criteria - > which leads to other conclusions and options indeed and can make us not > understanding each other? > > > On Thu, Nov 9, 2017 at 11:30 AM, Romain Manni-Bucau <[email protected] > > > wrote: > > > I will try next week yes but the 2 runs i did were 28mn vs 32mn from > memory > > - after having downloaded all deps once. > > > > Le 9 nov. 2017 19:45, "Lukasz Cwik" <[email protected]> a écrit : > > > > > If Gradle was slow, do you mind running the build with --profile and > > > sharing that and also sharing the Maven build log? > > > > > > On Thu, Nov 9, 2017 at 10:43 AM, Lukasz Cwik <[email protected]> wrote: > > > > > > > Romain, I don't understand your last comment, were you trying to say > > that > > > > you had the same Gradle build times like I did and it was an > > improvement > > > > over Maven or that you did not and you experienced build times that > > were > > > > equivalent to Maven? > > > > > > > > On Thu, Nov 9, 2017 at 9:51 AM, Romain Manni-Bucau < > > > [email protected]> > > > > wrote: > > > > > > > >> 2017-11-09 18:38 GMT+01:00 Kenneth Knowles <[email protected] > >: > > > >> > On Thu, Nov 9, 2017 at 9:11 AM, Romain Manni-Bucau < > > > >> [email protected]> > > > >> > wrote: > > > >> > > > > >> >> (this is another topic so we can maybe open another thread) issue > > is > > > >> >> not much about python but more about the fact the build is not > self > > > >> >> contained. it is a maven build and maven should be sufficient > > without > > > >> >> having to install python + dependencies. > > > >> > > > > >> > > > > >> > Let's leave out the topic of whether our build should install > things > > > >> like > > > >> > JDKs, Python, Golang, Docker, protoc, findbugs, RAT, etc. That > issue > > > is > > > >> > somewhat independent of build tool, and the new build isn't worse > > than > > > >> the > > > >> > old one as far as it goes. > > > >> > > > >> > > > >> Yep, globally the same time with clean and killing the daemon. > > > >> > > > >> > > > > >> > Kenn > > > >> > > > > >> > > > > >> > > > > >> >> I don't see any technical > > > >> >> blockers to do it (except time ;)) but it is always a bit > annoying > > to > > > >> >> git clone then not be able to build. > > > >> >> > > > >> >> Romain Manni-Bucau > > > >> >> @rmannibucau | Blog | Old Blog | Github | LinkedIn > > > >> >> > > > >> >> > > > >> >> 2017-11-09 18:07 GMT+01:00 Lukasz Cwik <[email protected] > >: > > > >> >> > Hmm, I have had good luck when following the Python quick start > > > setup > > > >> >> > <https://beam.apache.org/get-started/quickstart-py/> on > multiple > > > >> >> machines > > > >> >> > by ensuring the installed version of setuptools, virtualenv and > > pip > > > >> are > > > >> >> new > > > >> >> > enough versions. > > > >> >> > > > > >> >> > You can always skip the Python portion of the build by > excluding > > > the > > > >> >> build > > > >> >> > task as so: > > > >> >> > ./gradlew build -x ":beam-sdks-parent:beam-sdks-python:build" > > > >> >> > > > > >> >> > On Thu, Nov 9, 2017 at 8:58 AM, Romain Manni-Bucau < > > > >> >> [email protected]> > > > >> >> > wrote: > > > >> >> > > > > >> >> >> The 1.3.5 file is when i installed the python dependencies > > > manually > > > >> >> >> to make the build passing (the pip command never passed on my > > > >> computer > > > >> >> >> and therefore the build always has been broken until i > installed > > > it > > > >> >> >> manually - independently from the build tool). > > > >> >> >> > > > >> >> >> Romain Manni-Bucau > > > >> >> >> @rmannibucau | Blog | Old Blog | Github | LinkedIn > > > >> >> >> > > > >> >> >> > > > >> >> >> 2017-11-09 17:51 GMT+01:00 Lukasz Cwik > <[email protected] > > > >: > > > >> >> >> > It turns out that the Apache Rat Ant task and the Apache Rat > > > Maven > > > >> >> plugin > > > >> >> >> > differ in that the plugin automatically excludes certain > files > > > by > > > >> >> default > > > >> >> >> > while the Ant task does not. > > > >> >> >> > See: > > > >> >> >> > http://creadur.apache.org/rat/apache-rat-plugin/check-mojo. > > > >> >> >> html#useDefaultExcludes > > > >> >> >> > > > > >> >> >> > I fixed the list to exclude ".idea/" instead of "idea/" > since > > > >> there > > > >> >> was a > > > >> >> >> > typo. > > > >> >> >> > > > > >> >> >> > I have no idea what the file "=1.3.5" is. Can you take a > look > > at > > > >> the > > > >> >> >> > contents? > > > >> >> >> > > > > >> >> >> > On Thu, Nov 9, 2017 at 12:03 AM, Romain Manni-Bucau < > > > >> >> >> [email protected]> > > > >> >> >> > wrote: > > > >> >> >> > > > > >> >> >> >> Ok, the rat issues I got were: > > > >> >> >> >> > > > >> >> >> >> == File: /home/rmannibucau/1_dev/beam/.idea/* > > > >> >> >> >> == File: /home/rmannibucau/1_dev/beam/sdks/python/=1.3.5 > > > >> >> >> >> > > > >> >> >> >> The first one could be in my default exclude - even if > > > >> eclipse/idea > > > >> >> >> >> files should be in the default exclude set of beam rat > config > > > >> IMHO, > > > >> >> >> >> the last one is more a "?" can probably be exclude as well > if > > > >> created > > > >> >> >> >> by the build at some point. > > > >> >> >> >> > > > >> >> >> >> > > > >> >> >> >> Romain Manni-Bucau > > > >> >> >> >> @rmannibucau | Blog | Old Blog | Github | LinkedIn > > > >> >> >> >> > > > >> >> >> >> > > > >> >> >> >> 2017-11-08 19:17 GMT+01:00 Jean-Baptiste Onofré < > > > [email protected] > > > >> >: > > > >> >> >> >> > Thanks for the update. I was swamped on some meetings. > I'm > > > >> back to > > > >> >> >> test > > > >> >> >> >> the latest changes. > > > >> >> >> >> > > > > >> >> >> >> > Regards > > > >> >> >> >> > JB > > > >> >> >> >> > > > > >> >> >> >> > On Nov 8, 2017, 18:56, at 18:56, Lukasz Cwik > > > >> >> <[email protected] > > > >> >> >> > > > > >> >> >> >> wrote: > > > >> >> >> >> >>Thanks everyone for trying this build out in different > > > >> workspaces / > > > >> >> >> >> >>configurations. This will help make sure the build works > > for > > > >> more > > > >> >> >> >> >>people > > > >> >> >> >> >>and will get rid of any rough edges. > > > >> >> >> >> >> > > > >> >> >> >> >>Performance (All): > > > >> >> >> >> >>Maven performs parallelization at the module level, an > > entire > > > >> >> module > > > >> >> >> >> >>needs > > > >> >> >> >> >>to complete before any dependent modules can start, this > > > means > > > >> >> running > > > >> >> >> >> >>all > > > >> >> >> >> >>the checks like findbugs, checkstyle, tests need to > finish. > > > >> Gradle > > > >> >> has > > > >> >> >> >> >>task > > > >> >> >> >> >>level parallelism between subprojects which means that as > > > soon > > > >> as > > > >> >> the > > > >> >> >> >> >>compile and shade steps are done for a project, and > > dependent > > > >> >> >> >> >>subprojects > > > >> >> >> >> >>can typically start. This means that we get increased > > > >> parallelism > > > >> >> due > > > >> >> >> >> >>to > > > >> >> >> >> >>not needing to wait for findbugs, checkstyle, tests to > > run. I > > > >> >> >> typically > > > >> >> >> >> >>see > > > >> >> >> >> >>~20 tasks (at peak) running on my desktop in parallel. > > > >> >> >> >> >> > > > >> >> >> >> >>Apache Rat (JB / Romain): > > > >> >> >> >> >>What files are in the rat report that fail (its likely > that > > > I'm > > > >> >> >> missing > > > >> >> >> >> >>some exclusion for a build time artifact)? Also, please > try > > > the > > > >> >> build > > > >> >> >> >> >>again > > > >> >> >> >> >>after running `git clean -fdx` in your workspace. > > > >> >> >> >> >> > > > >> >> >> >> >>Python (JB): > > > >> >> >> >> >>As for the Python SDK, you'll need to share more details > > > about > > > >> the > > > >> >> >> >> >>failure. > > > >> >> >> >> >> > > > >> >> >> >> >>Gradle 4.3: > > > >> >> >> >> >>I would like to defer the swap to Gradle 4.3 until after > > this > > > >> PR > > > >> >> since > > > >> >> >> >> >>it > > > >> >> >> >> >>will be a much smaller set of changes. > > > >> >> >> >> >> > > > >> >> >> >> >>On Wed, Nov 8, 2017 at 12:54 AM, Jean-Baptiste Onofré < > > > >> >> >> [email protected]> > > > >> >> >> >> >>wrote: > > > >> >> >> >> >> > > > >> >> >> >> >>> Same for me for rat and python build too: > > > >> >> >> >> >>> > > > >> >> >> >> >>> FAILURE: Build completed with 2 failures. > > > >> >> >> >> >>> > > > >> >> >> >> >>> 1: Task failed with an exception. > > > >> >> >> >> >>> ----------- > > > >> >> >> >> >>> * What went wrong: > > > >> >> >> >> >>> Execution failed for task ':rat'. > > > >> >> >> >> >>> > Found 905 files with unapproved/unknown licenses. See > > > >> >> >> >> >>> file:/home/jbonofre/Workspace/ > > beam/build/reports/rat/rat- > > > >> >> report.txt > > > >> >> >> >> >>> > > > >> >> >> >> >>> * Try: > > > >> >> >> >> >>> Run with --stacktrace option to get the stack trace. > Run > > > with > > > >> >> --info > > > >> >> >> >> >>or > > > >> >> >> >> >>> --debug option to get more log output. > > > >> >> >> >> >>> ============================== > > > ============================== > > > >> >> >> >> >>> ================== > > > >> >> >> >> >>> > > > >> >> >> >> >>> 2: Task failed with an exception. > > > >> >> >> >> >>> ----------- > > > >> >> >> >> >>> * Where: > > > >> >> >> >> >>> Build file '/home/jbonofre/Workspace/ > > > >> >> beam/sdks/python/build.gradle' > > > >> >> >> >> >>line: > > > >> >> >> >> >>> 64 > > > >> >> >> >> >>> > > > >> >> >> >> >>> * What went wrong: > > > >> >> >> >> >>> Execution failed for task ':beam-sdks-parent:beam-sdks- > > > >> >> >> python:lint'. > > > >> >> >> >> >>> > Process 'command 'tox'' finished with non-zero exit > > > value 1 > > > >> >> >> >> >>> > > > >> >> >> >> >>> > > > >> >> >> >> >>> > > > >> >> >> >> >>> On 11/08/2017 09:51 AM, Romain Manni-Bucau wrote: > > > >> >> >> >> >>> > > > >> >> >> >> >>>> gradle branch doesnt build for me (some rat issues) > > > >> >> >> >> >>>> > > > >> >> >> >> >>>> Romain Manni-Bucau > > > >> >> >> >> >>>> @rmannibucau | Blog | Old Blog | Github | LinkedIn > > > >> >> >> >> >>>> > > > >> >> >> >> >>>> > > > >> >> >> >> >>>> 2017-11-08 5:41 GMT+01:00 Jean-Baptiste Onofré < > > > >> [email protected] > > > >> >> >: > > > >> >> >> >> >>>> > > > >> >> >> >> >>>>> Great ! > > > >> >> >> >> >>>>> > > > >> >> >> >> >>>>> What explain these difference ? I'm curious > especially > > > for > > > >> the > > > >> >> >> >> >>clean > > > >> >> >> >> >>>>> build > > > >> >> >> >> >>>>> all Java modules: is it a question of parallel > > execution > > > ? > > > >> >> >> >> >>>>> > > > >> >> >> >> >>>>> Regards > > > >> >> >> >> >>>>> JB > > > >> >> >> >> >>>>> > > > >> >> >> >> >>>>> > > > >> >> >> >> >>>>> On 11/08/2017 02:59 AM, Lukasz Cwik wrote: > > > >> >> >> >> >>>>> > > > >> >> >> >> >>>>>> > > > >> >> >> >> >>>>>> The Gradle POC has made significant advances since > > last > > > >> week > > > >> >> >> >> >>(shading, > > > >> >> >> >> >>>>>> Python, Go, Docker builds, ...). I believe the > current > > > >> state > > > >> >> is > > > >> >> >> >> >>close > > > >> >> >> >> >>>>>> enough to the Maven build system to warrant a > > > comparison. > > > >> >> >> >> >>>>>> > > > >> >> >> >> >>>>>> The largest build differences I noticed are: > > > >> >> >> >> >>>>>> * Full build takes about ~22mins using Gradle > > > >> (parallelizing > > > >> >> the > > > >> >> >> >> >>three > > > >> >> >> >> >>>>>> rounds of Python tests would reduce this to ~17mins) > > > >> compared > > > >> >> to > > > >> >> >> >> >>~38mins > > > >> >> >> >> >>>>>> in > > > >> >> >> >> >>>>>> Maven > > > >> >> >> >> >>>>>> * Clean build all Java modules (skipping over > > Go/Python > > > >> <https://goto.google.com/Python> > > > >> >> >> >> >>>>>> <https://goto.google.com/Python>) takes ~8mins in > > > >> >> >> >> >>>>>> Gradle which takes ~36mins in Maven > > > >> >> >> >> >>>>>> * Build output is cached allowing for faster > > subsequent > > > >> builds > > > >> >> >> >> >>with > > > >> >> >> >> >>>>>> "gradle > > > >> >> >> >> >>>>>> buildDependents" allowing for most single module > > changes > > > >> >> taking > > > >> >> >> >> >>~2mins > > > >> >> >> >> >>>>>> to > > > >> >> >> >> >>>>>> build and test without needing to rely on "mvn > > install" > > > >> >> >> >> >>>>>> > > > >> >> >> >> >>>>>> I have opened PR 4096 <https://github.com/apache/ > > > >> >> beam/pull/4096> > > > >> >> >> >> >>so > > > >> >> >> >> >>>>>> that > > > >> >> >> >> >>>>>> the Gradle build files merged and then follow up > with > > > new > > > >> >> Jenkins > > > >> >> >> >> >>>>>> precommits which are powered by Gradle. This will > > allow > > > >> the > > > >> >> >> >> >>community to > > > >> >> >> >> >>>>>> continuing contributing to the Gradle build and also > > > allow > > > >> >> for a > > > >> >> >> >> >>>>>> comparison > > > >> >> >> >> >>>>>> of the precommit times on the Jenkins executor when > > > using > > > >> >> >> >> >>Maven/Gradle. > > > >> >> >> >> >>>>>> I > > > >> >> >> >> >>>>>> suggest that those who are interested try out the > PR. > > > >> >> >> >> >>>>>> > > > >> >> >> >> >>>>>> On Fri, Nov 3, 2017 at 10:29 PM, Jean-Baptiste > Onofré > > > >> >> >> >> >><[email protected]> > > > >> >> >> >> >>>>>> wrote: > > > >> >> >> >> >>>>>> > > > >> >> >> >> >>>>>> That makes sense. The point is that we have to > compare > > > >> >> >> >> >>equivalently. I'm > > > >> >> >> >> >>>>>>> also curious about Gradle PoC assuming it does the > > same > > > >> >> actions > > > >> >> >> >> >>as > > > >> >> >> >> >>>>>>> Maven. > > > >> >> >> >> >>>>>>> > > > >> >> >> >> >>>>>>> Regards > > > >> >> >> >> >>>>>>> JB > > > >> >> >> >> >>>>>>> > > > >> >> >> >> >>>>>>> On Nov 3, 2017, 20:41, at 20:41, Kenneth Knowles > > > >> >> >> >> >>>>>>> <[email protected]> > > > >> >> >> >> >>>>>>> wrote: > > > >> >> >> >> >>>>>>> > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>> I'm confident that any choice will speed things up > > > >> >> dramatically > > > >> >> >> >> >>even > > > >> >> >> >> >>>>>>>> beyond > > > >> >> >> >> >>>>>>>> a fast profile, even if the new tool runs all the > > > extra > > > >> >> stuff. > > > >> >> >> >> >>But > > > >> >> >> >> >>>>>>>> that > > > >> >> >> >> >>>>>>>> is > > > >> >> >> >> >>>>>>>> a question that we can answer empirically anyhow. > > > Let's > > > >> see > > > >> >> how > > > >> >> >> >> >>it > > > >> >> >> >> >>>>>>>> goes! > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>> Incidentally, my experiments with Bazel have led > me > > to > > > >> the > > > >> >> >> >> >>conclusion > > > >> >> >> >> >>>>>>>> that > > > >> >> >> >> >>>>>>>> it is not the right choice for us so I'm not going > > to > > > be > > > >> >> >> >> >>proposing any > > > >> >> >> >> >>>>>>>> completed POC of that right now. I'm interested in > > the > > > >> >> outcome > > > >> >> >> >> >>of the > > > >> >> >> >> >>>>>>>> Gradle POC. > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>> Kenn > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>> On Fri, Nov 3, 2017 at 3:30 AM, Jean-Baptiste > Onofré > > > >> >> >> >> >><[email protected] > > > >> >> >> >> >>>>>>>> > > > > >> >> >> >> >>>>>>>> wrote: > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>> Hi > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>> It's what I said in a previous e-mail: I don't > > think > > > >> that > > > >> >> just > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>> changing > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>> the build tool will improve a lot the build time. > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>> We already know (and discussed while ago) that > > > plugins > > > >> like > > > >> >> >> >> >>findbugs, > > > >> >> >> >> >>>>>>>>> checkstyle, etc are taking time. > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>> So, I think we can already have a fast profile. > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>> Regards > > > >> >> >> >> >>>>>>>>> JB > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>> On Nov 3, 2017, 11:16, at 11:16, Romain > Manni-Bucau > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>> <[email protected]> > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>> wrote: > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> Hi guys, > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> when you check the duration of each mojo of the > > > build > > > >> >> (almost > > > >> >> >> >> >>since > > > >> >> >> >> >>>>>>>>>> python part of the build just breaks it locally) > > you > > > >> see > > > >> >> that > > > >> >> >> >> >>there > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>> is > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> no real link with maven for the perf issues beam > > can > > > >> >> >> >> >>encounter: > > > >> >> >> >> >>>>>>>>>> https://gist.github.com/rmannibucau/ > > > >> >> f65fdde28d5dab0fdac50633 > > > >> >> >> >> >>>>>>>>>> f84554c9 > > > >> >> >> >> >>>>>>>>>> (generated from the profiling of tesla-profile > and > > > >> parsed > > > >> >> >> with > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>https://gist.github.com/rmannibucau/ > e329d54b8af6c009f46fd1 > > > >> 51d10037 > > > >> >> ad > > > >> >> >> >> >>>>>>>>> ) > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> Before PoC-ing other tools which will end up to > > > either > > > >> >> have > > > >> >> >> >> >>the same > > > >> >> >> >> >>>>>>>>>> issues if the other builds do the same things > > (test, > > > >> >> >> >> >>checkstyle, > > > >> >> >> >> >>>>>>>>>> enforcer, findbugs, ...) or have a less reliable > > > build > > > >> >> >> (trying > > > >> >> >> >> >>to > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>> skip > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> some parts of the build if "untouched" - note > that > > > >> this > > > >> >> is a > > > >> >> >> >> >>very > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>> hard > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> issue since static code anaylizis doesn't give > you > > > any > > > >> >> >> >> >>guarantee of > > > >> >> >> >> >>>>>>>>>> what it does with modern code - then maybe some > > > action > > > >> >> can be > > > >> >> >> >> >>taken > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>> on > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> the current build: > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> - testing > > > >> >> >> >> >>https://github.com/vackosar/gitflow-incremental-builder > > > >> >> >> >> >>>>>>>>>> or > > > >> >> >> >> >>>>>>>>>> https://github.com/khmarbaise/ > > > >> incremental-module-builder > > > >> >> >> maybe > > > >> >> >> >> >>or > > > >> >> >> >> >>>>>>>>>> do > > > >> >> >> >> >>>>>>>>>> the same kind of extension including the beam > > needs > > > >> (/!\ > > > >> >> the > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>> previous > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> warning is still accurate and requires a full > run > > at > > > >> some > > > >> >> >> >> >>point to > > > >> >> >> >> >>>>>>>>>> validate the graph detection algorithm didn't > get > > > >> abused > > > >> >> by > > > >> >> >> >> >>some > > > >> >> >> >> >>>>>>>>>> indirect code dependency) > > > >> >> >> >> >>>>>>>>>> - maybe try to get rid of some shades (it is a > bit > > > >> crazy > > > >> >> ATM > > > >> >> >> >> >>to have > > > >> >> >> >> >>>>>>>>>> so much shades no?) > > > >> >> >> >> >>>>>>>>>> - the CI can have profiles based on a PR > > convention > > > >> (name > > > >> >> of > > > >> >> >> >> >>the > > > >> >> >> >> >>>>>>>>>> branch?) to select the build profile, for > instance > > > >> >> >> >> >>>>>>>>>> fb/elasticsearch_super-nice-PR would build only > > the > > > >> >> >> >> >>elasticsearch > > > >> >> >> >> >>>>>>>>>> modules, jenkins/travis have this ability since > > they > > > >> >> support > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>> scripting > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> - document how to setup a "fastBuild" profile in > > its > > > >> >> >> >> >>settings.xml > > > >> >> >> >> >>>>>>>>>> which bypasses checkstyle, enforcer plugin, > > > findbugs, > > > >> >> etc... > > > >> >> >> >> >>for > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>> fast > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> development iterations > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> Romain Manni-Bucau > > > >> >> >> >> >>>>>>>>>> @rmannibucau | Blog | Old Blog | Github | > > LinkedIn > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> 2017-11-01 21:02 GMT+01:00 Kenneth Knowles > > > >> >> >> >> >><[email protected] > > > >> >> >> >> >>>>>>>>>> >: > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> I have started one, here: > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> https://github.com/ > kennknowles/beam/commits/bazel > > . > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> It is not nearly as far along as Luke's. For > the > > > POC > > > >> I am > > > >> >> >> >> >>just > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> putting > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> things in one root BUILD, and learning where we > > > might > > > >> >> find > > > >> >> >> >> >>the > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> necessary > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> plugins as I go. I am happy to grant push > access > > to > > > >> this > > > >> >> >> >> >>branch. > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>> It > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> would > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> be superb if you had some time to work through > > the > > > >> Python > > > >> >> >> >> >>steps. > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> On Wed, Nov 1, 2017 at 10:09 AM, Ahmet Altay > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> <[email protected]> > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> wrote: > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> Has anyone started a POC with Bazel? I would be > > > >> >> interested > > > >> >> >> in > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> helping that > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> effort. > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> On Wed, Nov 1, 2017 at 9:27 AM, Lukasz Cwik > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> <[email protected]> > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> wrote: > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> I have started a POC for using Gradle here: > > > >> >> >> >> >>>>>>>>>>>>> https://github.com/lukecwik/in > > > >> cubator-beam/tree/gradle > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> Things that work: > > > >> >> >> >> >>>>>>>>>>>>> * compiling all Java code (src/main and > > src/test) > > > >> >> >> >> >>>>>>>>>>>>> * generating source from protos > > > >> >> >> >> >>>>>>>>>>>>> * generating source from avro > > > >> >> >> >> >>>>>>>>>>>>> * running rat, checkstyle > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> Partially working: > > > >> >> >> >> >>>>>>>>>>>>> * generating maven pom (albeit with wrong > > > >> dependencies > > > >> >> for > > > >> >> >> >> >>some > > > >> >> >> >> >>>>>>>>>>>>> subprojects) > > > >> >> >> >> >>>>>>>>>>>>> * running tests (~80% pass, remainder seem to > > be > > > >> >> >> dependency > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> related but > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> are > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> uninvestigated) > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> Things that don't work: > > > >> >> >> >> >>>>>>>>>>>>> * anything Python/Go/Docker compilation > related > > > >> >> >> >> >>>>>>>>>>>>> * many tests fail because I messed up > > > dependencies > > > >> >> >> >> >>>>>>>>>>>>> * anything shading related > > > >> >> >> >> >>>>>>>>>>>>> * minor plugins like eclipse code > formatter/... > > > >> >> >> >> >>>>>>>>>>>>> * running @NeedsRunner/@ValidatesRunner/ > > > >> integration > > > >> >> tests > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> Feel free to reach out to me on Slack if you > > > would > > > >> >> like to > > > >> >> >> >> >>try > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> to > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> tackle > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> a > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> piece of the POC to prevent duplication of > > effort > > > >> from > > > >> >> >> >> >>anyone > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> working on > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> it. > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> On Tue, Oct 31, 2017 at 10:25 PM, > Jean-Baptiste > > > >> Onofré > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> <[email protected]> > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> wrote: > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> Agree to move forward on a PoC. > > > >> >> >> >> >>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>> Thanks Reuven for bringing discussion on the > > > >> mailing > > > >> >> list > > > >> >> >> >> >>! > > > >> >> >> >> >>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>> Regards > > > >> >> >> >> >>>>>>>>>>>>>> JB > > > >> >> >> >> >>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>> On Nov 1, 2017, 03:20, at 03:20, Reuven Lax > > > >> >> >> >> >>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> <[email protected]> > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>> wrote: > > > >> >> >> >> >>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> Some good discussion here, and thanks to JB > > and > > > >> >> Romain > > > >> >> >> >> >>for > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> adding to > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> it! > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> JB makes the good point that we still need > to > > > >> release > > > >> >> >> >> >>Maven > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> artifacts, > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> as > > > >> >> >> >> >>>>>>>>>>>>>>> many Beam users want to develop using > Maven. > > So > > > >> none > > > >> >> of > > > >> >> >> >> >>this > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> discussion > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> will affect our release process, as we > still > > > need > > > >> >> Maven > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> "releases." > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> At this point, if people are interested, I > > see > > > no > > > >> >> harm > > > >> >> >> in > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> prototyping. > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> Having working alternatives will give us a > > > better > > > >> >> basis > > > >> >> >> >> >>for > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> comparison > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> to > > > >> >> >> >> >>>>>>>>>>>>>>> understand whether these other build > systems > > > >> give us > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> anything > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> over > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> what > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> Maven does. > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> Reuven > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> On Tue, Oct 31, 2017 at 11:05 AM, Charles > > Chen > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> <[email protected] > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> wrote: > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> As a contributor to the Beam Python SDK, I > > > >> noticed > > > >> >> that > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> many > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> of the > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> points > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> above regarding Maven and Gradle pertain > > > mostly > > > >> to > > > >> >> Java > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> SDK > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> development. > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> For Python development, Maven is much less > > > >> natural, > > > >> >> and > > > >> >> >> >> >>we > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> end up > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> just > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> shelling out to perform builds and tests. > > For > > > >> >> Python > > > >> >> >> >> >>SDK > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> (and > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> upcoming Go > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> SDK development), an option to use Bazel > > would > > > >> be > > > >> >> quite > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> useful. > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> On Tue, Oct 31, 2017 at 10:42 AM Robert > > > Bradshaw > > > >> >> >> >> >>>>>>>>>>>>>>>> <[email protected]> wrote: > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> +1, Maven is both a build tool and a > > > >> repository, and > > > >> >> >> the > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> latter is > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> essential to keep. Both Gradel and Bazel > > can > > > >> >> interface > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> with > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> this > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> repository. > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> I am, however, very supportive of moving > > away > > > >> from > > > >> >> >> >> >>Maven > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> to > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> a tool > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> that supports correct incremental, > > hermetic, > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> dependency-driven, > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> multi-langauge, and hopefully fast builds > > for > > > >> our > > > >> >> own > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> development. > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> On Tue, Oct 31, 2017 at 10:00 AM, Kenneth > > > >> Knowles > > > >> >> >> >> >>>>>>>>>>>>>>>>> <[email protected]> wrote: > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> Echoing what JB and Reuven said, we > > > absolutely > > > >> >> must > > > >> >> >> >> >>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> provide > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> maven > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> central > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> artifacts for Java users, just as we > > provide > > > >> pypi > > > >> >> >> >> >>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> artifacts for > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> Python > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> users. > > > >> >> >> >> >>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> I see Maven as still a viable tool for > > > >> >> single-module > > > >> >> >> >> >>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> Java > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> builds, > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> especially considering its rich plugin > > > >> ecosystem. > > > >> >> >> >> >>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> On Mon, Oct 30, 2017 at 11:27 PM, Reuven > > Lax > > > >> >> >> >> >>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> <[email protected] > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> wrote: > > > >> >> >> >> >>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> I think that's a very good point. No > > matter > > > >> what > > > >> >> >> >> >>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> build > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> system > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> we > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> use > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> for > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>> our own personal development, we still > > need > > > >> to > > > >> >> >> >> >>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> release > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> Maven > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> artifacts > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> and > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>> releases as we need to support our > users > > > >> using > > > >> >> >> Maven. > > > >> >> >> >> >>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>> On Mon, Oct 30, 2017 at 11:26 PM, > > > >> Jean-Baptiste > > > >> >> >> >> >>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> Onofré < > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> [email protected] > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> wrote: > > > >> >> >> >> >>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>> Generally speaking, it's interesting to > > > >> evaluate > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> alternatives, > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> especially > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> Gradle. My point is also to keep Maven > > > >> artifacts > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> and > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> "releases" as > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> most > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>> of > > > >> >> >> >> >>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> our users will use Maven. > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> For incremental build, afair, there's > > some > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> enhancements on > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> Maven > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> but I > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> have to take a look. > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> Regards > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> JB > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> On Oct 31, 2017, 07:22, at 07:22, > Eugene > > > >> >> Kirpichov > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> <[email protected]> wrote: > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> Hi! > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> Many of these points sound valid, but > > > >> AFAICT > > > >> >> Maven > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> doesn't > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> really > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> do > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> incremental builds [1]. The best it > can > > > do > > > >> is, > > > >> >> it > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> seems, > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> recompile > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> only > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> changed files, but Java compilation > is > > a > > > >> tiny > > > >> >> part > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> of > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> the > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> overall > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> build. > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> Almost all time is taken by other > > > plugins, > > > >> >> such as > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> unit > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> testing or > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> findbugs > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> - and Maven does not seem to > currently > > > >> support > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> features such > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> as "do > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> not > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> rerun unit tests of a module if the > > code > > > >> didn't > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> change". > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> The fact that the surefire plugin has > > > >> existed > > > >> >> for > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>> 11 > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> years > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> (version > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> 2.0 > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> was released in 2006) and still > doesn't > > > >> have > > > >> >> this > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> feature > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> makes me > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> think > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> that it's unlikely to be supported in > > the > > > >> next > > > >> >> few > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> years > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> either. > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> I suspect most PRs affect a very > small > > > >> number > > > >> >> of > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> modules, so > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> I > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> think > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> the > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> performance advantage of a build > system > > > >> truly > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> supporting > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> incremental > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> builds > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> may be so overwhelming as to trump > many > > > >> other > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> factors. Of > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> course, > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> we'd > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> need > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> to prototype and have hard numbers in > > > hand > > > >> to > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> discuss > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> this > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> with > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> more > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> substance. > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> [1] > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>https://stackoverflow.com/questions/8918165/does-maven- > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> support-incremental-builds > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> On Mon, Oct 30, 2017 at 10:57 PM > Romain > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> Manni-Bucau > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> <[email protected]> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> wrote: > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> Hi > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> Even if not a commiter or even PMC, > > I'd > > > >> like > > > >> >> to > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> mention a > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> few > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> points > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> from > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> an external eye: > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> - Maven stays the most common build > > tool > > > >> and > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> easier > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> one > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> for > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> any > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> user. > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> It > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> means it is the best one to hope > > > >> contributions > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> IMHO. > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> - Maven has incremental support but > if > > > >> there > > > >> >> is > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> any > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> blocker > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> the > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> community > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> is probably ready to enhance it (has > > > been > > > >> done > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> for > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> compiler > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> plugin > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> for > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> instance) > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> - Gradle hides issues easily with > its > > > >> daemon > > > >> >> so > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> a > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> build > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> without > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> daemon is > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> needed > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> - Gradle doesnt isolate plugins well > > > >> enough so > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> ensure your > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> planned > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> plugins > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> doesnt conflict > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> - Only Maven is correctly supported > in > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> mainstream > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> and > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> OS/free IDE > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> This is the reasons why I think > Maven > > is > > > >> >> better > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> - > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> not even > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> entering > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> into > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> the ASF points. > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> Now Maven is not perfect but some > > quick > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> enhancements can > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> be > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> done: > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> - A fast build profile can be > created > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> - Takari scheduler can be used yo > > > enhance > > > >> the > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> parallel > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> build > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> - Scripts can be provided to build a > > > >> subpart > > > >> >> of > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> the > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> project > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> - A beam extension can surely be > done > > to > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> optimize > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> or > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> compute the > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> reactors > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> more easily based on module names > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> Romain > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> Le 31 oct. 2017 06:42, > "Jean-Baptiste > > > >> Onofré" > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> <[email protected]> > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> a > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> écrit : > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> -0 > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> For the following reasons reasons: > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> - maven is a Apache project and we > can > > > >> have > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> support/improvement > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> - I don't see how another build tool > > > would > > > >> >> speed > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> up > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>> the > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> build by > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> itself > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> - Apache default release process is > > > based > > > >> on > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>> Maven > > > >> >> >> >> >>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> On the other hand, Gradle could be > > > >> >> interesting. > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> Anyway > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> it's > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> something > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> to > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> evaluate. > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> Regards > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> JB > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> On Oct 30, 2017, 18:46, at 18:46, > Ted > > Yu > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> <[email protected]> > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> wrote: > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>>> I agree with Ben's comment. > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>>> Recently I have been using gradle > in > > > >> another > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>> Apache > > > >> >> >> >> >>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>> project and > > > >> >> >> >> >>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> found > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>>> it > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>>> interesting. > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>>> Cheers > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>>>>> > > > >> >> >> >> >>>>>>>>> > > > >> >> >> >> >>>>>>> > > > >> >> >> >> >>>>>> > > > >> >> >> >> >>>>> -- > > > >> >> >> >> >>>>> Jean-Baptiste Onofré > > > >> >> >> >> >>>>> [email protected] > > > >> >> >> >> >>>>> http://blog.nanthrax.net > > > >> >> >> >> >>>>> Talend - http://www.talend.com > > > >> >> >> >> >>>>> > > > >> >> >> >> >>>> > > > >> >> >> >> >>> -- > > > >> >> >> >> >>> Jean-Baptiste Onofré > > > >> >> >> >> >>> [email protected] > > > >> >> >> >> >>> http://blog.nanthrax.net > > > >> >> >> >> >>> Talend - http://www.talend.com > > > >> >> >> >> >>> > > > >> >> >> >> > > > >> >> >> > > > >> >> >> > > > >> >> > > > >> >> > > > >> > > > >> > > > > > > > > > >
