As part of my work developing and maintaining Koji, I've been looking at
ways to better support Java builds. Maven is emerging as the defacto
standard build tool for Java projects, but the design of Maven makes it
difficult to use in the context of rpmbuild. In order to provide the
same reproduceability and auditability for Java builds that we have with
rpm builds, without the complexity of the Maven-in-rpmbuild system we
use now, I've been working on supporting Maven natively in Koji.
The code has been committed to the "mead" branch of the upstream Koji
git repository, and testing has been very successful. I'm planning on
taking the proposal to FESCo soon, but I wanted to get some feedback
from the people most likely to be affect by this, the active Java
packagers/maintainers, first. I've written up a wiki page describing
how the system works and some of the advantages of it here:
http://fedoraproject.org/wiki/KojiMavenSupport
Note that deploying this in Fedora would not force any packages to
change their build process. If you are happy with your current build
process, you're free to continue using it. This is an alternative build
process available to those packages that would benefit from it,
primarily Java packages that build with Maven. The existing
rpmbuild-based process and the new Maven-based process will be fully
interoperable.
I'd appreciate any thoughts or feedback you have on this before we take
it to FESCo and the Fedora Packaging Committee. Though this has the
potential to increase the number of Java packages in Fedora
significantly, it could also make packaging Java apps for Fedora
significantly easier.
Note that this also has implications for building and packaging JBoss in
Fedora. A number of the JBoss projects build with Maven, and more of
them are moving in that direction upstream, but getting them to build
within rpmbuild has been difficult and labor-intensive. Koji Maven
support was designed with this in mind, and will enable us to build
JBoss in a repeatable, trackable way without requiring changes to the
upstream build process, and will make packaging the build output in rpms
dramatically simpler. Getting JBoss packaged in Fedora in a fully
supportable way is a compelling reason for deploying this in the Fedora
build environment.
Please let me know if you have any questions, or need more detail about
any aspect of the proposal.
Thanks,
Mike
--
fedora-devel-java-list mailing list
fedora-devel-java-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-devel-java-list