Hi, How about converting graddle.build files to pom.xml files [1] ? This could be the bootstrap we need for the build part, but I have no idea whether it would actually be simpler. Dridi [1] http://www.gradle.org/docs/current/userguide/maven_plugin.html#sec:maven_pom_generation On Mon, Oct 21, 2013 at 5:55 PM, Mikolaj Izdebski <mizdebsk@xxxxxxxxxx> wrote: > On 10/21/2013 05:11 PM, Michael Ekstrand wrote: >> In bug #976330[1], there's been some discussion of the desire to >> upgrade Gradle from 1.0 to a new version (currently 1.8), and that >> there is significant hassle to actually do so. Some of this hassle I >> see in the bugs blocking 976330 - upgrading to Aether, newer Plexus >> containers, and maybe Polyglot Maven. >> >> What are the key issues that make it difficult to upgrade and maintain >> Gradle in Fedora? The likely ones I see: >> >> - Incompatible dependencies (Gradle may require package versions no >> longer shipped in Fedora) > > Gradle used to use (very) old versions of some dependencies, for example > legacy pre-1.0 alpha version of Plexus, released ~10 years ago. It also > used some Maven 2 APIs (Fedora ships Maven 3 only). This was improved > recently IIRC. > > Gradle also uses Sonatype Aether, which is not in Fedora any longer. > Porting it to Eclipse Aether should be fairly straightforward, but > still, needs to be done. > >> - Bootstrapping problems (the Gradle 1.8 sources won't build with >> Gradle 1.8, they seem to require 1.7) > > These are IMO two separate problems. > > 1. Gradle breaks compatibility between releases. If package builds with > Gradle version X then it not necessarily builds with Gradle version Y, Y >> X. This is a serious problem as Fedora may have to maintain multiple > versions of Gradle to build different projects. Other build systems may > have some incompatibilities too, but in case of Gradle they are causing > more problems. Additionally, Gradle build scripts are written in > fully-featured programming language and may not be so easy to port to > different version of Gradle. > > 2. Gradle is built with itself (as many build systems are), so it needs > bootstrapping. Upstream of majority of other build systems (including > Ant or Maven) are maintaining secondary ways of building them (Ant can > be built with javac, Maven can be built with Ant etc.), but Gradle > upstream does not provide any way to bootstrap Gradle. Normally > bootstrapping would need to be performed only once, but because of 1. > bootstrapping may be required more often, worst case with every release. > > Fedora would probably need to create and maintain a separate build > script for Gradle (for example using Ant or Maven) or obtain an > exception from FPC to build using prebuilt binaries. Currently Fedora > ships Ant build.xml for Gradle, but it requires substantial amount of > manual work to synchronize it with upstream build. (I would prefer to > use Maven here. It would not only ease dependency management, but also > allow easier installation of Gradle artifacts.) > >> - Possibly library embedding (although the Gradle sources do seem to >> pull in the dependencies from Maven) > > That's a generic problem and it's not really Gradle-specific. But yes, > there are some version problems, most notably Objectweb ASM. Different > Gradle dependencies use versions 3 and 4 (shaded to avoid namespace > conflicts). Fedora does not allow bundled libraries, which causes > conflict between ASM 3 and 4. (Porting from ASM 3 to ASM 4 is possible, > but non-trivial as there were major changes. This would again require > some work.) > > To sum up, Gradle maintainence requires substantial amount of work. > Currently only few packages in Fedora are using Gradle which means that > maintenance costs of Gradle outweight costs of porting other packages to > different build systems. > > -- > Mikolaj Izdebski > IRC: mizdebsk > > PS. Integration of Gradle with Fedora is a completely different story... > -- > java-devel mailing list > java-devel@xxxxxxxxxxxxxxxxxxxxxxx > https://admin.fedoraproject.org/mailman/listinfo/java-devel -- java-devel mailing list java-devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/java-devel