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>) 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/e329d54b8af6c009f46fd151d10037ad
>>>>>>>> )
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 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/incubator-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
>>

Reply via email to