Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into selectFilesDlg
Browse files Browse the repository at this point in the history
* upstream/master: (41 commits)
  update xmlunit from 2.3.0 -> 2.4.0
  update wiremock from 2.6.0 -> 2.7.0
  update controlsfx from 8.40.12 -> 8.40.13
  Fix group freeze by running markBasechange in swing thread (#3058)
  Localization: French: translation of new entries (#3050)
  Fix ads fetcher (#3048)
  Update translation (#3041)
  Translate new strings (#3040)
  Fix navigation in entry editor increases modifies font size (#3037)
  Initial idea for architectural decision records (#3033)
  Readd comment
  Readd comment
  Fix keybdining in entry editor in localized installation (#3030)
  Structuring
  Upgrade shadowJar
  Modernizer improvements
  Replace Reimplement MappedList.kt (#3032)
  Use https for the maven ej-technologies repo
  Upgrade modernizer plugin
  Remove separator next to search bar
  ...
  • Loading branch information
Siedlerchr committed Jul 31, 2017
2 parents 136a844 + ed815b4 commit b6d43dc
Show file tree
Hide file tree
Showing 55 changed files with 464 additions and 225 deletions.
3 changes: 3 additions & 0 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -118,3 +118,6 @@ Saulius Gražulis <grazulis@ibt.lt>
Rolf Starre <rolf.starre@gmail.com> <RolfStarre@users.noreply.github.com>
Owen Huang <ohuang12@users.noreply.github.com>
Anita Armbruster <armbruan@gmail.com>
Fabian Bauer <125m125@users.noreply.github.com>
Jong-Ho Shinn <jhshinn@kaist.edu>
Nadeem Mahmood <mahmoodn@purdue.edu>
6 changes: 4 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ env:
- TEST_SUITE=fetcherTest
- TEST_SUITE=databaseTest
- TEST_SUITE=guiTest
- TEST_SUITE=checkstyle

matrix:
fast_finish: true
Expand All @@ -37,9 +38,10 @@ before_script:
- mysql -u root -e 'create database jabref'

script:
# -Dscan enables the Gradle build scan, which can be used to investiage the time each action consumes
# --scan enables the Gradle build scan, which can be used to investiage the time each action consumes
# For more information see https://gradle.com/scans/get-started
- if [ "$TEST_SUITE" != "guiTest" ]; then ./gradlew $TEST_SUITE $OPTIONS -Dscan; fi
- if [ "$TEST_SUITE" != "guiTest" ] && [ "$TEST_SUITE" != "checkstyle" ]; then ./gradlew $TEST_SUITE $OPTIONS --scan; fi
- if [ "$TEST_SUITE" == "checkstyle" ]; then ./gradlew checkstyleMain checkstyleTest checkstyleJmh; fi
- if [ "$TEST_SUITE" == "guiTest" ]; then ./buildres/gui-tests.sh; fi

after_success:
Expand Down
7 changes: 7 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ Egon Willighagen
Ellen Reitmayr
Erik Putrycz
Ervin Kolenovic
Fabian Bauer
Fabian Bieker
Fabrice Dessaint
Fedor Bezrukov
Expand Down Expand Up @@ -79,6 +80,7 @@ John David
John Relph
John Zedlewski
Jonathan Powell
Jong-Ho Shinn
Jorge Tornero
Joshua Ramon Enslin
Jörg Lenhard
Expand Down Expand Up @@ -119,7 +121,9 @@ Michel Baylac
Mike Smoot
Moritz Ringler
Morten Alver
mpele
Mélanie Tremblay
Nadeem Mahmood
Nathan Dunn
Nathan Sheffield
Nicolas Pavillon
Expand Down Expand Up @@ -166,12 +170,14 @@ Sven Jäger
The Gitter Badger
Thiago Toledo
Thomas Arildsen
Thomas Ilsche
Thorsten Dahlheimer
Tim van Rossum
Tobias Boceck
Tobias Denkinger
Tobias Diez
tokkot
Tony K
Toralf Senger
uid112001
Ulrich Stärk
Expand All @@ -185,3 +191,4 @@ wuw
Yang Zongze
Yara Grassi Gouffon
Yifan Peng
zacmks
88 changes: 54 additions & 34 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,41 +11,10 @@ We refer to [GitHub issues](https://github.com/JabRef/jabref/issues) by using `#
## [Unreleased]

### Changed
- We moved the `adsurl` field to `url` field when fetching with the ADS fetcher.
- We continued to improve the new groups interface:
- You can now again select multiple groups (and a few related settings were added to the preferences) [#2786](https://github.com/JabRef/jabref/issues/2786).
- We further improved performance of group operations, especially of the new filter feature [#2852](https://github.com/JabRef/jabref/issues/2852).
- It is now possible to resort groups using drag & drop [#2785](https://github.com/JabRef/jabref/issues/2785).
- The entry editor got a fresh coat of paint:
- Homogenize the size of text fields.
- The buttons were changed to icons.
- Completely new interface to add or modify linked files.
- Removed the hidden feature that a double click in the editor inserted the current date.
- Complete new implementation of the the auto complete feature.
- All authors and editors are separated using semicolons when exporting to csv. [#2762](https://github.com/JabRef/jabref/issues/2762)
- Improved wording of "Show recommendations: into "Show 'Related Articles' tab" in the preferences
- We added integration of the Library of Congress catalog as a fetcher based on the [LCCN identifier](https://en.wikipedia.org/wiki/Library_of_Congress_Control_Number). [Feature request 636 in the forum](http://discourse.jabref.org/t/loc-marc-mods-connection/636)
- The integrity check for person names now also tests that the names are specified in one of the standard BibTeX formats.
- Links in the Recommended Articles tab (Mr.DLib), when clicked, are now opened in the system's default browser. [2931](https://github.com/JabRef/jabref/issues/2931)
- We improved the duplicate checker such that different editions of the same publication are not marked as duplicates. [2960](https://github.com/JabRef/jabref/issues/2960)

### Fixed
- We fixed a bug that leaves .sav file after SaveAs [#2947](https://github.com/JabRef/jabref/issues/2947)
- We fixed the function "Edit - Copy BibTeX key and link" to pass a hyperlink rather than an HTML statement.
- We fixed the adding of a new entry from DOI which led to a connection error. The DOI resolution now uses HTTPS to protect the user's privacy.[#2879](https://github.com/JabRef/jabref/issues/2897)
- We fixed the IEEE Xplore web search functionality [#2789](https://github.com/JabRef/jabref/issues/2789)
- We fixed an error in the CrossRef fetcher that occurred if one of the fetched entries had no title
- We fixed an issue that prevented new entries to be automatically assigned to the currently selected group [#2783](https://github.com/JabRef/jabref/issues/2783).
- We fixed a bug that only allowed parsing positive timezones from a FileAnnotation [#2839](https://github.com/JabRef/jabref/issues/2839)
- We fixed a bug that did not allow the correct re-export of the MS-Office XML field `msbib-accessed` with a different date format [#2859](https://github.com/JabRef/jabref/issues/2859).
- We fixed some bugs that prevented the display of FileAnnotations that were created using the Foxit Reader. [#2839, comment](https://github.com/JabRef/jabref/issues/2839#issuecomment-302058227).
- We fixed an error that prevented the FileAnnotation tab to load when the entry had no bibtexkey [#2903](https://github.com/JabRef/jabref/issues/2903).
- We fixed a bug which which could result in an exception when opening/saving files from/to a nonexistent directory [#2917](https://github.com/JabRef/jabref/issues/2917).
- We fixed a bug where recursive RegExpBased search found a file in a subdirectory multiple times and non-recursive RegExpBased search erroneously found files in subdirectories.
- We fixed a bug where new groups information was not stored on save [#2932](https://github.com/JabRef/jabref/issues/2932)
- We fixed a bug where the language files for Brazilian Portugese could not be loaded and the GUI localization remained in English [#1128](https://github.com/JabRef/jabref/issues/1182)
- We fixed a bug where the database was not marked as dirty when entries or groups were changed [#2787](https://github.com/JabRef/jabref/issues/2787)
- We restored the original functionality that when browsing through the MainTable, the Entry Editor remembers which tab was opened before [#2896](https://github.com/JabRef/jabref/issues/2896)
We fixed an issue where the fetcher for the Astrophysics Data System (ADS) added some non-bibtex data to the entry returned from the search [#3035](https://github.com/JabRef/jabref/issues/3035)
We fixed an issue where assigning an entry via drag and drop to a group caused JabRef to stop/freeze completely [#3036](https://github.com/JabRef/jabref/issues/3036)
### Removed


Expand Down Expand Up @@ -88,6 +57,56 @@ We refer to [GitHub issues](https://github.com/JabRef/jabref/issues) by using `#













## [4.0-beta2] – 2017-07-18

### Changed
- We moved the `adsurl` field to `url` field when fetching with the ADS fetcher.
- We continued to improve the new groups interface:
- You can now again select multiple groups (and a few related settings were added to the preferences) [#2786](https://github.com/JabRef/jabref/issues/2786).
- We further improved performance of group operations, especially of the new filter feature [#2852](https://github.com/JabRef/jabref/issues/2852).
- It is now possible to resort groups using drag & drop [#2785](https://github.com/JabRef/jabref/issues/2785).
- The entry editor got a fresh coat of paint:
- Homogenize the size of text fields.
- The buttons were changed to icons.
- Completely new interface to add or modify linked files.
- Removed the hidden feature that a double click in the editor inserted the current date.
- Complete new implementation of the the auto complete feature.
- All authors and editors are separated using semicolons when exporting to csv. [#2762](https://github.com/JabRef/jabref/issues/2762)
- Improved wording of "Show recommendations: into "Show 'Related Articles' tab" in the preferences
- We added integration of the Library of Congress catalog as a fetcher based on the [LCCN identifier](https://en.wikipedia.org/wiki/Library_of_Congress_Control_Number). [Feature request 636 in the forum](http://discourse.jabref.org/t/loc-marc-mods-connection/636)
- The integrity check for person names now also tests that the names are specified in one of the standard BibTeX formats.
- Links in the Recommended Articles tab (Mr.DLib), when clicked, are now opened in the system's default browser. [2931](https://github.com/JabRef/jabref/issues/2931)
- We improved the duplicate checker such that different editions of the same publication are not marked as duplicates. [2960](https://github.com/JabRef/jabref/issues/2960)

### Fixed
- We fixed a bug that leaves .sav file after SaveAs [#2947](https://github.com/JabRef/jabref/issues/2947)
- We fixed the function "Edit - Copy BibTeX key and link" to pass a hyperlink rather than an HTML statement.
- We fixed the adding of a new entry from DOI which led to a connection error. The DOI resolution now uses HTTPS to protect the user's privacy.[#2879](https://github.com/JabRef/jabref/issues/2897)
- We fixed the IEEE Xplore web search functionality [#2789](https://github.com/JabRef/jabref/issues/2789)
- We fixed an error in the CrossRef fetcher that occurred if one of the fetched entries had no title
- We fixed an issue that prevented new entries to be automatically assigned to the currently selected group [#2783](https://github.com/JabRef/jabref/issues/2783).
- We fixed a bug that only allowed parsing positive timezones from a FileAnnotation [#2839](https://github.com/JabRef/jabref/issues/2839)
- We fixed a bug that did not allow the correct re-export of the MS-Office XML field `msbib-accessed` with a different date format [#2859](https://github.com/JabRef/jabref/issues/2859).
- We fixed some bugs that prevented the display of FileAnnotations that were created using the Foxit Reader. [#2839, comment](https://github.com/JabRef/jabref/issues/2839#issuecomment-302058227).
- We fixed an error that prevented the FileAnnotation tab to load when the entry had no bibtexkey [#2903](https://github.com/JabRef/jabref/issues/2903).
- We fixed a bug which which could result in an exception when opening/saving files from/to a nonexistent directory [#2917](https://github.com/JabRef/jabref/issues/2917).
- We fixed a bug where recursive RegExpBased search found a file in a subdirectory multiple times and non-recursive RegExpBased search erroneously found files in subdirectories.
- We fixed a bug where new groups information was not stored on save [#2932](https://github.com/JabRef/jabref/issues/2932)
- We fixed a bug where the language files for Brazilian Portugese could not be loaded and the GUI localization remained in English [#1128](https://github.com/JabRef/jabref/issues/1182)
- We fixed a bug where the database was not marked as dirty when entries or groups were changed [#2787](https://github.com/JabRef/jabref/issues/2787)
- We fixed a bug where editors in the DocBook export were not exported [#3020](https://github.com/JabRef/jabref/issues/3020)
- We fixed a bug where the source tab was not updated when one the fields was changed [#2888](https://github.com/JabRef/jabref/issues/2888)
- We restored the original functionality that when browsing through the MainTable, the Entry Editor remembers which tab was opened before [#2896](https://github.com/JabRef/jabref/issues/2896)

## [4.0-beta] – 2017-04-17

Expand Down Expand Up @@ -878,7 +897,8 @@ Since much functionality has changed during development, a release of this versi

The changelog of 2.11 and versions before is maintained as [text file](https://github.com/JabRef/jabref/blob/v2.11.1/CHANGELOG) in the [v2.11.1 tag](https://github.com/JabRef/jabref/tree/v2.11.1).

[unreleased]: https://github.com/JabRef/jabref/compare/v4.0-beta...HEAD
[unreleased]: https://github.com/JabRef/jabref/compare/v4.0-beta2...HEAD
[4.0-beta2]: https://github.com/JabRef/jabref/compare/v4.0-beta...v4.0-beta2
[4.0-beta]: https://github.com/JabRef/jabref/compare/v3.8.2...v4.0-beta
[3.8.2]: https://github.com/JabRef/jabref/compare/v3.8.1...v3.8.2
[3.8.1]: https://github.com/JabRef/jabref/compare/v3.8...v3.8.1
Expand Down
1 change: 1 addition & 0 deletions DEVELOPERS
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ Matthias Geiger (since 2015)
Oscar Gustafsson (since 2015)
Tobias Diez (since 2015)
Christoph Schwentker (since 2016)
Linus Dietz (since 2017)
85 changes: 24 additions & 61 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,14 @@ import org.gradle.internal.os.OperatingSystem

// to update the gradle wrapper, execute ./gradlew wrapper --gradle-version 3.0

buildscript {
repositories {
maven {
url 'http://maven.ej-technologies.com/repository'
}
}
dependencies {
classpath 'com.github.edwgiz:maven-shade-plugin.log4j2-cachefile-transformer:2.1'
}
}

plugins {
id 'com.gradle.build-scan' version '1.8'
id "com.install4j.gradle" version "6.1.5"
id 'com.github.johnrengelman.shadow' version '1.2.4'
id "com.simonharrer.modernizer" version "1.4.0-1"
id 'me.champeau.gradle.jmh' version '0.3.1'
id "net.ltgt.errorprone" version "0.0.10"
id 'com.install4j.gradle' version '6.1.5'
id 'com.github.johnrengelman.shadow' version '2.0.1'
id "de.sebastianboegl.shadow.transformer.log4j" version "2.1.0"
id "com.simonharrer.modernizer" version '1.5.0-1'
id 'me.champeau.gradle.jmh' version '0.4.3'
id 'net.ltgt.errorprone' version '0.0.11'
}

// use the gradle build scan feature: https://scans.gradle.com/get-started
Expand All @@ -28,22 +18,21 @@ buildScan {
licenseAgree = 'yes'
}

apply plugin: "java"
apply plugin: "application"
apply plugin: "project-report"
apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'project-report'
apply plugin: 'jacoco'
apply plugin: 'install4j'
apply plugin: 'me.champeau.gradle.jmh'

apply plugin: 'checkstyle'

apply from: 'eclipse.gradle'
apply from: 'localization.gradle'
apply from: 'xjc.gradle'

group = "org.jabref"
version = "4.0.0-dev"
project.ext.threeDotVersion = "4.0.0.1"
version = "4.0-dev"
project.ext.threeDotVersion = "4.0.1.1"
project.ext.install4jDir = hasProperty("install4jDir") ? getProperty("install4jDir") : (OperatingSystem.current().isWindows() ? 'C:/Program Files/install4j6' : 'install4j6')
sourceCompatibility = 1.8
targetCompatibility = 1.8
Expand All @@ -53,7 +42,6 @@ install4j {
installDir = file(project.ext.install4jDir)
}


repositories {
mavenLocal()
jcenter()
Expand All @@ -68,12 +56,14 @@ configurations {
}

dependencies {
compile fileTree(dir: 'lib', includes: ['*.jar'])

compile 'com.jgoodies:jgoodies-common:1.8.1'
compile 'com.jgoodies:jgoodies-forms:1.9.0'
compile 'com.jgoodies:jgoodies-looks:2.7.0'

// Later versions cannot be used. Tested until 1.6.5-1.
// See https://github.com/JabRef/jabref/issues/271 for details
// See https://github.com/JabRef/jabref/issues/271 for details.
compile 'org.swinglabs.swingx:swingx-core:1.6.4'

// update to 2.0.x is not possible - see https://github.com/JabRef/jabref/pull/1096#issuecomment-208857517
Expand Down Expand Up @@ -105,34 +95,30 @@ dependencies {
compile 'com.impossibl.pgjdbc-ng:pgjdbc-ng:0.7.1'

compile 'net.java.dev.glazedlists:glazedlists_java15:1.9.1'
compile fileTree(dir: 'lib', includes: ['*.jar'])

compile 'com.google.guava:guava:22.0'

// JavaFX stuff
compile 'com.airhacks:afterburner.fx:1.7.0'
compile 'de.codecentric.centerdevice:javafxsvg:1.2.1'
compile 'org.controlsfx:controlsfx:8.40.12'
compile 'org.controlsfx:controlsfx:8.40.13'
compile 'org.fxmisc.easybind:easybind:1.0.3'
compile 'net.corda:jfx:0.12.1'

compile 'org.fxmisc.flowless:flowless:0.5.2'
compile 'de.jensd:fontawesomefx-materialdesignfont:1.7.22-4'
compile 'org.fxmisc.richtext:richtextfx:0.7-M5'


compile 'commons-logging:commons-logging:1.2'

compile 'org.apache.commons:commons-lang3:3.6'

compile 'org.jsoup:jsoup:1.10.3'
compile 'com.mashape.unirest:unirest-java:1.4.9'
compile 'info.debatty:java-string-similarity:0.24'

compile 'org.apache.logging.log4j:log4j-jcl:2.8.2'
compile 'org.apache.logging.log4j:log4j-api:2.8.2'
compile 'org.apache.logging.log4j:log4j-core:2.8.2'
compile 'org.xmlunit:xmlunit-core:2.3.0'
compile 'org.xmlunit:xmlunit-matchers:2.3.0'
compile 'org.xmlunit:xmlunit-core:2.4.0'
compile 'org.xmlunit:xmlunit-matchers:2.4.0'

// need to use snapshots as the stable version is from 2013 and doesn't support v1.0.1 CitationStyles
compile 'org.citationstyles:styles:1.0.1-SNAPSHOT'
Expand All @@ -146,9 +132,12 @@ dependencies {

testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-core:2.8.47'
testCompile 'com.github.tomakehurst:wiremock:2.6.0'
testCompile 'org.assertj:assertj-swing-junit:3.6.0'
testCompile 'com.github.tomakehurst:wiremock:2.7.0'
testCompile 'org.assertj:assertj-swing-junit:3.7.0'
testCompile 'org.reflections:reflections:0.9.11'

testCompile 'com.tngtech.archunit:archunit-junit:0.4.0'
testCompile 'org.slf4j:slf4j-jcl:1.7.25' // required by ArchUnit to enable logging over jcl
}

sourceSets {
Expand Down Expand Up @@ -285,6 +274,7 @@ processTestResources.dependsOn copyTestResources

tasks.withType(Test) {
reports.html.destination = file("${reporting.baseDir}/${name}")

jacoco {
append = true
}
Expand All @@ -306,33 +296,6 @@ jacocoTestReport {

shadowJar {
classifier 'fat'

transform(new com.github.jengelman.gradle.plugins.shadow.transformers.Transformer() {

// this is an adapter required for generating a fat jar with correct log4j2 output

com.github.edwgiz.mavenShadePlugin.log4j2CacheTransformer.PluginsCacheFileTransformer target = new com.github.edwgiz.mavenShadePlugin.log4j2CacheTransformer.PluginsCacheFileTransformer()

@Override
boolean canTransformResource(FileTreeElement element) {
return target.canTransformResource(element.getPath())
}

@Override
void transform(String path, InputStream is, List<com.github.jengelman.gradle.plugins.shadow.relocation.Relocator> relocators) {
target.processResource(path, is, relocators)
}

@Override
boolean hasTransformedResource() {
return target.hasTransformedResource()
}

@Override
void modifyOutputStream(org.apache.tools.zip.ZipOutputStream jos) {
target.modifyOutputStream(jos)
}
})
}

/*
Expand Down
16 changes: 16 additions & 0 deletions docs/adr/0000-use-architectural-decision-records.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Use Architectural Decision Records

We need to record the architectural decisions made on this project.

## Considered Alternatives

* No record
* [DecisionRecord](https://github.com/schubmat/DecisionCapture)
* [Michael Nygard's template](http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions), maintainable by [adr-tools](https://github.com/npryce/adr-tools)
* [Sustainable Architectural Decisions](https://www.infoq.com/articles/sustainable-architectural-design-decisions)
* [Other templates](https://github.com/joelparkerhenderson/architecture_decision_record)

## Conclusion

* *Chosen Alternative: Decision Record*
* That template is lean and fits most the development style
8 changes: 8 additions & 0 deletions docs/adr/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Architectural Decision Records

This lists the architectural decisions for JabRef.

- [0000-use-architectural-decision-records.md](0000-use-architectural-decision-records) - Use Architectural Decision Records
- [template.md](template/) - the template

More information on architectural decision records is available at <https://adr.github.io/>.
Loading

0 comments on commit b6d43dc

Please sign in to comment.