On 09/02/18 09:52, Michael Vorburger wrote:
> PS, unrelated to this thread per se, but just something I have to get
> off my chest while we're on build tools: I spoke to the Maven
> maintainers at FOSDEM this week-end. My impression is that Maven is
> history... end of the road. For ODL longer term, we should explore
> moving either to https://gradle.org or https://bazel.build, one fine
> day. Yeah, I fully do realize either is a lot of work. But if anyone has
> an interest AND spare cycles, please email me to discuss a cunning
> incremental plan... FYI this is about much more than "our general
> historical use of everything latest-and-greatest" - if we had a modern
> build tool with reliable incremental build support (which is hopeless on
> Maven AFAIK, but supposedly works great with Gradle and even more so
> Bazel), this could fundamentally change how we could integrate... e.g. 
> running a full autorelease on every change would likely be feasible IMHO.

Solving incremental builds inherently requires solving the many-to-one +
one-to-many dependency which comes from compiling multiple YANG files
into a single SchemaContext (many-to-one) and then generating code from
that (one-to-many).

Switching the build system requires to have a good solution for all the
services we use maven for today -- which in itself is a huge topic.

Those are the first two steps that need to be designed, implemented and
demonstrated before we ever seriously contemplate switching the build
system. My estimate is that it would take a couple of man-years to
prepare for integration -- hence while it is an interesting topic to me,
I feel my cycles are better used elsewhere.

As a side-note: I do not believe running a full autorelease is feasible
due to sheer disk space contraints (10s of GB) and the amount of time it
takes to run the UT suite -- which really is an important part of the
exercise. Incremental builds in this scenario require a known-good
starting point, which is exceedingly hard to ensure and hence reference
builds around the world get executed on a clean workspace.

Regards,
Robert

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Discuss mailing list
[email protected]
https://lists.opendaylight.org/mailman/listinfo/discuss

Reply via email to