Summary of Java team meeting
Cross posted to gentoo-dev and gentoo-java mailing list.
Yesterday, the Java team held a meeting. The agenda for the meeting is available at here. This summary follows the format of the agenda.
Personel updates
First task was to aquire information about active developers who work with Java related ebuilds, it produced following list:
- betelgeuse (Petteri Raty)
- caster (Vlastimil Babka)
- gurligebis (Bjarke Istrup Pedersen)
- nelchael (Krzysiek Pawlik)
- nichoj (Joshua Nichols)
- sanchan (Sandro Bonazzola)
- wltjr (William Thomson)
More details about areas of responsibility are available in meeting notes.
Missing developers:
- compnerd (Saleem Abdulrasool)
- karltk (Karl Trygve Kalleberg)
- zx (Chris Aniszczyk)
Second task was to establish a list of developers along with architectures with which they can work:
- alpha - no support for Java
- amd64 - nichoj, sanchan
- arm - no support for Java
- hppa - no support for Java
- ia64 - nichoj
- m68k - no support for Java
- mips - no support for Java
- ppc - nelchael, nichoj
- ppc-macos - no support for Java
- ppc64 - nichoj
- s390 - no support for Java
- sh - no support for Java
- sparc - no support for Java
- x86 - all Java team developers
- x86-fbsd - gurligebis
It was decided to drop support for dev-java/compaq-jdk and dev-java/compaq-jre on alpha - those two packages don't work as expected and are not supported by upstream. Sparc and alpha wait for fully working free Java JDK/JRE (kaffe, gcj and gnu-classpath for example).
Migration to the new Java system
It was decided that no new features will be added to 'core' Java packages to allow proper testing and bug fixing. We are targeting 14 October for stabilizing core packages, list of core packages is available at Java Upgrade Guide under "Code Listing 2.1: package.keywords". There was also talk about what features are planned to make their way into java-config before feature freeze, for example --tools option to get location for tools.jar from currently selected VM.
Current status of migration (list of not migrated ebuilds, progress graph) is available at status page along with 'current' state at not-migrated-current.
Feature requests
Only one point made it's way into "Feature requests": virtuals for several Java packages: javamail, jaf and others. To better understand the problem lets take a look at packages that could provide virtual/javamail:
dev-java/sun-javamail-bin
- dev-java/gnu-javamail
- dev-java/sun-javamail (currently in Java overlay)
Same situation is with JAF (JavaBeans Activation Framework). Decision about virtuals was postponed as minor issue, since it can wait until after the new Java system is stablized.
Documentation
It was decided that the Java Upgrade Guide needs to be updated and it needs to list possible upgrade paths. Additionally following documents need work:
Following documents need to be created:
- How to be a good downstream - document decribing best practices about handling Java
- Guide to using maven in ebuilds - this document is currently blocked by not complete maven ebuilds (see 'Future plans')
We are also looking for articles that cover Java support on Gentoo.
QA / static analysis tools
Using die after eant in ebuilds has been deprecated: eant dies on it's own, so:
eant ... || die "eant failed"
should be changed just to:
eant ...
New checks for usage of old eclasses and other QA issued are pending inclusion in repoman. Additionaly pcheck will probably be implemented as repoman modules after repoman gains ability to use such modules, not as separate tool. Eclipse plugin for writing ebuilds (and performing QA checks) was started by zx, but is currently unreleased. Gentoo user benny^work was also interested in such plugin, but current state of this effort is unknown. Developer wltjr suggested making such plugin also for Netbeans. One possible way of creating such plugin (aside from implementing syntax highlighting) is to use Jython to use checks from repoman.
Future plans
One controversial step, split of dev-java into more smaller categories, was postponed for now. It will be reconsidered after stabilizing new Java build system.
Additional third quiz will be required for new developers that want to join Java team due to specifics of Java builds. Such quiz would have few general questions about Java, handling classpath and ant builds.
State of maven on Gentoo was given by nelchael, and is available in attached log. We are currently waiting for 2.0.5 release of maven to build it from source and allow ebuilds to use it to build other software. For now it is required to use `mvn ant:ant` to obtain build.xml file for ant, which can be used in ebuilds.
Last two points of agenda: Java 1.6 and Java 1.7 were discussed. There was talk about how to prepare for upcoming release of Java 1.6 in October (that date is not fixed - it may change), troubles with JDBC drivers as Java 1.6 introduces new functions, which breaks compilation of current JDBC3 drivers. Testing of Java 1.7 has been postponed until 1.6 comes out.
Not on agenda
Following topics were mentioned that were not on agenda:
Estimated EOL (end of life) for generation 1: until all ebuilds are migrated to generation 2 and stabilized we have to keep generation 1 alive in tree
- packages that break due to generation 2:
dev-java/jarjar
- dev-libs/cyrus-sasl
- kde-base/kdejava
- kde-base/qtjava
- app-accessibility/gnome-speech
That list is probably not complete. - contacting David Herron (Sun employee, who helped to bring DLJ licensed Sun JDK to potage) about packaging and distribution of other Sun Java packages, for example Sun JWSDP, JAF, Javamail