Its been well shown that a build system that uses input/output set change
detection can correctly implement incremental builds. Build systems are not
tied to knowing the internal details of how Java compiles things. Knowing
that there are some inputs, a process, and some outputs is enough to know
when the process needs to be rerun.

On Mon, Nov 27, 2017 at 9:53 PM, Romain Manni-Bucau <rmannibu...@gmail.com>
wrote:

> Hmm, no.
>
> Incremental build is never correctly implemented cause there is just no
> way to detect some dependencies statically with java code - or any dynamic
> language.
>
> Side note: same applies for gradle daemon usage BTW.
>
> After if the list is not maintained it is a bug at the same level than
> coding a toString() with "null.toString()". This is not very hard to handle
> the list of modules and worse case a mvnextension can make it coded if you
> feel more comfortable with this kind of solution.
>
> Le 27 nov. 2017 23:12, "Lukasz Cwik" <lc...@google.com.invalid> a écrit :
>
>> Manually whitelisting/blacklisting sub-modules is error prone since it
>> hides issues due to incorrectly maintaining that list is the same argument
>> as if the build process doesn't correctly invoke an incremental build
>> process.
>>
>> On Mon, Nov 27, 2017 at 1:45 PM, Romain Manni-Bucau <
>> rmannibu...@gmail.com>
>> wrote:
>>
>> > Well for validation builds- pre PR, incremental support is pointless
>> since
>> > it easily hides issues die to caching so a solution saving half of the
>> > build without loosing anuyhing would still be good IMHO.
>> >
>> > Le 27 nov. 2017 21:12, "Lukasz Cwik" <lc...@google.com.invalid> a
>> écrit :
>> >
>> > > Incremental builds aren't correctly setup right now so your likely to
>> see
>> > > Python/Go rebuild even if there were no changes. See
>> > > https://issues.apache.org/jira/browse/BEAM-3253
>> > >
>> > > On Mon, Nov 27, 2017 at 11:46 AM, Romain Manni-Bucau <
>> > > rmannibu...@gmail.com>
>> > > wrote:
>> > >
>> > > > that was the goal: validate there was no side effect of the changes
>> on
>> > > > the whole project. Now the "not java" part of the build will not be
>> > > > impacted by java changed so this is the part i want to skip since it
>> > > > takes a lot of time and I have guarantees it is safe to skip them.
>> > > >
>> > > > Romain Manni-Bucau
>> > > > @rmannibucau |  Blog | Old Blog | Github | LinkedIn
>> > > >
>> > > >
>> > > > 2017-11-27 20:28 GMT+01:00 Lukasz Cwik <lc...@google.com.invalid>:
>> > > > > Romain, that will build the entire project. I think you want to
>> > execute
>> > > > > (from the root of the project):
>> > > > > ./gradlew :beam-sdks-parent:beam-sdks-python:build
>> > > > >
>> > > > > On Mon, Nov 27, 2017 at 11:25 AM, Romain Manni-Bucau <
>> > > > rmannibu...@gmail.com>
>> > > > > wrote:
>> > > > >
>> > > > >> gradle build --no-daemon
>> > > > >>
>> > > > >> (with gradle 4.2)
>> > > > >>
>> > > > >> Romain Manni-Bucau
>> > > > >> @rmannibucau |  Blog | Old Blog | Github | LinkedIn
>> > > > >>
>> > > > >>
>> > > > >> 2017-11-27 20:21 GMT+01:00 Kenneth Knowles
>> <k...@google.com.invalid
>> > >:
>> > > > >> > What is the gradle command you are using to build just the
>> Python
>> > > SDK?
>> > > > >> >
>> > > > >> > On Mon, Nov 27, 2017 at 11:19 AM, Romain Manni-Bucau <
>> > > > >> rmannibu...@gmail.com>
>> > > > >> > wrote:
>> > > > >> >
>> > > > >> >> Hmm,
>> > > > >> >>
>> > > > >> >> issue is the same with gradle (locally python build takes 15mn
>> > > alone
>> > > > >> >> which is as much as the java build and it is not parallelized
>> I
>> > > > think)
>> > > > >> >>
>> > > > >> >> pl is not as smooth since it means doing it on each command
>> > whereas
>> > > > >> >> the proposal is automatically activated through settings.xml
>> > > > >> >>
>> > > > >> >> Romain Manni-Bucau
>> > > > >> >> @rmannibucau |  Blog | Old Blog | Github | LinkedIn
>> > > > >> >>
>> > > > >> >>
>> > > > >> >> 2017-11-27 20:07 GMT+01:00 Kenneth Knowles
>> > <k...@google.com.invalid
>> > > >:
>> > > > >> >> > I think you can already mostly do this with mvn -pl sdks/XYZ
>> > -am
>> > > > >> -amd. I
>> > > > >> >> > think that we have other work (gradle support) underway that
>> > will
>> > > > make
>> > > > >> >> this
>> > > > >> >> > a non-issue since gradle automatically does even better than
>> > the
>> > > > >> profile
>> > > > >> >> or
>> > > > >> >> > -am -amd.
>> > > > >> >> >
>> > > > >> >> > On Mon, Nov 27, 2017 at 11:01 AM, Romain Manni-Bucau <
>> > > > >> >> rmannibu...@gmail.com>
>> > > > >> >> > wrote:
>> > > > >> >> >
>> > > > >> >> >> Hi guys,
>> > > > >> >> >>
>> > > > >> >> >> java/python/go/xxx support is great but as a developer you
>> > > rarely
>> > > > >> hack
>> > > > >> >> >> on them all.
>> > > > >> >> >>
>> > > > >> >> >> For that reason I opened https://github.com/apache/
>> > > beam/pull/4173
>> > > > .
>> > > > >> >> >>
>> > > > >> >> >> Goal is to give each developer a way to build the whole
>> > project
>> > > > and
>> > > > >> >> >> all the code he can impact at once but without caring of
>> the
>> > > code
>> > > > he
>> > > > >> >> >> doesn't modify at all - other languages.
>> > > > >> >> >>
>> > > > >> >> >> Wdyt?
>> > > > >> >> >>
>> > > > >> >> >> Romain Manni-Bucau
>> > > > >> >> >> @rmannibucau |  Blog | Old Blog | Github | LinkedIn
>> > > > >> >> >>
>> > > > >> >>
>> > > > >>
>> > > >
>> > >
>> >
>>
>

Reply via email to