jabref
jabref copied to clipboard
Issues depending on external libraries
From #3421
- [x] Reimplement stuff concerning
TextAreaSkinandTextFieldSkin - [x] Fix and reenable CitationStyleTests
Morerover, the following needs to be fixed at some point but we cannot do much at the moment:
- [ ] Remove workaround for latex2unicode dependencies as soon scala does support Java modules and they are updated with proper module names: Refs https://github.com/JabRef/jabref/pull/8639
- [x] Remove openoffice workaround as soon as they provide proper module information:: Requires LibreOffice Version 7 to be avaiable everywhere and beeing declared as stable https://bugs.documentfoundation.org/show_bug.cgi?id=117331
- [x] Update error-prone as soon as https://github.com/google/error-prone/issues/1240 is fixed -> waiting for next release; error prone has been removed in https://github.com/JabRef/jabref/commit/346e105a946a4390c2a863b95f64a28b7f7e8a38
- [ ] Remove access to internal libraries which mostly come from controls-fx: https://github.com/controlsfx/controlsfx/blob/452e23e4d9e6d2e2fcddb1640e4fc5fc258221a1/build.gradle#L12-L41
- [ ] Specify
add-opensandadd-exportsusingmoduleOptions(precondition: new version of gradle-modules-plugin is released (> 1.5.0)) - [ ] Simplify configuration of jlink as soon as more packages are modularized
- [x] Use jlink instead of shadowJar
- [x] Use jpackage as soon as java 14 is released
- [x] Reenable WebFetcher tests as soon as https://github.com/ronmamo/reflections/issues/202 is fixed. Replaced with other library.
- [ ] Reenable wiremock tests (MimeTypeDetectorTest) as soon as wiremock is modularized https://github.com/tomakehurst/wiremock/issues/1162
- [ ] Revert https://github.com/JabRef/jabref/commit/7932dce2a3984582c49db5ded45932f0e2861971 (and/or test run on classpath) and so reenable archunit tests, requires ArchUnit > 0.23.1, which includes https://github.com/TNG/ArchUnit/issues/206
- [x] Fix log4j appenders: https://issues.apache.org/jira/browse/LOG4J2-2690
- [ ] Revert https://github.com/JabRef/jabref/commit/29cf4f20e81f1b1e771bc701f554a6f313dd0b4d as soon as https://issues.apache.org/jira/browse/TIKA-2929 is fixed
- [x] Revert https://github.com/JabRef/jabref/commit/f30c3b9eb09ccc48f78d95897cd670bf9cd3119a OpenOffice connection as soon the official bug is fixed or a workaround/ is presented https://bugs.documentfoundation.org/show_bug.cgi?id=127557
- [x] Upgrade to Java 13 (https://github.com/JabRef/jabref/pull/5427) as soon as https://github.com/beryx/badass-jlink-plugin/pull/99 is merged and released
- [x] Upgrade to stable release 4.0 of test-fx once it is released (see e.g https://github.com/JabRef/jabref/pull/5397)
- [ ] Revert https://github.com/JabRef/jabref/pull/5459 as soon as https://github.com/jfoenixadmin/JFoenix/issues/966 is fixed. Refs https://github.com/JabRef/jabref/issues/5458
- [x] Revert https://github.com/JabRef/jabref/pull/5559 as soon as jpackage bug is fixed
- [x] Upgrade java-diff-utils as soon as https://github.com/java-diff-utils/java-diff-utils/issues/60 is fixed
- [x] Remove hack for WeightedPreReleaseNumber null on tag https://github.com/GitTools/GitVersion/issues/1994 as soon as GitVersion > 5.3.2 is released https://github.com/GitTools/GitVersion/releases/
- [x] Remove special handling of new Java 14 switches and checkstyle as soon as the fix for https://github.com/checkstyle/checkstyle/issues/6615 is released
- [x] Revert https://github.com/JabRef/jabref/pull/5497 as soon as JavaFX is updated to include https://github.com/openjdk/jfx/pull/22 (which is probably 16 or 17)
- [x] Revert adoptopenjdk/zulu hack as soon as jdk 15 is released
- [x] Revert manual signing https://github.com/JabRef/jabref/pull/6748 as soon as https://bugs.openjdk.java.net/browse/JDK-8251892 is fixed --> https://github.com/koppor/jabref/issues/480
- [x] Switch to JDK 16 on Windows as soon as it is released. Cause: Windows DEP bug is fixed. Marked as duplicate of https://bugs.openjdk.java.net/browse/JDK-8254920. Should be fixed with JDK16.
- [x] Update
javax.xml.bindtojakarta.xml.bind(see #7161) as soon as pdfbox/xmbox is fixed --> https://issues.apache.org/jira/browse/PDFBOX-5061, which is fixed now in PDFBox 3.0 - [ ] https://github.com/JabRef/jabref/issues/5079 depends on https://bugs.openjdk.java.net/browse/JDK-8087910
- [ ] Mac OSX Drag and Drop does not recognize Modifier keys : https://bugs.openjdk.java.net/browse/JDK-8264172
- [x]
JDK-8246197: jlink with many modules failduplicate of JDK-8240567 - [x] JDK-8240567: MethodTooLargeException thrown while creating a jlink image:
[ERROR] Error: jdk.internal.org.objectweb.asm.MethodTooLargeException: Method too large - [ ] File locks on WSL: https://github.com/JabRef/jabref/issues/9547
Method too large error: if I understand this correct from the badass jlink docs, all non modular jars are merged together in a single module and thus require no entry in the java list of modules that is this method, that is throwing the method too large error.
The badass-jlink plugin takes a more pragmatic approach by combining all non-modular dependencies into a single jar. This way, only the resulting merged module needs a module descriptor.
https://badass-jlink-plugin.beryx.org/releases/latest/
Method too large error:
I was in the jlink code - I think, we need to work on that method. I think, we want to learn how to generate bytecode, don't we?

Handbook: https://asm.ow2.io/asm4-guide.pdf
We would need to generate smaller methods and add references to these smaller methods then to the main module descriptor method
Method too large was fixed by us and is now integrated in JDK 21.0.1 as well https://www.oracle.com/java/technologies/javase/21-0-1-relnotes.html