Hi Emmanuel, On Wed, Nov 11, 2015 at 12:39 AM, Emmanuel Bourg <[email protected]> wrote: > Le 10/11/2015 23:27, Mikołaj Izdebski a écrit : > >> For the past 4 years I've been working on improving and automating >> Java packaging techniques in Fedora/RHEL. Seeing Debian trying to do >> the same now (esp. recent implementation of Gradle helper and attempt >> to package Tycho) I feel obligated to help you, at least by pointing >> and explaining existing solutions in Fedora, sharing other experience >> or even doing Debian packaging work. > > I'd like to sincerely thank you for your help. I haven't been able to > reuse your code for the Gradle helper, but I don't think I would have > been able to do it as easily without reading the XMvn code.
I'm glad to hear that. And idea sharing goes both ways - your work on Gradle helper gave me some ideas how Gradle integration in XMvn could be improved and motivated me to finish it. >> 4. XMvn. I would like to suggest trying using XMvn project in Debian. >> It has been designed specifically to automate packaging Java software >> for GNU/Linux distributions. XMvn strives to be distribution-agnostic >> (all Fedora- and RPM-specific code are in separate project -- >> javapackages [7]). XMvn has full support for Apache Maven, Gradle, >> Eclipse Tycho and Apache Ivy, plus partial support for Aether Ant Tasks >> and SBT (through Ivy). If there is any interest in seeing XMvn used >> in Debian then I'm willing to package it, maintain it and implement >> any upstream code necessary to support Debian use cases. > > It would be really great if we were able to join our forces around a > common set of tools. maven-debian-helper serves us well but I don't feel > married to it. > > I haven't figured out yet how to use XMvn in a Debian context, but I > definitely keep an eye on it. The main hurdle I think is how to manage a > mixed environment with /usr/share/maven-repo populated by > maven-debian-helper and the XMvn repository. If the tools can't > interoperate we would have to plan a transition and that would take a > lot of time and effort. I think that XMvn should be extended to be able to produce and consume native Debian repository format (basically standard Maven repo format). This way packages built with XMvn and maven-debian-helper could be mixed freely. No migration plan would be needed - package maintainers could use either tool according to their preference. What looks more difficult from my PoV is proper integration with dpkg and debhelper/CDBS. Of course XMvn could be used directly from standard rules file, but the goal is to avoid manual work and boilerplate code whenever possible. > Since I can't undertake that for now I'm just doing small incremental > improvements like gradle-debian-helper. My next goal is the transition > of maven-debian-helper to Maven 3, your trick to override/inject code > into Maven solves an issue we had with the dependency resolution due to > the lack of maven-metadata.xml files in the Debian repository. > > So even if we aren't able to share code yet we are at least sharing > ideas and that's very valuable. I hope that sharing code will be possible in some future too -- I will try working on this as time allows. My initial plan is to enhance XMvn to be able to read/write Debian-like repo under /usr/share/maven-repo, then package it for Debian, implement required dpkg-specific code and create some PoC integration with debhelper 9. -- Mikołaj

