From 8e22e31481630837b3e889243bbed438764ce566 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Tue, 25 Nov 2025 20:22:47 +0100 Subject: [PATCH 1/8] Remove obsolete dependency --- .jbang/JabLsLauncher.java | 1 - 1 file changed, 1 deletion(-) diff --git a/.jbang/JabLsLauncher.java b/.jbang/JabLsLauncher.java index 17a520e98fc..cf6eb2a9413 100755 --- a/.jbang/JabLsLauncher.java +++ b/.jbang/JabLsLauncher.java @@ -14,7 +14,6 @@ //DEPS info.picocli:picocli:4.7.7 // from jabls -//DEPS com.fasterxml.jackson.core:jackson-annotations:2.20 //DEPS tools.jackson.core:jackson-core:3.0.2 //DEPS tools.jackson.core:jackson-databind:3.0.2 //DEPS tools.jackson.dataformat:jackson-dataformat-yaml:3.0.2 From f31db5a11465ca15cf33d4adfb0f90d8d30b8420 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Tue, 25 Nov 2025 20:22:54 +0100 Subject: [PATCH 2/8] Remove empty line --- jablib/build.gradle.kts | 1 - 1 file changed, 1 deletion(-) diff --git a/jablib/build.gradle.kts b/jablib/build.gradle.kts index 67dc7da7177..f1bb12529a0 100644 --- a/jablib/build.gradle.kts +++ b/jablib/build.gradle.kts @@ -596,7 +596,6 @@ javaModuleTesting.whitebox(testing.suites["test"]) { requires.add("org.xmlunit") requires.add("org.xmlunit.matchers") - requires.add("com.tngtech.archunit") requires.add("com.tngtech.archunit.junit5.api") } From ddda6034f647a4f0e17cb06fb7cfc014d5e460e4 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Tue, 25 Nov 2025 20:23:45 +0100 Subject: [PATCH 3/8] Fix alphabetic ordering --- .jbang/JabLsLauncher.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.jbang/JabLsLauncher.java b/.jbang/JabLsLauncher.java index cf6eb2a9413..25c2bcad2a3 100755 --- a/.jbang/JabLsLauncher.java +++ b/.jbang/JabLsLauncher.java @@ -14,9 +14,6 @@ //DEPS info.picocli:picocli:4.7.7 // from jabls -//DEPS tools.jackson.core:jackson-core:3.0.2 -//DEPS tools.jackson.core:jackson-databind:3.0.2 -//DEPS tools.jackson.dataformat:jackson-dataformat-yaml:3.0.2 //DEPS info.picocli:picocli:4.7.7 //DEPS org.apache.logging.log4j:log4j-to-slf4j:2.25.2 //DEPS org.eclipse.lsp4j:org.eclipse.lsp4j:0.24.0 @@ -27,6 +24,9 @@ //DEPS org.tinylog:tinylog-impl:2.7.0 //DEPS com.github.ben-manes.caffeine:caffeine:3.2.3 //DEPS org.apache.commons:commons-lang3:3.20.0 +//DEPS tools.jackson.core:jackson-core:3.0.2 +//DEPS tools.jackson.core:jackson-databind:3.0.2 +//DEPS tools.jackson.dataformat:jackson-dataformat-yaml:3.0.2 //SOURCES ../jabls/src/main/java/org/jabref/languageserver/BibtexTextDocumentService.java //SOURCES ../jabls/src/main/java/org/jabref/languageserver/BibtexWorkspaceService.java From aa7d79f74ea92577066c9d7aa4c9730492f1c11c Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Tue, 25 Nov 2025 20:45:19 +0100 Subject: [PATCH 4/8] Add ArchUnit test for jackson --- .../support/CommonArchitectureTest.java | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/test-support/src/main/java/org/jabref/support/CommonArchitectureTest.java b/test-support/src/main/java/org/jabref/support/CommonArchitectureTest.java index 3ace7dec86d..a1d45050392 100644 --- a/test-support/src/main/java/org/jabref/support/CommonArchitectureTest.java +++ b/test-support/src/main/java/org/jabref/support/CommonArchitectureTest.java @@ -18,6 +18,9 @@ import com.tngtech.archunit.lang.syntax.ArchRuleDefinition; import com.tngtech.archunit.library.GeneralCodingRules; +import static com.tngtech.archunit.base.DescribedPredicate.not; +import static com.tngtech.archunit.core.domain.JavaClass.Predicates.resideInAnyPackage; + /** * This class checks JabRef's shipped classes for architecture quality. * Does not analyze test classes. Hint from StackOverflow @@ -41,19 +44,15 @@ public void doNotUseApacheCommonsLang3(JavaClasses classes) { } @ArchTest - public void doNotUseSwing(JavaClasses classes) { - // This checks for all Swing packages, but not the UndoManager - ArchRuleDefinition.noClasses().that().areNotAnnotatedWith(AllowedToUseSwing.class) - .should().accessClassesThat() - .resideInAnyPackage("javax.swing", - "javax.swing.border..", - "javax.swing.colorchooser..", - "javax.swing.event..", - "javax.swing.filechooser..", - "javax.swing.plaf..", - "javax.swing.table..", - "javax.swing.text..", - "javax.swing.tree..") + public void doNotUseJackson2(JavaClasses classes) { + // annotations still reside in com.fasterxml package: + ArchRuleDefinition.noClasses() + .should() + .dependOnClassesThat( + resideInAnyPackage("com.fasterxml..") + // https://github.com/FasterXML/jackson-databind/blob/37b593e4836af62a267f09d2193414078df36eb0/src/test/java/tools/jackson/databind/deser/AnySetterTest.java#L7C8-L7C42 + .and(not(resideInAnyPackage("com.fasterxml.jackson.annotation.."))) + ) .check(classes); } @@ -66,7 +65,7 @@ public void doNotUseAssertJ(JavaClasses classes) { @ArchTest public void doNotUseJavaAWT(JavaClasses classes) { ArchRuleDefinition.noClasses().that().areNotAnnotatedWith(AllowedToUseAwt.class) - .should().accessClassesThat().resideInAPackage(PACKAGE_JAVA_AWT) + .should().dependOnClassesThat().resideInAPackage(PACKAGE_JAVA_AWT) .check(classes); } From 8b00fee973d1e27662c07d19cae04035e82914c6 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Tue, 25 Nov 2025 20:48:22 +0100 Subject: [PATCH 5/8] Re-add missing test --- .../jabref/support/CommonArchitectureTest.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/test-support/src/main/java/org/jabref/support/CommonArchitectureTest.java b/test-support/src/main/java/org/jabref/support/CommonArchitectureTest.java index a1d45050392..190d26f8cb3 100644 --- a/test-support/src/main/java/org/jabref/support/CommonArchitectureTest.java +++ b/test-support/src/main/java/org/jabref/support/CommonArchitectureTest.java @@ -43,6 +43,23 @@ public void doNotUseApacheCommonsLang3(JavaClasses classes) { .check(classes); } + @ArchTest + public void doNotUseSwing(JavaClasses classes) { + // This checks for all Swing packages, but not the UndoManager + ArchRuleDefinition.noClasses().that().areNotAnnotatedWith(AllowedToUseSwing.class) + .should().accessClassesThat() + .resideInAnyPackage("javax.swing", + "javax.swing.border..", + "javax.swing.colorchooser..", + "javax.swing.event..", + "javax.swing.filechooser..", + "javax.swing.plaf..", + "javax.swing.table..", + "javax.swing.text..", + "javax.swing.tree..") + .check(classes); + } + @ArchTest public void doNotUseJackson2(JavaClasses classes) { // annotations still reside in com.fasterxml package: From 0020a8f16368da19c966ab03ee6fdeb16ecd8aa1 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Tue, 25 Nov 2025 21:16:17 +0100 Subject: [PATCH 6/8] Fix dependencies --- .jbang/JabLsLauncher.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.jbang/JabLsLauncher.java b/.jbang/JabLsLauncher.java index 25c2bcad2a3..7fd82f748fa 100755 --- a/.jbang/JabLsLauncher.java +++ b/.jbang/JabLsLauncher.java @@ -14,19 +14,14 @@ //DEPS info.picocli:picocli:4.7.7 // from jabls +//DEPS com.fasterxml.jackson.core:jackson-annotations:2.20 //DEPS info.picocli:picocli:4.7.7 //DEPS org.apache.logging.log4j:log4j-to-slf4j:2.25.2 //DEPS org.eclipse.lsp4j:org.eclipse.lsp4j:0.24.0 -//DEPS org.jabref:afterburner.fx:2.0.0 //DEPS org.slf4j:jul-to-slf4j:2.0.17 //DEPS org.slf4j:slf4j-api:2.0.17 //DEPS org.tinylog:slf4j-tinylog:2.7.0 //DEPS org.tinylog:tinylog-impl:2.7.0 -//DEPS com.github.ben-manes.caffeine:caffeine:3.2.3 -//DEPS org.apache.commons:commons-lang3:3.20.0 -//DEPS tools.jackson.core:jackson-core:3.0.2 -//DEPS tools.jackson.core:jackson-databind:3.0.2 -//DEPS tools.jackson.dataformat:jackson-dataformat-yaml:3.0.2 //SOURCES ../jabls/src/main/java/org/jabref/languageserver/BibtexTextDocumentService.java //SOURCES ../jabls/src/main/java/org/jabref/languageserver/BibtexWorkspaceService.java From 1950ca38ff4f749f3b5399649524df9bb6ae1064 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Thu, 27 Nov 2025 13:56:36 +0100 Subject: [PATCH 7/8] Fix spaces --- .../main/java/org/jabref/support/CommonArchitectureTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test-support/src/main/java/org/jabref/support/CommonArchitectureTest.java b/test-support/src/main/java/org/jabref/support/CommonArchitectureTest.java index 190d26f8cb3..75e39b8a996 100644 --- a/test-support/src/main/java/org/jabref/support/CommonArchitectureTest.java +++ b/test-support/src/main/java/org/jabref/support/CommonArchitectureTest.java @@ -67,7 +67,7 @@ public void doNotUseJackson2(JavaClasses classes) { .should() .dependOnClassesThat( resideInAnyPackage("com.fasterxml..") - // https://github.com/FasterXML/jackson-databind/blob/37b593e4836af62a267f09d2193414078df36eb0/src/test/java/tools/jackson/databind/deser/AnySetterTest.java#L7C8-L7C42 + // https://github.com/FasterXML/jackson-databind/blob/37b593e4836af62a267f09d2193414078df36eb0/src/test/java/tools/jackson/databind/deser/AnySetterTest.java#L7C8-L7C42 .and(not(resideInAnyPackage("com.fasterxml.jackson.annotation.."))) ) .check(classes); From 5a69611c7c1662abc2001e1762d77a0dcd2a5f7a Mon Sep 17 00:00:00 2001 From: Philip <37398281+palukku@users.noreply.github.com> Date: Thu, 27 Nov 2025 14:57:57 +0100 Subject: [PATCH 8/8] fix format test --- .../java/org/jabref/gui/preferences/JabRefGuiPreferences.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java b/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java index 8fd84d52e21..7c7feef8f2d 100644 --- a/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java +++ b/jabgui/src/main/java/org/jabref/gui/preferences/JabRefGuiPreferences.java @@ -1216,7 +1216,7 @@ public DonationPreferences getDonationPreferences() { } donationPreferences = getDonationPreferencesFromBackingStore(DonationPreferences.getDefault()); - + EasyBind.listen(donationPreferences.neverShowAgainProperty(), (_, _, newValue) -> putBoolean(DONATION_NEVER_SHOW, newValue)); EasyBind.listen(donationPreferences.lastShownEpochDayProperty(), (_, _, newValue) -> putInt(DONATION_LAST_SHOWN_EPOCH_DAY, newValue.intValue())); return donationPreferences;