Skip to content

Commit e3c2415

Browse files
committed
Merge remote-tracking branch 'upstream/master' into fixExporterSelectionCaseInsensitive
* upstream/master: (32 commits) Fix Export to clipboard Dialog icon (#6345) Refactor EntryEditorPreferences (#6245) Update label names Squashed 'src/main/resources/csl-locales/' changes from d0ee4d13c9..79845b087b Squashed 'src/main/resources/csl-styles/' changes from c1793d2..143464e Cite work by @ayaankazerouni Improve performance for loading files (#6332) Add ADR von JUnit vs. AssertJ (#6335) 'Name' textfield on focus instead of 'OK' button when user clicks on 'Add subgroup' option (#6330) Bump jurt from 6.3.2 to 6.4.3 (#6325) Bump unoil from 6.3.2 to 6.4.3 (#6320) Bump ridl from 6.3.2 to 6.4.3 (#6326) Bump classgraph from 4.8.69 to 4.8.71 (#6322) Bump flexmark from 0.61.6 to 0.61.16 (#6318) Bump richtextfx from 0.10.4 to 0.10.5 (#6319) Bump guava from 28.2-jre to 29.0-jre (#6323) Bump flexmark-ext-gfm-tasklist from 0.61.6 to 0.61.16 (#6327) Bump org.beryx.jlink from 2.17.5 to 2.17.7 (#6324) Improve performance massively by fixing a stupid binding mistake (#6316) Fixed missing paste command (#6313) ...
2 parents f57c841 + 41b1705 commit e3c2415

File tree

139 files changed

+1936
-1653
lines changed

Some content is hidden

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

139 files changed

+1936
-1653
lines changed

.github/workflows/deployment.yml

+1-22
Original file line numberDiff line numberDiff line change
@@ -54,31 +54,10 @@ jobs:
5454
uses: actions/setup-java@v1
5555
with:
5656
java-version: 14
57-
- uses: actions/cache@v1
58-
name: Restore gradle cache
59-
with:
60-
path: ~/.gradle/caches
61-
key: ${{ runner.os }}-gradle-cache-${{ hashFiles('**/*.gradle') }}
62-
# in case there is no cache for the current OS, fall back to any other OS
63-
restore-keys: |
64-
${{ runner.os }}-gradle-cache-
65-
Linux-gradle-cache-${{ hashFiles('**/*.gradle') }}
66-
Windows-gradle-cache-${{ hashFiles('**/*.gradle') }}
67-
macOS-gradle-cache-${{ hashFiles('**/*.gradle') }}
68-
- uses: actions/cache@v1
69-
name: Cache gradle wrapper
70-
with:
71-
path: ~/.gradle/wrapper
72-
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
73-
# in case there is no cache for the current OS, fall back to any other OS
74-
restore-keys: |
75-
Linux-gradle-wrapper-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
76-
Windows-gradle-wrapper-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
77-
macOS-gradle-wrapper-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
7857
- name: Build runtime image
7958
run: ./gradlew -PprojVersion="${{ steps.gitversion.outputs.AssemblySemVer }}" -PprojVersionInfo="${{ steps.gitversion.outputs.InformationalVersion }}" jlinkZip
8059
- name: Build installer
81-
run: ./gradlew -PprojVersion="${{ steps.gitversion.outputs.AssemblySemVer }}" -PprojVersionInfo="${{ steps.gitversion.outputs.InformationalVersion }}" jpackage
60+
run: ./gradlew -i -PprojVersion="${{ steps.gitversion.outputs.AssemblySemVer }}" -PprojVersionInfo="${{ steps.gitversion.outputs.InformationalVersion }}" jpackage
8261
shell: bash
8362
- name: Package application image
8463
run: ${{ matrix.archivePortable }}

.github/workflows/stale.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ jobs:
1313
with:
1414
repo-token: ${{ secrets.GITHUB_TOKEN }}
1515
stale-issue-message: 'This issue will be closed in 7 days due to inactivity :zzz: Please provide the requested information if the problem persists.'
16-
stale-issue-label: 's: stale'
16+
stale-issue-label: 'status: stale'
1717
days-before-stale: 30
18-
only-labels: 's: waiting-for-customer-feedback'
18+
only-labels: 'status: waiting-for-customer-feedback'

.idea/runConfigurations/JabRef_Main.xml

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve
1616
- We added tooltips for most fields in the entry editor containing a short description. [#5847](https://github.com/JabRef/jabref/issues/5847)
1717
- We added support for basic markdown in custom formatted previews [#6194](https://github.com/JabRef/jabref/issues/6194)
1818
- We now show the number of items found and selected to import in the online search dialog. [#6248](https://github.com/JabRef/jabref/pull/6248)
19+
- We created a new install screen for macOS. [#5759](https://github.com/JabRef/jabref/issues/5759)
1920

2021
### Changed
2122

@@ -40,6 +41,8 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve
4041
- We fixed an issue where custom exports with an uppercase file extension could not be selected for "Copy...-> Export to Clipboard" [#6285](https://github.com/JabRef/jabref/issues/6285)
4142

4243
- We fixed the display of icon both in the main table and linked file editor. [#6169](https://github.com/JabRef/jabref/issues/6169)
44+
- We fixed the paste entry command in the menu and toolbar, that did not do anything. [#6293](https://github.com/JabRef/jabref/issues/6293)
45+
- We fixed an issue where the windows installer did not create an entry in the start menu [bug report in the forum](https://discourse.jabref.org/t/error-while-fetching-from-doi/2018/3)
4346

4447
### Removed
4548

@@ -88,8 +91,10 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve
8891
- We fixed an issue where citation styles except the default "Preview" could not be used. [#56220](https://github.com/JabRef/jabref/issues/5622)
8992
- We fixed an issue where a warning was displayed when the title content is made up of two sentences. [#5832](https://github.com/JabRef/jabref/issues/5832)
9093
- We fixed an issue where an exception was thrown when adding a save action without a selected formatter in the library properties [#6069](https://github.com/JabRef/jabref/issues/6069)
94+
- We fixed an issue where JabRef's icon was missing in the Export to clipboard Dialog. [#6286](https://github.com/JabRef/jabref/issues/6286)
9195
- We fixed an issue when an "Abstract field" was duplicating text, when importing from RIS file (Neurons) [#6065](https://github.com/JabRef/jabref/issues/6065)
9296

97+
9398
### Removed
9499

95100
- Ampersands are no longer escaped by default in the `bib` file. If you want to keep the current behaviour, you can use the new "Escape Ampersands" formatter as a save action. [#5869](https://github.com/JabRef/jabref/issues/5869)
@@ -245,6 +250,7 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve
245250
- We added a 'LaTeX citations' tab to the entry editor, to search for citations to the active entry in the LaTeX file directory. It can be disabled in the preferences dialog.
246251
- We added an option in preferences to allow for integers in field "edition" when running database in bibtex mode. [#4680](https://github.com/JabRef/jabref/issues/4680)
247252
- We added the ability to use negation in export filter layouts. [#5138](https://github.com/JabRef/jabref/pull/5138)
253+
- Focus on Name Area instead of 'OK' button whenever user presses 'Add subgroup'. [#6307](https://github.com/JabRef/jabref/issues/6307)
248254

249255
### Fixed
250256

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ JabRef supports you in every step of your research work.
2323
- Easily retrieve and link full-text articles
2424
- Fetch complete bibliographic information based on ISBN, DOI, PubMed-ID and arXiv-ID
2525
- Extract metadata from PDFs
26-
- [JabFox Firefox Add-on](https://addons.mozilla.org/en-US/firefox/addon/jabfox/) lets you import new references directly from the browser with one click
26+
- Import new references directly from the browser with one click using the [official browser extension](https://github.com/JabRef/JabRef-Browser-Extension) for [Firefox](https://addons.mozilla.org/en-US/firefox/addon/jabref/?src=external-github), [Chrome](https://chrome.google.com/webstore/detail/jabref-browser-extension/bifehkofibaamoeaopjglfkddgkijdlh), [Edge](https://microsoftedge.microsoft.com/addons/detail/pgkajmkfgbehiomipedjhoddkejohfna) and [Vivaldi](https://chrome.google.com/webstore/detail/jabref-browser-extension/bifehkofibaamoeaopjglfkddgkijdlh)
2727

2828
### Organize
2929

@@ -88,7 +88,7 @@ We view pull requests as a collaborative process.
8888
Submit a pull request early to get feedback from the team on work in progress.
8989
We will discuss improvements with you and agree to merge them once the [developers](https://github.com/JabRef/jabref/blob/master/DEVELOPERS) approve.
9090

91-
If you want a step-by-step walk-through on how to set-up your workspace, please check [this guideline](https://devdocs.jabref.org/guidelines-for-setting-up-a-local-workspace/).
91+
If you want a step-by-step walk-through on how to set-up your workspace, please check [this guideline](https://devdocs.jabref.org/getting-into-the-code/guidelines-for-setting-up-a-local-workspace).
9292

9393
To compile JabRef from source, you need a Java Development Kit 14 and `JAVA_HOME` pointing to this JDK.
9494
To run it, just execute `gradlew run`.

build.gradle

+17-11
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ plugins {
2222
id 'com.github.ben-manes.versions' version '0.28.0'
2323
id 'org.javamodularity.moduleplugin' version '1.5.0'
2424
id 'org.openjfx.javafxplugin' version '0.0.8'
25-
id 'org.beryx.jlink' version '2.17.5'
25+
id 'org.beryx.jlink' version '2.17.7'
2626

2727
// nicer test outputs during running and completion
2828
id 'com.adarshr.test-logger' version '2.0.0'
@@ -128,10 +128,10 @@ dependencies {
128128
// See https://bugs.documentfoundation.org/show_bug.cgi?id=117331#c8 for background information
129129
// Use the task bundleLibreOffice to update the bundled jar
130130
// DO NOT CHANGE THE libreoffice PREFIX
131-
libreoffice 'org.libreoffice:juh:6.3.2'
132-
libreoffice 'org.libreoffice:jurt:6.3.2'
133-
libreoffice 'org.libreoffice:ridl:6.3.2'
134-
libreoffice 'org.libreoffice:unoil:6.3.2'
131+
libreoffice 'org.libreoffice:juh:6.4.3'
132+
libreoffice 'org.libreoffice:jurt:6.4.3'
133+
libreoffice 'org.libreoffice:ridl:6.4.3'
134+
libreoffice 'org.libreoffice:unoil:6.4.3'
135135

136136
implementation 'io.github.java-diff-utils:java-diff-utils:4.5'
137137
implementation 'info.debatty:java-string-similarity:1.2.1'
@@ -151,7 +151,7 @@ dependencies {
151151
exclude module: 'oraclepki'
152152
}
153153

154-
implementation ('com.google.guava:guava:28.2-jre') {
154+
implementation ('com.google.guava:guava:29.0-jre') {
155155
// TODO: Remove this as soon as https://github.com/google/guava/issues/2960 is fixed
156156
exclude module: "jsr305"
157157
}
@@ -165,7 +165,7 @@ dependencies {
165165
implementation 'de.saxsys:mvvmfx:1.8.0'
166166
implementation 'org.fxmisc.easybind:easybind:1.0.3'
167167
implementation 'org.fxmisc.flowless:flowless:0.6.1'
168-
implementation 'org.fxmisc.richtext:richtextfx:0.10.4'
168+
implementation 'org.fxmisc.richtext:richtextfx:0.10.5'
169169
implementation group: 'org.glassfish.hk2.external', name: 'jakarta.inject', version: '2.6.1'
170170
implementation 'com.jfoenix:jfoenix:9.0.9'
171171
implementation 'org.controlsfx:controlsfx:11.0.1'
@@ -196,11 +196,11 @@ dependencies {
196196
exclude module: "log4j-core"
197197
}
198198

199-
implementation 'com.vladsch.flexmark:flexmark:0.61.6'
199+
implementation 'com.vladsch.flexmark:flexmark:0.61.16'
200200
implementation 'com.vladsch.flexmark:flexmark-ext-gfm-strikethrough:0.61.6'
201-
implementation 'com.vladsch.flexmark:flexmark-ext-gfm-tasklist:0.61.6'
201+
implementation 'com.vladsch.flexmark:flexmark-ext-gfm-tasklist:0.61.16'
202202

203-
testImplementation 'io.github.classgraph:classgraph:4.8.69'
203+
testImplementation 'io.github.classgraph:classgraph:4.8.71'
204204
testImplementation 'org.junit.jupiter:junit-jupiter:5.6.2'
205205
testRuntimeOnly 'org.junit.vintage:junit-vintage-engine:5.6.2'
206206
testImplementation 'org.junit.platform:junit-platform-launcher:1.6.2'
@@ -648,9 +648,11 @@ jlink {
648648
installerOptions = [
649649
'--vendor', 'JabRef',
650650
'--app-version', "${project.version}",
651+
'--verbose',
651652
'--win-upgrade-uuid', 'd636b4ee-6f10-451e-bf57-c89656780e36',
652653
'--win-dir-chooser',
653654
'--win-shortcut',
655+
'--win-menu',
654656
'--temp', "$buildDir/installer",
655657
'--resource-dir', "${projectDir}/buildres/windows",
656658
'--file-associations', "${projectDir}/buildres/windows/bibtexAssociations.properties"
@@ -662,6 +664,7 @@ jlink {
662664
'--icon', "${projectDir}/src/main/resources/icons/JabRef-icon-64.png",
663665
]
664666
installerOptions = [
667+
'--verbose',
665668
'--vendor', 'JabRef',
666669
'--app-version', "${project.version}",
667670
// '--temp', "$buildDir/installer",
@@ -678,11 +681,14 @@ jlink {
678681
if (OperatingSystem.current().isMacOsX()) {
679682
imageOptions = [
680683
'--icon', "${projectDir}/src/main/resources/icons/jabref.icns",
684+
'--resource-dir', "${projectDir}/buildres/mac"
681685
]
682686
installerOptions = [
687+
'--verbose',
683688
'--vendor', 'JabRef',
684689
'--app-version', "${project.version}",
685-
'--file-associations', "${projectDir}/buildres/mac/bibtexAssociations.properties"
690+
'--file-associations', "${projectDir}/buildres/mac/bibtexAssociations.properties",
691+
'--resource-dir', "${projectDir}/buildres/mac"
686692
]
687693
}
688694
}

buildres/mac/JabRef-background.tiff

61.6 KB
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# Use Plain JUnit5 for advanced test assertions
2+
3+
## Context and Problem Statement
4+
5+
How to write readable test assertions?
6+
How to write readable test assertions for advanced tests?
7+
8+
## Considered Options
9+
10+
* Plain JUnit5
11+
* Hamcrest
12+
* AssertJ
13+
14+
## Decision Outcome
15+
16+
Chosen option: "Plain JUnit5", because comes out best \(see below\).
17+
18+
### Positive Consequences
19+
20+
* Tests are more readable
21+
* More easy to write tests
22+
* More readable assertions
23+
24+
### Negative Consequences
25+
26+
* More complicated testing leads to more complicated assertions
27+
28+
## Pros and Cons of the Options
29+
30+
### Plain JUnit5
31+
32+
Homepage: <https://junit.org/junit5/docs/current/user-guide/>
33+
JabRef testing guidelines: <https://devdocs.jabref.org/getting-into-the-code/code-howtos#test-cases>
34+
35+
Example:
36+
37+
```java
38+
String actual = markdownFormatter.format(source);
39+
assertTrue(actual.contains("Markup<br />"));
40+
assertTrue(actual.contains("<li>list item one</li>"));
41+
assertTrue(actual.contains("<li>list item 2</li>"));
42+
assertTrue(actual.contains("> rest"));
43+
assertFalse(actual.contains("\n"));
44+
```
45+
46+
* Good, because Junit5 is "common Java knowledge"
47+
* Bad, because complex assertions tend to get hard to read
48+
* Bad, because no fluent API
49+
50+
### Hamcrest
51+
52+
Homepage: <http://hamcrest.org/JavaHamcrest/>
53+
54+
* Good, because offers advanced matchers (such as `contains`)
55+
* Bad, because not full fluent API
56+
* Bad, because entry barrier is increased
57+
58+
### AssertJ
59+
60+
Homepage: <https://joel-costigliola.github.io/assertj/>
61+
62+
Example:
63+
64+
```java
65+
assertThat(markdownFormatter.format(source))
66+
.contains("Markup<br />")
67+
.contains("<li>list item one</li>")
68+
.contains("<li>list item 2</li>")
69+
.contains("> rest")
70+
.doesNotContain("\n");
71+
```
72+
73+
* Good, because offers fluent assertions
74+
* Good, because allows partial string testing to focus on important parts
75+
* Good, because assertions are more readable
76+
* Bad, because not commonly used
77+
* Bad, because newcomers have to learn an additional language to express test cases
78+
* Bad, because entry barrier is increased
79+
* Bad, because expressions of test cases vary from unit test to unit test
80+
81+
## Links
82+
83+
* German comparison between Hamcrest and AssertJ: <https://www.sigs-datacom.de/uploads/tx_dmjournals/philipp_JS_06_15_gRfN.pdf>

docs/teaching.md

+9
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,15 @@ Course [Open Source Software](https://github.com/igorsteinmacher/DSL-UTFPR)
120120
- Summary: Students are requested to contribute to an Open Source project to learn about the maintenance and evolution of software projects. This project is the predecessor of NAU's CS499.
121121
- Course offered from 2013 to 2016 with different names
122122

123+
## Interesting Read for Students and Advisors
124+
125+
- [Developing Procrastination Feedback for Student Software Developers](https://medium.com/@ayaankazerouni/developing-procrastination-feedback-for-student-software-developers-1652de60db7f) by [@ayaankazerouni](https://github.com/ayaankazerouni?tab=overview&from=2015-12-01&to=2015-12-31)
126+
> When students worked earlier and more often, they produced projects that:
127+
>
128+
> - were more correct,
129+
> - were completed earlier,
130+
> - took no more or less time to complete
131+
123132
## References
124133

125134
<a id="LientzSwanson" href="#a1">1</a>: Lientz B., Swanson E., 1980: Software Maintenance Management. Addison Wesley, Reading, MA.

snap/snapcraft.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@ environment:
4848
parts:
4949
jabref:
5050
plugin: dump
51-
# source: build/distribution/JabRef-5.0-portable_linux.tar.gz
51+
# source: build/distribution/JabRef-5.1-portable_linux.tar.gz
5252
# Use this source for debug purposes:
53-
source: https://builds.jabref.org/master/JabRef-5.0-portable_linux.tar.gz
53+
source: https://builds.jabref.org/master/JabRef-5.1-portable_linux.tar.gz
5454
stage-packages:
5555
- x11-utils
5656
override-build: |

0 commit comments

Comments
 (0)