Hello, Dalibor Topic (Oracle) and Robert Scholte (Apache Maven) contacted me and were so kind to agree to make this discussion public, so that others can chime in too. I would like to use the opportunity to answer the initial question "what we are interested in seeing better supported from build tools" and give some general feedback about integrating Java into Debian. First of all Ant and Maven are most likely the best supported build systems at the moment. We carry only two patches for Maven, one because we use a newer version of SLF4j [1] and the second one is to make Maven builds reproducible. [2] It looks like [1] has been already merged upstream but [2] has not been forwarded yet. It would be great of course, if Maven builds would be reproducible out-of-the-box. In general I would like to see reproducible builds everywhere. Otherwise we have two build tools / Maven plugins called maven-debian-helper [3] and maven-repo-helper [4] that do all the Debian specific operations. Maven already supports local repositories and offline mode but I would like to see native support for unversioned jar files and dependencies too. At the moment we create our own local repository in /usr/share/maven-repo and in addition to the normal version, we have a so called "debian" version. Other Java projects in Debian only reference the debian version, so that we have to maintain only one library or application and when we decide to upgrade a package, reverse-depdencies continue to work because they use the unversioned "debian" instead of a specific version. In my experience other languages like Perl or Python, which are less version-centric, support this use case better. Regarding javadoc generation we would like to see an option that basically reverts to pre OpenJDK8 and simply is less strict than the current implementation. We currently use the undocumented and unsupported --ignore-source-errors option when we build javadoc. It is not feasible for us to fix all those syntax errors ourselves and we will rather ditch our documentation packages should --ignore-source-errors go away. Our biggest challenge is Gradle. If Robert wants to help us then he should never rewrite parts of Maven in Kotlin or encourage developers to use a specific prebuilt version of Maven and to ship a script in every project that downloads it from the internet (gradle-wrapper). ;) That is all off the top of my head. Maybe someone else on the list wants to chime in here. Regards, Markus [1] https://sources.debian.org/src/maven/3.6.0-1/debian/patches/slf4j-compatibility.patch/ [2] https://sources.debian.org/src/maven/3.6.0-1/debian/patches/reproducible-build-timestamp.patch/ [3] https://tracker.debian.org/pkg/maven-debian-helper [4] https://tracker.debian.org/pkg/maven-repo-helper
Attachment:
signature.asc
Description: OpenPGP digital signature