Skip to content

Commit e9cff95

Browse files
authored
Merge branch 'main' into main
2 parents d39536e + 14a34e5 commit e9cff95

120 files changed

Lines changed: 1985 additions & 1813 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/actions/setup-gradle/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ runs:
2727
env:
2828
GRADLE_BUILD_ACTION_CACHE_DEBUG_ENABLED: true
2929
- name: Setup TestLens
30-
uses: testlens-app/setup-testlens@v1.6.1
30+
uses: testlens-app/setup-testlens@v1.7.0
3131
- name: Generate JBang cache key
3232
id: cache-key
3333
shell: bash

.github/workflows/on-issue-comment.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
Please read our [CONTRIBUTING.md](https://github.com/JabRef/jabref/blob/main/CONTRIBUTING.md) to find out how.
3333
It will also guide you in other aspects of contributing to JabRef.
3434
# 2: One person could have one PR opened and while waiting for feedback working on another one.
35-
max_assignments: 2
35+
max_assignments: 3
3636
max_overall_assignment_labels: "good first issue"
3737
max_overall_assignment_text: >
3838
### ⚠️ Assignment Limit Reached for Good First Issues
@@ -65,9 +65,6 @@ jobs:
6565
6666
6767
Happy coding! 🚀
68-
69-
70-
At this point in time, you raised {{ prs_total }} pull request(s) of which {{ prs_merged_percentage }}% ({{ prs_merged }}/{{ prs_total }}) have been merged.
7168
assigned_text: >
7269
Thank you for your continued work in JabRef.
7370
At this point, you probably already know the basics and the important links.

.github/workflows/tests-code.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,19 @@ jobs:
5555
- name: Run checkstyle using gradle
5656
run: gradle checkstyleMain checkstyleTest checkstyleJmh
5757

58+
dependencyscopes:
59+
name: Dependency Scopes
60+
runs-on: ubuntu-latest
61+
steps:
62+
- name: Checkout source
63+
uses: actions/checkout@v6
64+
with:
65+
submodules: 'true'
66+
show-progress: 'false'
67+
- uses: ./.github/actions/setup-gradle
68+
- name: Run checkAllModuleInfo using gradle
69+
run: gradle checkAllModuleInfo
70+
5871
openrewrite:
5972
name: OpenRewrite
6073
runs-on: ubuntu-slim

.jbang/JabSrvLauncher.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@
4242
//DEPS org.glassfish.jersey.inject:jersey-hk2:4.0.2
4343
//DEPS org.hibernate.validator:hibernate-validator:9.1.0.Final
4444
//DEPS org.jabref:afterburner.fx:2.0.0
45-
//DEPS tools.jackson.core:jackson-core:3.0.4
46-
//DEPS tools.jackson.core:jackson-databind:3.0.4
47-
//DEPS tools.jackson.dataformat:jackson-dataformat-yaml:3.0.4
45+
//DEPS tools.jackson.core:jackson-core:3.1.0
46+
//DEPS tools.jackson.core:jackson-databind:3.1.0
47+
//DEPS tools.jackson.dataformat:jackson-dataformat-yaml:3.1.0
4848

4949
//SOURCES ../jabsrv/src/main/java/org/jabref/http/dto/BibEntryDTO.java
5050
//SOURCES ../jabsrv/src/main/java/org/jabref/http/dto/cayw/SimpleJson.java
@@ -56,6 +56,8 @@
5656
//SOURCES ../jabsrv/src/main/java/org/jabref/http/SrvStateManager.java
5757
//SOURCES ../jabsrv/src/main/java/org/jabref/http/server/cayw/CAYWQueryParams.java
5858
//SOURCES ../jabsrv/src/main/java/org/jabref/http/server/cayw/CAYWResource.java
59+
//SOURCES ../jabsrv/src/main/java/org/jabref/http/server/cayw/CitationProperties.java
60+
//SOURCES ../jabsrv/src/main/java/org/jabref/http/server/cayw/LocatorType.java
5961
//SOURCES ../jabsrv/src/main/java/org/jabref/http/server/cayw/format/BibLatexFormatter.java
6062
//SOURCES ../jabsrv/src/main/java/org/jabref/http/server/cayw/format/NatbibFormatter.java
6163
//SOURCES ../jabsrv/src/main/java/org/jabref/http/server/cayw/format/MMDFormatter.java
@@ -65,6 +67,7 @@
6567
//SOURCES ../jabsrv/src/main/java/org/jabref/http/server/cayw/format/FormatterService.java
6668
//SOURCES ../jabsrv/src/main/java/org/jabref/http/server/cayw/format/SimpleJsonFormatter.java
6769
//SOURCES ../jabsrv/src/main/java/org/jabref/http/server/cayw/gui/CAYWEntry.java
70+
//SOURCES ../jabsrv/src/main/java/org/jabref/http/server/cayw/gui/CitationPropertiesPopup.java
6871
//SOURCES ../jabsrv/src/main/java/org/jabref/http/server/cayw/gui/SearchDialog.java
6972
//SOURCES ../jabsrv/src/main/java/org/jabref/http/server/cayw/gui/SearchField.java
7073
//SOURCES ../jabsrv/src/main/java/org/jabref/http/server/cayw/gui/SearchResultContainer.java

CHANGELOG.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,30 @@ Note that this project **does not** adhere to [Semantic Versioning](https://semv
1212
### Added
1313

1414
- Book covers now download automatically when you open an entry with an ISBN. [#14848](https://github.com/JabRef/jabref/issues/14848)
15+
- We added support for citation properties in the CAYW endpoint. [#13821](https://github.com/JabRef/jabref/issues/13821)
1516

1617
### Changed
1718

19+
- We removed the restart prompt when accepting Mr. DLib privacy settings or hiding the Related articles tab in the entry editor. [#15195](https://github.com/JabRef/jabref/issues/15195)
1820
- We replaced the unlinked files dialog with a wizard-based interface for searching and importing files. [#12709](https://github.com/JabRef/jabref/issues/12709)
21+
- We upgraded to Lucene 10.4 for the fulltext search.
22+
Thus, the now created search index cannot be read from older versions of JabRef anylonger.
23+
⚠️ JabRef will recreate the index in a new folder for new files and this will take a long time for a huge library.
24+
Moreover, switching back and forth JabRef versions and meanwhile adding PDFs also requires rebuilding the index now and then.
25+
[#15220](https://github.com/JabRef/jabref/pull/15220)
26+
- We refined the "Select files to import" page in "Search for unlinked local files" dialog to give the users the choice of linking the file to a related entry or import it to a new entry. [#13689](https://github.com/JabRef/jabref/issues/13689)
1927

2028
### Fixed
2129

30+
- We fixed an issue where LaTeX to Unicode conversion replaced tildes with standard spaces instead of non-break spaces. [#15158](https://github.com/JabRef/jabref/issues/15158)
31+
- We fixed an issue where an exception dialog was shown when moving side panels down/up. [#15207](https://github.com/JabRef/jabref/issues/15207)
32+
- We fixed a false "Invalid citation key" warning for keys with diacritical marks. [#14953](https://github.com/JabRef/jabref/issues/14953)
33+
- We fixed an issue where duplicate fields can be created. [#15130](https://github.com/JabRef/jabref/issues/15130)
34+
- We fixed an issue where blank fields could be created. [#15130](https://github.com/JabRef/jabref/issues/15130)
35+
- Fixed issues with escaping keywords in "Keywords Editor" [#14780](https://github.com/JabRef/jabref/issues/14780)
2236
- We fixed an issue where resetting preference does not reset External File Type to default. [#15117](https://github.com/JabRef/jabref/issues/15117)
2337
- We fixed an issue where institutional authors in braces {Institutional Author} triggered a "Names are not in the standard format" warning. [#15157](https://github.com/JabRef/jabref/issues/15157)
38+
- We fixed an issue where the Windows installer was missing the JabRef icon. [#14965](https://github.com/JabRef/jabref/issues/14965)
2439

2540
### Removed
2641

build-logic/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ repositories {
99

1010
dependencies {
1111
implementation("com.adarshr:gradle-test-logger-plugin:4.0.0")
12-
implementation("com.autonomousapps:dependency-analysis-gradle-plugin:3.5.1")
12+
implementation("com.autonomousapps:dependency-analysis-gradle-plugin:3.6.1")
1313
implementation("com.github.andygoossens:gradle-modernizer-plugin:1.12.0")
14-
implementation("com.gradleup.shadow:shadow-gradle-plugin:9.3.1")
14+
implementation("com.gradleup.shadow:shadow-gradle-plugin:9.3.2")
1515
implementation("de.undercouch.download:de.undercouch.download.gradle.plugin:5.7.0")
1616
implementation("org.gradlex:extra-java-module-info:1.14")
1717
implementation("org.gradlex:java-module-dependencies:1.12")
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
import org.gradle.api.artifacts.*
2+
import org.gradle.api.attributes.java.TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE
3+
import org.gradle.api.model.ObjectFactory
4+
import org.gradle.kotlin.dsl.named
5+
import org.gradle.nativeplatform.MachineArchitecture.ARCHITECTURE_ATTRIBUTE
6+
import org.gradle.nativeplatform.OperatingSystemFamily.OPERATING_SYSTEM_ATTRIBUTE
7+
import javax.inject.Inject
8+
9+
// Based on: https://github.com/gradlex-org/jvm-dependency-conflict-resolution/blob/main/src/main/java/org/gradlex/jvm/dependency/conflict/resolution/rules/AddTargetPlatformVariantsMetadataRule.java
10+
@CacheableRule
11+
abstract class JDKjsobjectDependencyMetadataRule @Inject constructor(
12+
private val classifier: String,
13+
private val operatingSystem: String,
14+
private val architecture: String,
15+
private val minJavaVersion: Int
16+
) : ComponentMetadataRule {
17+
18+
@get:Inject
19+
protected abstract val objects: ObjectFactory
20+
21+
override fun execute(context: ComponentMetadataContext) {
22+
val details = context.details
23+
addTargetPlatformVariant(details, "Compile", "compile")
24+
addTargetPlatformVariant(details, "Runtime", "runtime")
25+
}
26+
27+
private fun addTargetPlatformVariant(details: ComponentMetadataDetails, nameSuffix: String, baseVariant: String) {
28+
val name = details.id.name
29+
val version = details.id.version
30+
31+
details.addVariant(classifier + nameSuffix + minJavaVersion, baseVariant) {
32+
configureAttributes()
33+
withFiles {
34+
removeAllFiles()
35+
addFile("$name-$version-$classifier.jar")
36+
}
37+
// depending on the JDK version, 'jsobject' is pulled in as extra dependency or not
38+
withDependencies {
39+
if (minJavaVersion >= 26) {
40+
add("org.openjfx:jdk-jsobject")
41+
} else {
42+
removeIf { it.name == "jdk-jsobject" }
43+
}
44+
}
45+
}
46+
}
47+
48+
private fun VariantMetadata.configureAttributes() {
49+
attributes {
50+
attributes.attribute(OPERATING_SYSTEM_ATTRIBUTE, objects.named(operatingSystem))
51+
attributes.attribute(ARCHITECTURE_ATTRIBUTE, objects.named(architecture))
52+
attributes.attribute(TARGET_JVM_VERSION_ATTRIBUTE, minJavaVersion)
53+
}
54+
}
55+
}

0 commit comments

Comments
 (0)