On Sun, Feb 9, 2020 at 2:49 PM Ankur Sinha <sanjay.ankur@xxxxxxxxx> wrote: > > On Sun, Feb 09, 2020 10:30:41 +0100, Nicolas Mailhot via devel wrote: > > Le samedi 08 février 2020 à 19:16 -0500, Neal Gompa a écrit : > > > > > > What does it tell? To me, it says that FOSS platforms don't care > > > about > > > Java as much as they used to. We're clearly able to do stuff with Go > > > and Rust, which are just as "anti-distribution" as Java is (based on > > > what other people say). > > > > While the Go core team definitely cares little about distributions, the > > Go module system is enforcing similar sanity rules than us (no locked > > versions, semver, etc) which makes it quite a lot friendlier than Java. > > > > Any language that passed the stone age of 'it builds locally with a > > stash of fixed third party code of dubious origin and freshness' will > > be easier to distribute than Java. (snip) > Thanks for all your comments everyone. What I deduce from here is that > packaging and maintaining Gradle is quite a task, and it may not be > doable (or worth doing) with our limited resources. Yeah, I don't think gradle can be maintained as a limited-resource community effort ... Mikolaj is the original maintainer, and he wrote some documentation for how to bootstrap gradle. However, he since dropped all but one of his fedora packages, and the bootstrapping process is now outdated and does not work anymore (we tried). See: https://src.fedoraproject.org/rpms/gradle/tree/f30 Additionally, gradle requires groovy to build, and groovy requires gradle to build, and gradle requires gradle to build. And both gradle and groovy are retired on f31+. So it's going to require some multi-step bootstrap to get anything off the ground again :( To make things even more interesting, new versions of gradle now also include scala and kotlin code :D > So, to bring the thread back to the original question: what do we do? > > - Does anyone have experience with converting Gradle based projects to > Maven? Can we use something like this in %prep, for example, or > locally generate the pom files and ship them in src.rpm? > https://stackoverflow.com/questions/12888490/gradle-build-gradle-to-maven-pom-xml > https://docs.gradle.org/current/userguide/maven_plugin.html > > - If it is possible to convert from Maven poms to Gradle build files, > can we do the opposite perhaps? Yes, that's possible, and in fact, that's what a few packages already do. For example, aqute-bnd and testng are built this way (with generated or hand-ported pom.xml files included as %{SOURCEX} files, and then used as maven input). However, this is also more or less preventing us from updating these packages since we didn't do this port and have no idea how to adapt these files for new versions. > What are our other options? (Of course, I assume bundling the Gradle > binary for Fedora is out.) - Option 1: Convert package build systems from gradle to maven. Pro: Works with current packaging tools. Con: might make package updates harder. - Option 2: Bring back gradle, possibly in a multi-step bootstrapping process (like Neal outlined), with a "full-bundled" build is done first to get things off the ground, and after that, components can be de-bundled one after another. Pro: no changes necessary for packages built with gradle. Con: Lots of work packaging gradle and its ecosystem. - Option 3: Retire packages requiring gradle, and ship them as flatpaks >:-D Fabio > -- > Thanks, > Regards, > Ankur Sinha "FranciscoD" (He / Him / His) | https://fedoraproject.org/wiki/User:Ankursinha > Time zone: Europe/London > _______________________________________________ > devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx > To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx > Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines > List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx