Skip to content

Commit

Permalink
Merge branch 'koppor:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
arfazhxss authored Jul 12, 2024
2 parents f5b2c21 + 58ddd93 commit e2c715b
Show file tree
Hide file tree
Showing 92 changed files with 829 additions and 583 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ body:
attributes:
label: JabRef version
options:
- "5.13 (latest release)"
- "5.15 (latest release)"
- Latest development branch build (please note build date below)
- Other (please describe below)
description: The version as shown in the about dialog.
Expand Down
30 changes: 15 additions & 15 deletions .github/workflows/deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,15 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
os: [ubuntu-latest, windows-latest, macos-13]
include:
- os: ubuntu-latest
displayName: linux
archivePortable: tar -c -C build/distribution JabRef | pigz --rsyncable > build/distribution/JabRef-portable_linux.tar.gz && rm -R build/distribution/JabRef
- os: windows-latest
displayName: windows
archivePortable: 7z a -r build/distribution/JabRef-portable_windows.zip ./build/distribution/JabRef && rm -R build/distribution/JabRef
- os: macos-latest
- os: macos-13 # intel image
displayName: macOS
runs-on: ${{ matrix.os }}
outputs:
Expand Down Expand Up @@ -96,25 +96,25 @@ jobs:
gradle-home-cache-cleanup: true
- name: Prepare merged jars and modules dir (macOS)
# prepareModulesDir is executing a build, which should run through even if no upload to builds.jabref.org is made
if: (matrix.os == 'macos-latest') || (steps.checksecrets.outputs.secretspresent == 'NO')
if: (matrix.os == 'macos-13') || (steps.checksecrets.outputs.secretspresent == 'NO')
run: ./gradlew -i -PprojVersion="${{ steps.gitversion.outputs.AssemblySemVer }}" -PprojVersionInfo="${{ steps.gitversion.outputs.InformationalVersion }}" prepareModulesDir
- name: Setup macOS key chain
if: (matrix.os == 'macos-latest') && (steps.checksecrets.outputs.secretspresent == 'YES')
if: (matrix.os == 'macos-13') && (steps.checksecrets.outputs.secretspresent == 'YES')
uses: slidoapp/import-codesign-certs@1923310662e8682dd05b76b612b53301f431cd5d
with:
p12-file-base64: ${{ secrets.OSX_SIGNING_CERT }}
p12-password: ${{ secrets.OSX_CERT_PWD }}
keychain-password: jabref
- name: Setup macOS key chain for app id cert
if: (matrix.os == 'macos-latest') && (steps.checksecrets.outputs.secretspresent == 'YES')
if: (matrix.os == 'macos-13') && (steps.checksecrets.outputs.secretspresent == 'YES')
uses: slidoapp/import-codesign-certs@1923310662e8682dd05b76b612b53301f431cd5d
with:
p12-file-base64: ${{ secrets.OSX_SIGNING_CERT_APPLICATION }}
p12-password: ${{ secrets.OSX_CERT_PWD }}
create-keychain: false
keychain-password: jabref
- name: Build dmg (macOS)
if: (matrix.os == 'macos-latest') && (steps.checksecrets.outputs.secretspresent == 'YES')
if: (matrix.os == 'macos-13') && (steps.checksecrets.outputs.secretspresent == 'YES')
shell: bash
run: |
jpackage \
Expand Down Expand Up @@ -151,7 +151,7 @@ jobs:
--java-options --add-opens=javafx.controls/javafx.scene.control=org.jabref \
--java-options --add-opens=javafx.controls/com.sun.javafx.scene.control=org.jabref
- name: Build pkg (macOS)
if: (matrix.os == 'macos-latest') && (steps.checksecrets.outputs.secretspresent == 'YES')
if: (matrix.os == 'macos-13') && (steps.checksecrets.outputs.secretspresent == 'YES')
shell: bash
run: |
jpackage \
Expand Down Expand Up @@ -188,15 +188,15 @@ jobs:
--java-options --add-opens=javafx.controls/javafx.scene.control=org.jabref \
--java-options --add-opens=javafx.controls/com.sun.javafx.scene.control=org.jabref
- name: Build runtime image and installer (linux, Windows)
if: (matrix.os != 'macos-latest') && (steps.checksecrets.outputs.secretspresent == 'YES')
if: (matrix.os != 'macos-13') && (steps.checksecrets.outputs.secretspresent == 'YES')
shell: bash
run: ./gradlew -i -PprojVersion="${{ steps.gitversion.outputs.AssemblySemVer }}" -PprojVersionInfo="${{ steps.gitversion.outputs.InformationalVersion }}" jpackage jlinkZip
- name: Package application image (linux, Windows)
if: (matrix.os != 'macos-latest') && (steps.checksecrets.outputs.secretspresent == 'YES')
if: (matrix.os != 'macos-13') && (steps.checksecrets.outputs.secretspresent == 'YES')
shell: bash
run: ${{ matrix.archivePortable }}
- name: Rename files
if: (matrix.os != 'macos-latest') && (steps.checksecrets.outputs.secretspresent == 'YES')
if: (matrix.os != 'macos-13') && (steps.checksecrets.outputs.secretspresent == 'YES')
shell: pwsh
run: |
get-childitem -Path build/distribution/* | rename-item -NewName {$_.name -replace "${{ steps.gitversion.outputs.AssemblySemVer }}","${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}"}
Expand All @@ -213,7 +213,7 @@ jobs:
rm debian-binary control.tar.* data.tar.*
mv -f jabref_${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}_amd64_repackaged.deb jabref_${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}_amd64.deb
- name: Setup rsync (macOS)
if: ${{ (!startsWith(github.ref, 'refs/heads/gh-readonly-queue')) && (steps.checksecrets.outputs.secretspresent == 'YES') && ((matrix.os == 'macos-latest') && !((startsWith(github.ref, 'refs/tags/') || inputs.notarization == true))) }}
if: ${{ (!startsWith(github.ref, 'refs/heads/gh-readonly-queue')) && (steps.checksecrets.outputs.secretspresent == 'YES') && ((matrix.os == 'macos-13') && !((startsWith(github.ref, 'refs/tags/') || inputs.notarization == true))) }}
run: brew install rsync
- name: Setup rsync (Windows)
if: (matrix.os == 'windows-latest') && (steps.checksecrets.outputs.secretspresent == 'YES') && (!startsWith(github.ref, 'refs/heads/gh-readonly-queue'))
Expand All @@ -223,7 +223,7 @@ jobs:
# We do not use egor-tensin/setup-cygwin@v4, because it replaces the default shell
run: choco install --no-progress rsync
- name: Setup SSH key
if: ${{ (steps.checksecrets.outputs.secretspresent == 'YES') && (!startsWith(github.ref, 'refs/heads/gh-readonly-queue')) && ((matrix.os != 'macos-latest') || !((startsWith(github.ref, 'refs/tags/') || (inputs.notarization == true)))) }}
if: ${{ (steps.checksecrets.outputs.secretspresent == 'YES') && (!startsWith(github.ref, 'refs/heads/gh-readonly-queue')) && ((matrix.os != 'macos-13') || !((startsWith(github.ref, 'refs/tags/') || (inputs.notarization == true)))) }}
run: |
echo "${{ secrets.buildJabRefPrivateKey }}" > sshkey
chmod 600 sshkey
Expand All @@ -237,12 +237,12 @@ jobs:
# macOS: Negated condition of "Upload to GitHub workflow artifacts store (macOS)"
# Reason: We either upload the non-notarized files - or notarize the files later (and upload these later)
# needs to be on one line; multi line does not work
if: ${{ (!startsWith(github.ref, 'refs/heads/gh-readonly-queue')) && (steps.checksecrets.outputs.secretspresent == 'YES') && ((matrix.os == 'ubuntu-latest') || ((matrix.os == 'macos-latest') && !((startsWith(github.ref, 'refs/tags/') || inputs.notarization == true)))) }}
if: ${{ (!startsWith(github.ref, 'refs/heads/gh-readonly-queue')) && (steps.checksecrets.outputs.secretspresent == 'YES') && ((matrix.os == 'ubuntu-latest') || ((matrix.os == 'macos-13') && !((startsWith(github.ref, 'refs/tags/') || inputs.notarization == true)))) }}
shell: bash
run: |
rsync -rt --chmod=Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r --itemize-changes --stats --rsync-path="mkdir -p /var/www/builds.jabref.org/www/${{ steps.gitversion.outputs.branchName }} && rsync" -e 'ssh -p 9922 -i sshkey -o StrictHostKeyChecking=no' build/distribution/ [email protected]:/var/www/builds.jabref.org/www/${{ steps.gitversion.outputs.branchName }}/
- name: Upload to GitHub workflow artifacts store (macOS)
if: (matrix.os == 'macos-latest') && (steps.checksecrets.outputs.secretspresent == 'YES') && (startsWith(github.ref, 'refs/tags/') || inputs.notarization == true)
if: (matrix.os == 'macos-13') && (steps.checksecrets.outputs.secretspresent == 'YES') && (startsWith(github.ref, 'refs/tags/') || inputs.notarization == true)
uses: actions/upload-artifact@v4
with:
# tbn = to-be-notarized
Expand Down Expand Up @@ -283,7 +283,7 @@ jobs:
mode: recreate
notarize: # outsourced in a separate job to be able to rerun if this fails for timeouts
name: macOS notarization
runs-on: macos-latest
runs-on: macos-13
needs: [build]
if: ${{ startsWith(github.ref, 'refs/tags/') || inputs.notarization == true }}
steps:
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/gource.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,31 +25,31 @@ jobs:
- name: 'Development history of current build'
uses: BoundfoxStudios/action-gource@v2
with:
gource_title: 'JabRef v5.14 (in development) | more information at contribute.jabref.org'
gource_title: 'JabRef v5.16 (in development) | more information at contribute.jabref.org'
logo_url: 'https://www.jabref.org/img/JabRef-icon-256.png'
avatars_auto_fetch: true
# 5s * 365 / 4 = 7.5min
gource_seconds_per_day: 1
gource_start_date: '2024-04-01'
gource_start_date: '2024-07-11'
gource_file_filter: 'buildres/csl|\.csl'
- name: 'Store video'
run: |
mkdir gource-videos
mv ./gource/gource.mp4 ./gource-videos/jabref-v5.14-dev.mp4
mv ./gource/gource.mp4 ./gource-videos/jabref-v5.16-dev.mp4
- name: 'Development history of last release'
uses: BoundfoxStudios/action-gource@v2
with:
gource_title: 'JabRef v5.13 | more information at contribute.jabref.org'
gource_title: 'JabRef v5.15 | more information at contribute.jabref.org'
logo_url: 'https://www.jabref.org/img/JabRef-icon-256.png'
avatars_auto_fetch: true
# 5s * 365 / 4 = 7.5min
gource_seconds_per_day: 2
gource_start_date: '2023-12-24'
gource_stop_date: '2024-04-01'
gource_start_date: '2024-07-09'
gource_stop_date: '2024-07-10'
gource_file_filter: 'buildres/csl|\.csl'
- name: 'Store video'
run: |
mv ./gource/gource.mp4 ./gource-videos/jabref-v5.13.mp4
mv ./gource/gource.mp4 ./gource-videos/jabref-v5.15.mp4
- name: 'Complete development history'
uses: BoundfoxStudios/action-gource@v2
with:
Expand Down
5 changes: 2 additions & 3 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,11 @@ jobs:
java-version: 21.0.2
distribution: 'temurin'
- name: Run checkstyle reporter
uses: nikitasavinov/checkstyle-action@master
uses: dbelyaev/action-checkstyle@master
with:
reporter: github-pr-review
github_token: ${{ secrets.GITHUB_TOKEN }}
checkstyle_config: 'config/checkstyle/checkstyle_reviewdog.xml'
checkstyle_version: '10.3'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
with:
Expand Down Expand Up @@ -329,7 +328,7 @@ jobs:
- uses: actions/checkout@v4
with:
show-progress: 'false'
- uses: gradle/wrapper-validation-action@v3
- uses: gradle/actions/wrapper-validation@v3
# This ensures that no git merge conflict markers (<<<, ...) are contained
merge_conflict_job:
name: Find merge conflicts
Expand Down
43 changes: 38 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,38 @@ Note that this project **does not** adhere to [Semantic Versioning](https://semv

### Added

### Changed

### Fixed

### Removed










## [5.15] – 2024-07-10

### Added

- We made new groups automatically to focus upon creation. [#11449](https://github.com/JabRef/jabref/issues/11449)

### Fixed

- We fixed an issue where JabRef was no longer built for Intel based macs (x86) [#11468](https://github.com/JabRef/jabref/issues/11468)
- We fixed usage when using running on Snapcraft. [#11465](https://github.com/JabRef/jabref/issues/11465)
- We fixed detection for `soffice.exe` on Windows. [#11478](https://github.com/JabRef/jabref/pull/11478)
- We fixed an issue where saving preferences when importing preferences on first run in a snap did not work [forum#4399](https://discourse.jabref.org/t/how-to-report-problems-in-the-distributed-version-5-14-ensuring-that-one-can-no-longer-work-with-jabref/4399/5)

## [5.14] – 2024-07-08

### Added

- We added support for offline extracting references from PDFs following the IEEE format. [#11156](https://github.com/JabRef/jabref/pull/11156)
- We added a new keyboard shortcut <kbd>ctrl</kbd> + <kbd>,</kbd> to open the preferences. [#11154](https://github.com/JabRef/jabref/pull/11154)
- We added value selection (such as for month) for content selectors in custom entry types. [#11109](https://github.com/JabRef/jabref/issues/11109)
Expand Down Expand Up @@ -53,13 +85,12 @@ Note that this project **does not** adhere to [Semantic Versioning](https://semv
- We fixed an issue where the Pubmed/Medline Plain importer would not respect the user defined keyword separator [#11413](https://github.com/JabRef/jabref/issues/11413)
- We fixed an issue where the value of "Override default font settings" was not applied on startup [#11344](https://github.com/JabRef/jabref/issues/11344)
- We fixed an issue where DatabaseChangeDetailsView was not scrollable when reviewing external metadata changes [#11220](https://github.com/JabRef/jabref/issues/11220)
- We fixed undo/redo for text fields. [#11420](https://github.com/JabRef/jabref/issues/11420)
- We fixed an issue where clicking on a page number in the search results tab opens a wrong file in the document viewer. [#11432](https://github.com/JabRef/jabref/pull/11432)

### Removed





- We removed the misleading message "Doing a cleanup for X entries" when opening the Cleanup entries dialog [#11463](https://github.com/JabRef/jabref/pull/11463)

## [5.13] – 2024-04-01

Expand Down Expand Up @@ -1341,7 +1372,9 @@ The changelog of JabRef 4.x is available at the [v4.3.1 tag](https://github.com/
The changelog of JabRef 3.x is available at the [v3.8.2 tag](https://github.com/JabRef/jabref/blob/v3.8.2/CHANGELOG.md).
The changelog of JabRef 2.11 and all previous versions is available as [text file in the v2.11.1 tag](https://github.com/JabRef/jabref/blob/v2.11.1/CHANGELOG).

[Unreleased]: https://github.com/JabRef/jabref/compare/v5.13...HEAD
[Unreleased]: https://github.com/JabRef/jabref/compare/v5.15...HEAD
[5.15]: https://github.com/JabRef/jabref/compare/v5.14...v5.15
[5.14]: https://github.com/JabRef/jabref/compare/v5.13...v5.14
[5.13]: https://github.com/JabRef/jabref/compare/v5.12...v5.13
[5.12]: https://github.com/JabRef/jabref/compare/v5.11...v5.12
[5.11]: https://github.com/JabRef/jabref/compare/v5.10...v5.11
Expand Down
23 changes: 13 additions & 10 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ plugins {

id 'me.champeau.jmh' version '0.7.2'

id 'org.javamodularity.moduleplugin' version '1.8.15'
// This is https://github.com/java9-modularity/gradle-modules-plugin/pull/282
id 'com.github.koppor.gradle-modules-plugin' version 'jitpack-SNAPSHOT'

id 'org.openjfx.javafxplugin' version '0.1.0'

Expand All @@ -28,7 +29,7 @@ plugins {

id 'idea'

id 'org.openrewrite.rewrite' version '6.16.2'
id 'org.openrewrite.rewrite' version '6.16.3'
}

// Enable following for debugging
Expand Down Expand Up @@ -157,7 +158,7 @@ dependencies {
exclude group: 'commons-logging'
}

def luceneVersion = "9.11.0"
def luceneVersion = "9.11.1"
implementation "org.apache.lucene:lucene-core:$luceneVersion"
implementation "org.apache.lucene:lucene-queryparser:$luceneVersion"
implementation "org.apache.lucene:lucene-queries:$luceneVersion"
Expand Down Expand Up @@ -187,8 +188,8 @@ dependencies {

implementation group: 'org.eclipse.jgit', name: 'org.eclipse.jgit', version: '6.10.0.202406032230-r'

implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.17.1'
implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: '2.17.1'
implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.17.2'
implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: '2.17.2'

implementation 'com.fasterxml:aalto-xml:1.3.3'

Expand Down Expand Up @@ -224,7 +225,7 @@ dependencies {
exclude group: 'org.openjfx'
}
implementation 'org.fxmisc.flowless:flowless:0.7.3'
implementation 'org.fxmisc.richtext:richtextfx:0.11.2'
implementation 'org.fxmisc.richtext:richtextfx:0.11.3'
implementation (group: 'com.dlsc.gemsfx', name: 'gemsfx', version: '2.32.0') {
exclude module: 'javax.inject' // Split package, use only jakarta.inject
exclude module: 'commons-lang3'
Expand Down Expand Up @@ -284,7 +285,7 @@ dependencies {
implementation 'org.glassfish.jersey.core:jersey-server:3.1.7'
// injection framework
implementation 'org.glassfish.jersey.inject:jersey-hk2:3.1.7'
implementation 'org.glassfish.hk2:hk2-api:3.1.0'
implementation 'org.glassfish.hk2:hk2-api:3.1.1'
// testImplementation 'org.glassfish.hk2:hk2-testing:3.0.4'
// implementation 'org.glassfish.hk2:hk2-testing-jersey:3.0.4'
// testImplementation 'org.glassfish.hk2:hk2-junitrunner:3.0.4'
Expand All @@ -310,8 +311,8 @@ dependencies {
implementation 'commons-io:commons-io:2.16.1'

testImplementation 'io.github.classgraph:classgraph:4.8.174'
testImplementation 'org.junit.jupiter:junit-jupiter:5.10.2'
testImplementation 'org.junit.platform:junit-platform-launcher:1.10.2'
testImplementation 'org.junit.jupiter:junit-jupiter:5.10.3'
testImplementation 'org.junit.platform:junit-platform-launcher:1.10.3'

testImplementation 'org.mockito:mockito-core:5.12.0'
testImplementation 'org.xmlunit:xmlunit-core:2.10.0'
Expand All @@ -327,7 +328,7 @@ dependencies {
xjc group: 'org.glassfish.jaxb', name: 'jaxb-xjc', version: '3.0.2'
xjc group: 'org.glassfish.jaxb', name: 'jaxb-runtime', version: '3.0.2'

rewrite(platform("org.openrewrite.recipe:rewrite-recipe-bom:2.13.2"))
rewrite(platform("org.openrewrite.recipe:rewrite-recipe-bom:2.14.0"))
rewrite("org.openrewrite.recipe:rewrite-static-analysis")
rewrite("org.openrewrite.recipe:rewrite-logging-frameworks")
rewrite("org.openrewrite.recipe:rewrite-testing-frameworks")
Expand Down Expand Up @@ -496,6 +497,8 @@ run {
'javafx.controls/javafx.scene.control.skin' : 'org.controlsfx.controls',
'javafx.graphics/javafx.scene' : 'org.controlsfx.controls'
]

createCommandLineArgumentFile = true
}

if (project.hasProperty('component')){
Expand Down
Loading

0 comments on commit e2c715b

Please sign in to comment.