[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: plans for eclipse luna in debian



Hello everybody,

I believe this is my first post to the list, so let me first introduce
myself quickly.  My name is Mikołaj Izdebski, I am Java build system
maintainer in Fedora and Red Hat Enterprise Linux. You can find list
of my Fedora packages at [8].  Since 2011 I am sponsored maintainer of
one Debian package [9], for which I'm also upstream developer.  I am
usually lurking on #debian-java and #debian-devel as "mizdebsk".

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.

Let me start by mentioning a few problems Fedora had with Eclipse
packaging and pointing to solutions for them.  If anyone is interested
in hearing more details, I'll be glad to elaborate on them.

1. Bootstrapping Tycho.  Tycho requires itself to build.  Furthermore,
there is a dependency cycle between Tycho end Eclipse Platform --
Eclipse requires Tycho to build and Tycho uses Eclipse bundles during
runtime.  Fedora implements two bootstrap modes for Tycho -- partial
bootstrap (requires Eclipse in build-depends) and full bootstrap.
Patches and scripts used for bootstrapping Tycho in Fedora are
available at [1].

2. Offline OSGi bundle resolution.  Having Tycho packaged doesn't mean
it can immediately be used for building packages in offline mode
(without network access).  Fedora has a patch that implements offline
("local") mode, but it depends on XMvn [4,5] and fedoraproject-p2 [6]
(despite its name, fedoraproject-p2 is not Fedora specific and should
work in Debian too).  Fedora patches for Tycho are available at [1].

3. Droplets.  Eclipse Luna adds a new feature - "P2 fragments" [2],
aka "droplets", which significantly reduces Eclipse startup time when
used [3], but requires additional work to implement.  Again, Fedora
creates droplets with by using XMvn and fedoraproject-p2.

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.

I hope you will find this bit of information helpful.
--
Mikołaj


[1] http://pkgs.fedoraproject.org/cgit/tycho.git/tree/
[2] https://wiki.eclipse.org/Equinox/p2/P2_Fragments
[3] https://rgrunber.wordpress.com/2015/10/05/eclipse-p2-droplets-in-rawhide/
[4] https://mizdebsk.fedorapeople.org/xmvn/site/
[5] https://github.com/mizdebsk/xmvn/
[6] https://github.com/rgrunber/fedoraproject-p2
[7] https://github.com/mizdebsk/javapackages
[8] https://admin.fedoraproject.org/pkgdb/packager/mizdebsk/
[9] http://qa.debian.org/developer.php?login=zurgunt@gmail.com


Reply to: