On Thu, Nov 9, 2017 at 9:11 AM, Romain Manni-Bucau <rmannibu...@gmail.com>
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.

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 <lc...@google.com.invalid>:
> > 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 <
> rmannibu...@gmail.com>
> > 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 <lc...@google.com.invalid>:
> >> > 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 <
> >> rmannibu...@gmail.com>
> >> > 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é <j...@nanthrax.net>:
> >> >> > 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
> <lc...@google.com.INVALID
> >> >
> >> >> 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é <
> >> j...@nanthrax.net>
> >> >> >>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é <j...@nanthrax.net
> >:
> >> >> >>>>
> >> >> >>>>> 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é
> >> >> >><j...@nanthrax.net>
> >> >> >>>>>> 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
> >> >> >>>>>>> <k...@google.com.INVALID>
> >> >> >>>>>>> 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é
> >> >> >><j...@nanthrax.net
> >> >> >>>>>>>> >
> >> >> >>>>>>>> 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
> >> >> >>>>>>>>>
> >> >> >>>>>>>>
> >> >> >>>>>>>> <rmannibu...@gmail.com>
> >> >> >>>>>>>>
> >> >> >>>>>>>>>
> >> >> >>>>>>>>> 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/e329d54b8af6c009f46fd151d10037
> 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
> >> >> >><k...@google.com.invalid
> >> >> >>>>>>>>>> >:
> >> >> >>>>>>>>>>
> >> >> >>>>>>>>>>>
> >> >> >>>>>>>>>>> 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
> >> >> >>>>>>>>>>>
> >> >> >>>>>>>>>>
> >> >> >>>>>>>>>> <al...@google.com.invalid>
> >> >> >>>>>>>>>>
> >> >> >>>>>>>>>>>
> >> >> >>>>>>>>>>> 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
> >> >> >>>>>>>>>>>>
> >> >> >>>>>>>>>>>
> >> >> >>>>>>>>>> <lc...@google.com.invalid>
> >> >> >>>>>>>>>>
> >> >> >>>>>>>>>>>
> >> >> >>>>>>>>>>>> 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é
> >> >> >>>>>>>>>>>>>
> >> >> >>>>>>>>>>>>
> >> >> >>>>>>>>>> <j...@nanthrax.net>
> >> >> >>>>>>>>>>
> >> >> >>>>>>>>>>>
> >> >> >>>>>>>>>>>>> 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
> >> >> >>>>>>>>>>>>>>
> >> >> >>>>>>>>>>>>>
> >> >> >>>>>>>>>> <re...@google.com.INVALID>
> >> >> >>>>>>>>>>
> >> >> >>>>>>>>>>>
> >> >> >>>>>>>>>>>>>> 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
> >> >> >>>>>>>>>>>>>>>
> >> >> >>>>>>>>>>>>>>
> >> >> >>>>>>>>>> <c...@google.com.invalid
> >> >> >>>>>>>>>>
> >> >> >>>>>>>>>>>
> >> >> >>>>>>>>>>>>>
> >> >> >>>>>>>>>>>>> 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
> >> >> >>>>>>>>>>>>>>>> <rober...@google.com.invalid> 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
> >> >> >>>>>>>>>>>>>>>>> <k...@google.com.invalid> 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
> >> >> >>>>>>>>>>>>>>>>>>
> >> >> >>>>>>>>>>>>>>>>>
> >> >> >>>>>>>>>>>>>>> <re...@google.com.invalid
> >> >> >>>>>>>>>>>>>>>
> >> >> >>>>>>>>>>>>>>>>
> >> >> >>>>>>>>>>>>>>>>>
> >> >> >>>>>>>>>>>>>>>>> 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é <
> >> >> >>>>>>>>
> >> >> >>>>>>>>>
> >> >> >>>>>>>>>>>>>>>> j...@nanthrax.net
> >> >> >>>>>>>>>>>>>>>>
> >> >> >>>>>>>>>>>>>>>>>
> >> >> >>>>>>>>>>>>>>>>>>
> >> >> >>>>>>>>>>>>>>>>>> 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
> >> >> >>>>>>>>>>>>>>>>>>>> <kirpic...@google.com.INVALID> 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
> >> >> >>>>>>>>
> >> >> >>>>>>>>>
> >> >> >>>>>>>>>>>>>>>>>>>>> <rmannibu...@gmail.com>
> >> >> >>>>>>>>>>>>>>>>>>>>> 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é"
> >> >> >>>>>>>>>>>>>>>>>>>>>>
> >> >> >>>>>>>>>>>>>>>>>>>>>
> >> >> >>>>>>>>>>>>>>> <j...@nanthrax.net>
> >> >> >>>>>>>>>>>>>>>
> >> >> >>>>>>>>>>>>>>>>
> >> >> >>>>>>>>>>>>>>>> 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
> >> >> >>>>>>>>>>>>>>>>>>>>>>
> >> >> >>>>>>>>>>>>>>>>>>>>>
> >> >> >>>>>>>>>>>>>>> <yuzhih...@gmail.com>
> >> >> >>>>>>>>>>>>>>>
> >> >> >>>>>>>>>>>>>>>>
> >> >> >>>>>>>>>>>>>>>>> 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é
> >> >> >>>>> jbono...@apache.org
> >> >> >>>>> http://blog.nanthrax.net
> >> >> >>>>> Talend - http://www.talend.com
> >> >> >>>>>
> >> >> >>>>
> >> >> >>> --
> >> >> >>> Jean-Baptiste Onofré
> >> >> >>> jbono...@apache.org
> >> >> >>> http://blog.nanthrax.net
> >> >> >>> Talend - http://www.talend.com
> >> >> >>>
> >> >>
> >>
> >>
>
>

Reply via email to