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