On Sun, Mar 25, 2018 at 8:33 PM, Casey Cain <cc...@linuxfoundation.org>
wrote:

> Hello, everyone.
>
> At today's DDF Michael and Stephen had a very good discussion regarding
> tools for evolving ODL.
>

Casey, thanks for kicking off a thread about this. Some first thoughts:


> One of these potential changes is migration to Gradel / Bazel.
>

I've looked a a little bit more into this recently - where "looked in" =
read up about and thought about, not really have anything really working
yet, of course.

Just specifically on Gradel VS Bazel: FYI was actually really excited about
Bazel when I toyed a bit with it a few weeks ago. I thought that Bazel
looked really interesting, see
https://twitter.com/vorburger/status/960153774881943553, but unless I'm
totally mistaken it is still early days for using it in general Java
projects.  My feeling is that a fair amount of the work to adopt Bazel may
be not just our own stuff, but just more generally having to contribute to
missing pieces in the young Java Bazel ecosystem. This has a few early
high-level details re. this: https://github.com/vorburger/mvn2bazel. This
could be fun of course - but it's perhaps important to understand.

Gradle on the other hand may be a little "less smart" re. parallel and
incremental builds than Bazel which got highly optimized inside Google for
a long time (and that's just a hunch, I don't have date), but I suspect is
"good enough" for us, and is ahead just in terms of general ecosystem.

BTW: There are a bunch of other such tools as well of course, such as
Facebook's Buck (see https://buckbuild.com), and some others, but my
understanding is that they are inspired by Bazel so perhaps not worth
further investigating (I have not).

This of course is not a simple change.
>

So I actually toyed with Gradle POC in infrautils on the long flight over
to ONS, see
https://github.com/opendaylight/infrautils/compare/master...vorburger:gradle
... and it's, of course, totally feasible. It already "works" as in it
builds the infrautils JARs, but this first POC is way overly simplistic, of
course. Still, my current feeling is that it's probably not years and years
of work to drive this further... but as always, you only know really know
the total effort when you are realy fully done. ;-)

The last slide in the DDF session Stephen and I just presented has more
thoughts, here:
https://docs.google.com/presentation/d/1BR5CLxTO2CU8ZyhdzoGDFhki4mZFklJMxIWLCjCbbX8/edit#slide=id.g356b7b4527_0_5

As per that slide, main things are YANG generation (some work, but *N days,
not weeks or months perhaps?) and our entire Karaf Maven support. Full
disclosure: I'm motivated to perhaps try to contribute something re. the YANG
generation, but personally not very interested in Gradle support for Karaf
features and distributions. Is anyone else reading this? ;-)


> Not only would it significantly affect ODL but other LFN projects as
> well.
>

That's an interesting point. I'm wondering, why/how would other LFN
projects be affected by how ODL builds its distribution? They should not,
no?

Key to anything in this space would probably be that ODL projects
ultimately still publish JARs on Nexus? Not even for integration with other
LFN projects, but even for a hypothetical step-by-step gradual move from
Maven to Gradle in ODL itself. FYI: Gradle totally can deploy/publish JAR
to a Maven repo like Nexus, with correct automatically generated POM; that
is, apparently, fairly widely done already in other projects.


> As such, I'm suggesting that ODL appoint a representative to work the LFN
> community as a whole to investigate the pros, cons, work effort and desire
> to migrate.
>

I'm interested and happy to be involved in relevant work. Cannot guarantee
my availlity, this is a "hobby".

As other such things, this is the kind of projects that "just" boils down
to people resources doing work to advance in this direction much more than
long discussions.  If I find the time, I'll try to further pursue the
Gradle POC (above), and we'll see. If others want to concretely help hands
on, please shout.

Tx,
M.
--
Michael Vorburger, Red Hat
vorbur...@redhat.com | IRC: vorburger @freenode | ~ = http://vorburger.ch


> Best,
> Casey Cain
> Technical Program Manager
> Linux Foundation
> _________________
> IRC - CaseyODL
> Skype - wrathwolfk
> WeChat - okaru6
>
> _______________________________________________
> TSC mailing list
> t...@lists.opendaylight.org
> https://lists.opendaylight.org/mailman/listinfo/tsc
>
>
_______________________________________________
Discuss mailing list
Discuss@lists.opendaylight.org
https://lists.opendaylight.org/mailman/listinfo/discuss

Reply via email to