Debian navigation

Notes about issue random_order_in_documentation_generated_by_javadoc in stretch

Identifier: random_order_in_documentation_generated_by_javadoc
Suites: unstable / bookworm / bullseye / buster / stretch / experimental
Description: Some entries inside individual "class-use" documentation pages are emitted in different orders.
This appears to only happen with multi-module maven projects, i.e. possibly during
`mvn javadoc:aggregate`.
.
In `jacoco`, you can observe files are generated consistently in the individual submodule
documentation folders, but then differently when aggregated. Maybe a coincidence.
.
Historically, there were some other issues. These have disappeared, but it's not clear why.
The major version of OpenJDK has changed since these issues were reported (was 7, now 8),
although the code that was believed to be at fault remains unchanged. These are detailed below.
.
The `package-tree.html` file generated by javadoc used to contain an unsorted index.
.
Perhaps caused by packageFiles is a Map> in
openjdk-7-jdk -> ./langtools.tar.bz2 ->
src/share/classes/com/sun/tools/javadoc/JavadocTool.java
.
There was also a locale-specific wrapping issue, which has disappeared.
This may be because enough things are using javahelper, which sets the locale.
.
Likely cause is
jdk9_dev/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/DocLocale.java +172
.
Workaround is
https://sources.debian.net/src/maven-debian-helper/latest/share/cdbs/1/class/maven.mk/?hl=136#L136
Packages in 'stretch' known to be affected by this issue:
(the 1/4 most-popular ones (within this issue) are underlined)

reproducible icon 285 reproducible packages in stretch/amd64: access-modifier-checker activemq-activeio activemq-protobuf akuma android-platform-libcore antlr3 antlr4 apache-log4j-extras1.2 apache-log4j1.2 apache-log4j2 apache-mime4j argparse4j args4j asm asm3 async-http-client atinject-jsr330 axis axmlrpc bcel beansbinding biojava4-live bsaf bytecode canl-java castor cdi-api cglib classycle commons-beanutils commons-configuration commons-io commons-jci commons-math commons-math3 commons-vfs cssparser csvjdbc dokujclient dom4j doxia doxia-sitetools dtd-parser easymock eclipselink felix-bundlerepository felix-framework felix-gogo-runtime felix-gogo-shell felix-main felix-shell fest-assert fest-reflect fest-test flute fop geronimo-jpa-2.0-spec geronimo-jta-1.1-spec geronimo-validation-1.0-spec guava-libraries guice hawtjni hessian httpunit icu4j imagej ini4j insubstantial invokebinder isorelax ivy jackson-annotations jackson-dataformat-cbor jackson-dataformat-smile jackson-dataformat-yaml jackson-datatype-guava jackson-datatype-joda jacoco jam-lib jansi jargs jasperreports jasypt javahelp2 javamail javaparser javassist javatuples javawriter jaxe jblas jboss-classfilewriter jboss-jdeparser2 jboss-logging jboss-logging-tools jboss-logmanager jboss-modules jebl2 jenkins-json jenkins-trilead-ssh2 jericho-html jgit jglobus jimfs jmdns jmock2 jmol jnr-constants jnr-ffi jnr-unixsocket jnr-x86asm joda-convert joptsimple josql jsamp jsap jsemver json-simple jsoup jta jtharness jtidy jts libandroid-json-org-java libasm4-java libcds-moc-java libcobra-java libcodemodel-java libcommons-codec-java libcommons-collections3-java libcommons-collections4-java libcommons-dbcp-java libcommons-digester-java libcommons-discovery-java libcommons-fileupload-java libcommons-jxpath-java libcommons-lang-java libcommons-lang3-java libcommons-net-java libdecentxml-java libfastutil-java libformula libglazedlists-java libgnuinet-java libgnumail-java libhibernate3-java libhtml5parser-java libhtmlparser-java libidw-java libirclib-java libiscwt-java libisrt-java libitext5-java libj2ssh-java libjackson-json-java libjaxen-java libjboss-marshalling-java libjchart2d-java libjemmy2-java libjfreechart-java libjgraph-java libjgraphx-java libjlatexmath-java libjlha-java libjoda-time-java libjogl2-java libjpf-java libjsonp-java libjsr305-java libjsr311-api-java libjtds-java libjung-free-java libjuniversalchardet-java libkryo-java libloader libmetadata-extractor-java libonemind-commons-java-java libowasp-antisamy-java libowasp-esapi-java libpal-java libpdfbox-java libpgjava libpicocontainer-java libquartz-java libregexp-java librepository libspin-java libswingx-java libtggraphlayout-java libvldocking-java libvt-ldap-java libxml-security-java libxmlenc-java libxmlrpc3-java libxpp2-java libxpp3-java localizer logback lucene2 mac-widgets maven-antrun-extended-plugin maven-archiver maven-bundle-plugin maven-common-artifact-filters maven-compiler-plugin maven-compiler-plugin-2.5 maven-dependency-tree maven-doxia-tools maven-jar-plugin maven-reporting-impl maven-scm maven-shared-io maven-shared-utils maven2-core mockito mockobjects modello mojarra multiverse-core mvel naga nekohtml not-yet-commons-ssl objenesis okio opencsv openid4java opsin osgi-annotation osgi-compendium osgi-foundation-ee owasp-java-html-sanitizer pirl plexus-active-collections plexus-build-api plexus-cipher plexus-classworlds plexus-classworlds2 plexus-compiler plexus-compiler-1.0 plexus-container-default plexus-containers plexus-digest plexus-interactivity-api plexus-interpolation plexus-sec-dispatcher plexus-utils2 png-sixlegs portlet-api-2.0-spec rdp-classifier rhino robocode rome saxonb sdes4j serp service-wrapper-java sitemesh snakeyaml sqljet statcvs sunflow svnkit swtchart t-digest tagsoup tiles timingframework tomcat7 truffle truffle-dsl-processor uima-addons uima-as uimaj vecmath velocity wagon werken.xpath weupnp wsdl4j wsil4j xhtmlrenderer xmlbeans-maven-plugin xom zookeeper

FTBFS icon 1 FTBFS packages in stretch/amd64: libfreemarker-java

FTBR icon 17 unreproducible packages in stretch/amd64: activemq biojava-live bouncycastle codenarc dbus-java derby docbook-xsl-saxon elki gradle htsjdk java-gnome jaxb libhamcrest-java libxbean-java openjfx slixmpp xmlgraphics-commons

timeout icon 3 build timeout packages in stretch/amd64: gluegen2 libreoffice voms-api-java

 

Our notes about issues affecting packages are stored in notes.git and are targeted at packages in Debian in 'unstable/amd64' (unless they say otherwise).

A package name displayed with a bold font is an indication that this package has a note. Visited packages are linked in green, those which have not been visited are linked in blue.
A # sign after the name of a package indicates that a bug is filed against it. Likewise, a + sign indicates there is a patch available, a P means a pending bug while # indicates a closed bug. In cases of several bugs, the symbol is repeated.