diff --git a/.gitattributes b/.gitattributes index d37562eb76a..7752b0e534a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5,9 +5,6 @@ gradlew text eol=lf # windows line endings at windows files *.bat text eol=crlf -# required for proper releasing -AUTHORS text eol=lf - # ensure that line endings of *.java, and *.properties are normalized *.java text *.properties text diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000000..9850f404097 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,8 @@ +blank_issues_enabled: false +contact_links: + - name: Help + url: https://discourse.jabref.org/c/help/ + about: Questions and requests for help are handled at https://discourse.jabref.org + - name: Feature requests + url: https://discourse.jabref.org/c/features/ + about: If you are missing an important feature? Let us know! diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index d2ae96c562d..00000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project - ---- - -Please use the GitHub issue tracker only for bug reports and suggestions for improvements. -Feature requests, questions and general feedback is now handled at http://discourse.jabref.org. -Thanks! diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md deleted file mode 100644 index 7e9c25fe4b4..00000000000 --- a/.github/ISSUE_TEMPLATE/question.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -name: Question -about: Ask a question about JabRef - ---- - -Please use the GitHub issue tracker only for bug reports and suggestions for improvements. -Feature requests, questions and general feedback is now handled at http://discourse.jabref.org. -Thanks! diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index 60cdc796b08..ff5b9df74ef 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -9,7 +9,7 @@ jobs: steps: - name: 'Wait for status checks' id: waitforstatuschecks - uses: "WyriHaximus/github-action-wait-for-status@v1.2" + uses: "WyriHaximus/github-action-wait-for-status@v1.3" with: ignoreActions: Automerge Dependabot checkInterval: 13 diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml index 4bfa05d67c4..38b01adb35e 100644 --- a/.github/workflows/deployment.yml +++ b/.github/workflows/deployment.yml @@ -42,7 +42,7 @@ jobs: name: Create installer and portable version for ${{ matrix.displayName }} steps: - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@0.6.0 + uses: styfle/cancel-workflow-action@0.7.0 with: access_token: ${{ github.token }} - name: Fetch all history for all tags and branches @@ -50,12 +50,12 @@ jobs: with: fetch-depth: 0 - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v0.9.7 + uses: gittools/actions/gitversion/setup@v0.9.8 with: versionSpec: "5.x" - name: Run GitVersion id: gitversion - uses: gittools/actions/gitversion/execute@v0.9.7 + uses: gittools/actions/gitversion/execute@v0.9.8 - name: Set up JDK 15 for linux and mac uses: actions/setup-java@v1 with: @@ -97,11 +97,11 @@ jobs: if: matrix.os == 'macos-latest' shell: bash run: | - codesign --entitlements buildres/mac/myapp.entitlements --options runtime -vvv -f --sign "Developer ID Application: Tobias Diez (W2PU6LW5U5)" build/distribution/JabRef.app/Contents/runtime/Contents/MacOS/libjli.dylib - codesign --entitlements buildres/mac/myapp.entitlements --options runtime -vvv -f --sign "Developer ID Application: Tobias Diez (W2PU6LW5U5)" build/distribution/JabRef.app/Contents/MacOS/JabRef - codesign --entitlements buildres/mac/myapp.entitlements --options runtime -vvv -f --sign "Developer ID Application: Tobias Diez (W2PU6LW5U5)" build/distribution/JabRef.app + codesign --entitlements buildres/mac/jabref.entitlements --options runtime -vvv -f --sign "Developer ID Application: Tobias Diez (W2PU6LW5U5)" build/distribution/JabRef.app/Contents/runtime/Contents/MacOS/libjli.dylib + codesign --entitlements buildres/mac/jabref.entitlements --options runtime -vvv -f --sign "Developer ID Application: Tobias Diez (W2PU6LW5U5)" build/distribution/JabRef.app/Contents/MacOS/JabRef + codesign --entitlements buildres/mac/jabref.entitlements --options runtime -vvv -f --sign "Developer ID Application: Tobias Diez (W2PU6LW5U5)" build/distribution/JabRef.app jpackage --type pkg --dest build/distribution --name JabRef --app-version "${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}" --app-image build/distribution/JabRef.app --verbose --type dmg --vendor JabRef --app-version "${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}" --file-associations buildres/mac/bibtexAssociations.properties --resource-dir buildres/mac - codesign -s "Developer ID Application: Tobias Diez (W2PU6LW5U5)" --options runtime --entitlements buildres/mac/myapp.entitlements -vvvv --deep "build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.dmg" + codesign -s "Developer ID Application: Tobias Diez (W2PU6LW5U5)" --options runtime --entitlements buildres/mac/jabref.entitlements -vvvv --deep "build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.dmg" jpackage --type pkg --dest build/distribution --name JabRef --mac-package-identifier JabRef --app-version "${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}" --app-image build/distribution/JabRef.app --verbose --type pkg --vendor JabRef --app-version "${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}" --file-associations buildres/mac/bibtexAssociations.properties --resource-dir buildres/mac productsign --sign "Developer ID Installer: Tobias Diez (W2PU6LW5U5)" "build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.pkg" "build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}-signed.pkg" - name: Notarize dmg and pkg installer @@ -162,12 +162,12 @@ jobs: - name: Fetch all history for all tags and branches run: git fetch --prune --unshallow - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v0.9.7 + uses: gittools/actions/gitversion/setup@v0.9.8 with: versionSpec: '5.x' - name: Run GitVersion id: gitversion - uses: gittools/actions/gitversion/execute@v0.9.7 + uses: gittools/actions/gitversion/execute@v0.9.8 - name: Get linux binaries uses: actions/download-artifact@master with: diff --git a/.github/workflows/refresh-csl-subtrees.yml b/.github/workflows/refresh-csl-subtrees.yml index 17eb8df3486..fa32c615a62 100644 --- a/.github/workflows/refresh-csl-subtrees.yml +++ b/.github/workflows/refresh-csl-subtrees.yml @@ -16,20 +16,27 @@ jobs: with: ref: master fetch-depth: 0 - - name: Add csl-styles remote - run: git remote add -f csl-styles https://github.com/citation-style-language/styles.git - - name: Update csl-styles + - name: Initialize git run: | git checkout master git config --local core.editor /usr/bin/cat git config user.name "github actions" git config user.email "jabrefmail+webfeedback@gmail.com" - git subtree pull --prefix src/main/resources/csl-styles csl-styles master --squash + - name: Add csl-styles remote + run: git remote add -f csl-styles https://github.com/citation-style-language/styles.git + - name: Update csl-styles + run: | + git subtree pull --prefix buildres/csl/csl-styles csl-styles master --squash + cp buildres/csl/csl-styles/acm-siggraph.csl src/main/resources/csl-styles/ + cp buildres/csl/csl-styles/ieee.csl src/main/resources/csl-styles/ + cp buildres/csl/csl-styles/turabian-author-date.csl src/main/resources/csl-styles/ - name: Add csl-locales remote run: git remote add -f csl-locales https://github.com/citation-style-language/locales.git - name: Update csl-locales run: | - git subtree pull --prefix src/main/resources/csl-locales csl-locales master --squash + git subtree pull --prefix buildres/csl/csl-locales csl-locales master --squash + cp buildres/csl/csl-locales/locales.json src/main/resources/csl-locales/ + cp buildres/csl/csl-locales/locales-en-US src/main/resources/csl-locales/ - uses: ad-m/github-push-action@master with: github_token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/snap.yml b/.github/workflows/snap.yml index bba78f1338d..c190256444f 100644 --- a/.github/workflows/snap.yml +++ b/.github/workflows/snap.yml @@ -1,6 +1,7 @@ name: Snap on: + workflow_dispatch: push: branches: - snapcraft @@ -28,12 +29,12 @@ jobs: uses: actions/checkout@v2 # The image relies on https://builds.jabref.org/master/JabRef-5.0-portable_linux.tar.gz^ # See snap/snapcraft.yml for details - - name: Build snap (1) Run build + - name: Run snapcraft build uses: snapcore/action-build@v1 id: snapcraft with: snapcraft-args: "--debug" - - name: Build snap (2) Upload snap + - name: Upload snap if: ${{ steps.checksecrets.outputs.secretspresent }} uses: snapcore/action-publish@v1 with: diff --git a/.github/workflows/tests-fetchers.yml b/.github/workflows/tests-fetchers.yml index 0aa59c10dca..03aa50ebb86 100644 --- a/.github/workflows/tests-fetchers.yml +++ b/.github/workflows/tests-fetchers.yml @@ -38,7 +38,7 @@ jobs: with: java-version: 14 - uses: actions/cache@v1 - name: Restore gradle chache + name: Restore gradle cache with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 5651082269f..655c92ef490 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@0.6.0 + uses: styfle/cancel-workflow-action@0.7.0 with: access_token: ${{ github.token }} - name: Checkout source @@ -64,7 +64,7 @@ jobs: with: java-version: 14 - uses: actions/cache@v1 - name: Restore gradle chache + name: Restore gradle cache with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} @@ -108,7 +108,7 @@ jobs: with: java-version: 14 - uses: actions/cache@v1 - name: Restore gradle chache + name: Restore gradle cache with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} @@ -154,7 +154,7 @@ jobs: with: java-version: 14 - uses: actions/cache@v1 - name: Restore gradle chache + name: Restore gradle cache with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} @@ -204,7 +204,7 @@ jobs: with: java-version: 14 - uses: actions/cache@v1 - name: Restore gradle chache + name: Restore gradle cache with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} @@ -232,35 +232,3 @@ jobs: steps: - uses: actions/checkout@v2 - uses: gradle/wrapper-validation-action@v1 - checkauthors: - name: "Validate AUTHORS" - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - # full checkout needed for authors generation - fetch-depth: 0 - - name: "All authors of this PR listed in AUTHORS" - id: authors_check - shell: bash - run: | - git config user.name "JabRef Author Checker [bot]" - git config user.email "noreply@jabref.org" - ./scripts/generate-authors.sh - set +o pipefail - added=$(git diff HEAD --no-ext-diff --unified=0 -a --no-prefix | egrep "^\+[^+]" | sed "s/^\+//") - if [ -z "$added" ]; then - echo "No authors added" - exit 0 - fi - echo "Authors found in this PR not listed in the AUTHORS file." - echo - echo "The JabRef maintainers will add the following name to the AUTHORS file" - echo - echo -e "$added" - echo - echo "In case you want to use a different one, please comment here and adjust your name in your git configuration for future commits" - echo - echo "Just adding yourself into the AUTHORS file does not help as it is overwritten by our script ./scripts/generate-authors." - echo "Read more on the AUTHORS file at found at https://github.com/JabRef/jabref/blob/master/CONTRIBUTING.md#author-credits" - exit 1 diff --git a/.mailmap b/.mailmap deleted file mode 100644 index 56af5eb0831..00000000000 --- a/.mailmap +++ /dev/null @@ -1,216 +0,0 @@ - -# Generate AUTHORS: scripts/generate-authors.sh - -# Tip for finding duplicates (besides scanning the output of AUTHORS for name -# duplicates that aren't also email duplicates): scan the output of: -# git log --format='%aE - %aN' | sort --unique --ignore-case -# -# One can find out the real name by using the GitHub user page and API. -# https://github.com/sauliusg -# https://github.com/gitapi/users/sauliusg/events/public -# -# For explanation on this file format: man git-shortlog -Ruy Minoru Ito Takata -Ruy Minoru Ito Takata <21537850814@serpro-1557637.(none)> -Stefan Kolb - -Nicolas Pavillon - -Koji Yokota -Koji Yokota -Koji Yokota -Koji Yokota -Koji Yokota -Dominik Waßenhoven - -Thomas Arildsen ThomasArildsen -Thomas Arildsen ThomasA -Thomas Arildsen -Thomas Arildsen -Tobias Diez - - - - - - - -Waluyo Adi Siswanto -Michael Falkenthal -Michael Falkenthal -Ambrogio Oliva -Ambrogio Oliva -Eduardo Greco -Daniel Bruehl -Egon Willighagen -Frédéric Darboux -Frédéric Darboux -Frédéric Darboux -Frédéric Darboux -Frédéric Darboux -Florian Straßer -Gregor Herrmann -Hakan Duran hakova -Hakan Duran hakova -Hakan Duran Hakan E. Duran -Jorge Tornero -Mark Schenk -Nathan Sheffield -Oscar Gustafsson -Renato Massao -Lorenzo Genta -Morten Alver -Morten Alver -Morten Alver -Oliver Kopp -Oliver Kopp -Oliver Kopp -Oliver Kopp -Oliver Kopp -Oliver Kopp Apple Inc -Nizar N. Batada -Christopher Oezbek -Andreas Rudert -Michael Spiegel -Jörg Wegner -Michael Wrighton -Jörg Zieren -Brian Van Essen -Luciana de Melo e Abud -Seb Wills -Waluyo Adi Siswanto -Dale Visser -Erik Putrycz -Gert Renckens -Guillaume Gardey -Kolja Brix -Raik Nagel -Carlos Silla -S M Mahbub Murshed -Robert Jäschke -Ulrik Stervbo -Stefano Gariazzo -Lee Patton -Jörg Lenhard -Jörg Lenhard -Jörg Lenhard -Jörg Lenhard -Matthias Geiger -Christoph Braun -Felix Wilke -Dennis Tschechlov -Dennis Tschechlov -Christian Bartsch -Joshua Ramon Enslin -Vincent W. Yang -Jorge Tornero -Mélanie Tremblay -Christoph Schwentker -Christoph Schwentker -Jens Döcke -Jürgen Lange -Sascha Zeller -Ali Ayan -Ali Zhagparov -Ali Zhagparov -Arno Blouin -Jeff Miller -Alain Vaucher -Daniel Mair -Sven Jäger -Tim van Rossum -Saulius Gražulis -Rolf Starre -Owen Huang -Anita Armbruster -Fabian Bauer <125m125@users.noreply.github.com> -Jong-Ho Shinn -Nadeem Mahmood -Foivos Christoulakis -Predrag Milanovic -Karsten Hiekmann -Karsten Hiekmann -Andrew Levit -Berk Gureken -Abhishek Rai -Abhishek Rai -Stéphane Curet -Erdem Derebasoglu -Domenico Cufalo -Tobias Bouschen -József Pallagi -Mattia Bunel -Waida Fan <31742543+weidafan@users.noreply.github.com> -Johannes Manner -Dominik Traczyk -Cerrianne Santos -Stefan Scheffel -Stefan Gerzmann -Deepak Kumar -Aman Jain -Ayachi Nene <1710082010@qq.com> -Jan Schäfer -Stefan Scheffel -Stefan Scheffel -Yash Kothari -Quentin Fritz <49909555+core-master@users.noreply.github.com> -Daniel Rodrigues -Malte Deiseroth -Malik Atalla <6626492+HerrAachen@users.noreply.github.com> -Kaique Komata -S. Krause -Leonhard Wolz -Manuel Wtfjoke -Valentin Pons -Arthur Fröhlich <37243770+znuznu@users.noreply.github.com> -Songyu Wang <36670132+Songyu-Wang@users.noreply.github.com> -Alex Tarrix -Samiya Caur -Stanley Foerster -Michael McCann -Robin Lichtenthaeler -Rodrigo Paula da Silva -Robert Jäschke -Nick S. Weatherley -Nivedha Sunderraj -Lavabit -Rachel Wu <46014322+rachelwu21@users.noreply.github.com> -Abraham Polk -dima -Fred Stevens -Rui Kang <1539678784@qq.com> -Yurick Honda -Yurick Honda <32721326+yurickyh@users.noreply.github.com> -Mihu <41503450+mmihuu@users.noreply.github.com> -Michael Schwarmi -Michal Rican -Param Mittal -Victor Michelan -P4trice <34972281+P4trice@users.noreply.github.com> -Julien Bénard <50318255+Julien29121998@users.noreply.github.com> -Alexsandro Lauber -Alexander Girgis <11259344+AlexanderGirgis@users.noreply.github.com> -Christoph Treude -Goutam Lavudiya -Shikun Xiong <53288073+ShikunXiong@users.noreply.github.com> -Fabiani Giovanni -Dimitra Karadima <44123133+dimitra-karadima@users.noreply.github.com> -Dimitra Karadima <44123133+dimitra-karadima@users.noreply.github.com> -Cai Zhichun <54977532+braincident@users.noreply.github.com> -Gennadiy Stakhovskiy -Mootez Saad <34676841+MootezSaaD@users.noreply.github.com> -Mootez Saad <34676841+MootezSaaD@users.noreply.github.com> -Chen Yuheng -Dominik Voigt <43381984+DominikVoigt@users.noreply.github.com> -Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com> -Daniel Price <64694785+daniel-price@users.noreply.github.com> -Cai Zhichun <54977532+braincident@users.noreply.github.com> <569120128@qq.com> -Hollyqqqqq <55199983+Hollyqqqqq@users.noreply.github.com> <11712639@mail.sustech.edu.cn> -Grzegorz Popiel -Tianjian Lei <185049857@qq.com> -Tianjian Lei <185049857@qq.com> -Muhammad Arsalan Badar -ZhouSky <11711923@mail.sustech.edu.cn> -Vincent Gagnon -Tom Warnke -Eric Lau <919023+skeric@users.noreply.github.com> diff --git a/.sonarcloud.properties b/.sonarcloud.properties deleted file mode 100644 index 8b137891791..00000000000 --- a/.sonarcloud.properties +++ /dev/null @@ -1 +0,0 @@ - diff --git a/AUTHORS b/AUTHORS index 1ea7c309626..c7790f81828 100644 --- a/AUTHORS +++ b/AUTHORS @@ -170,6 +170,7 @@ Igor Steinmacher Illes Solt Ingvar Jackal Isaac Roles +Isabel Beckenbach Jackson Ryan Jan Frederik Maas Jan Kubovy @@ -358,6 +359,7 @@ Scott Pogatetz Scott Townsend Seb Wills Serban Iordache +Shadow Devil Shikun Xiong ShiqingLiu Shitikanth diff --git a/CHANGELOG.md b/CHANGELOG.md index 76a0dd3e712..9f068388a18 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,15 +11,28 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve ### Added +- We added the possibility to add a new entry via its zbMath ID (zbMATH can be chosen as ID type in the "Select entry type" window). [#7202](https://github.com/JabRef/jabref/issues/7202) - We added the extension support and the external application support (For Texshow, Texmaker and LyX) to the flatpak [#7248](https://github.com/JabRef/jabref/pull/7248) +- We added some symbols and keybindings to the context menu in the entry editor. [#7268](https://github.com/JabRef/jabref/pull/7268) +- We added keybindings for setting and clearing the read status. [#7264](https://github.com/JabRef/jabref/issues/7264) +- We added two new fields to track the creation and most recent modification date and time for each entry. [koppor#130](https://github.com/koppor/jabref/issues/130) ### Changed +- The content of the field `timestamp` is migrated to `creationdate`. In case one configured "udpate timestampe", it is migrated to `modificationdate`. [koppor#130](https://github.com/koppor/jabref/issues/130) +- The export to MS Office XML now uses the month name for the field `MonthAcessed` instead of the two digit number [#7354](https://github.com/JabRef/jabref/issues/7354) + ### Fixed +- We fixed an issue where the "Normalize page numbers" formatter did not replace en-dashes or em-dashes with a hyphen-minus sign. [#7239](https://github.com/JabRef/jabref/issues/7239) - We fixed an issue with the style of highlighted check boxes while searching in preferences. [#7226](https://github.com/JabRef/jabref/issues/7226) - We fixed an issue where the option "Move file to file directory" was disabled in the entry editor for all files [#7194](https://github.com/JabRef/jabref/issues/7194) - We fixed an issue where application dialogs were opening in the wrong display when using multiple screens [#7273](https://github.com/JabRef/jabref/pull/7273) +- We fixed an issue where an exception would be displayed for previewing and preferences when a custom theme has been configured but is missing [#7177](https://github.com/JabRef/jabref/issues/7177) +- We fixed an issue where the Harvard RTF exporter used the wrong default file extension. [4508](https://github.com/JabRef/jabref/issues/4508) +- We fixed an issue where the Harvard RTF exporter did not use the new authors formatter and therefore did not export "organization" authors correctly. [4508](https://github.com/JabRef/jabref/issues/4508) +- We fixed an issue where the field `urldate` was not exported to the corresponding fields `YearAccessed`, `MonthAccessed`, `DayAccessed` in MS Office XML [#7354](https://github.com/JabRef/jabref/issues/7354) +- We fixed an issue where the password for a shared SQL database was only remembered if it was the same as the username [#6869](https://github.com/JabRef/jabref/issues/6869) ### Removed @@ -95,6 +108,7 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve - We fixed an issue where newly added entires were not synced to a shared SQL database [#7176](https://github.com/JabRef/jabref/issues/7176) - We fixed an issue where the PDF-Content importer threw an exception when no DOI number is present at the first page of the PDF document [#7203](https://github.com/JabRef/jabref/issues/7203) - We fixed an issue where groups generated from authors' last names did not include all entries of the authors' [#5833](https://github.com/JabRef/jabref/issues/5833) +- We fixed an issue where groups created from aux files did not update on file changes [#6394](https://github.com/JabRef/jabref/issues/6394) - We fixed an issue where authors that only have last names were incorrectly identified as institutes when generating citation keys [#7199](https://github.com/JabRef/jabref/issues/7199) - We fixed an issue where institutes were incorrectly identified as universities when generating citation keys [#6942](https://github.com/JabRef/jabref/issues/6942) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 64af4aa3368..22db7bd7239 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,133 +1,16 @@ -# Contributing Guide +# Contributing -After reading through this guide, check out some good first issues to contribute to by clicking here: [Good First Issues](https://github.com/JabRef/jabref/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) +When contributing to this repository, please first discuss the change you wish to make via issue, +email, or any other method with the owners of this repository before making a change. -In case you are an instructor and want to use JabRef as software engineering example, please head to . +Support on code contribution is available at . +General overview on contributing is available at . -## Understanding the basics +## Pull Request Process -We welcome contributions to JabRef and encourage you to follow the GitHub workflow specified below. If you are not familiar with this type of workflow, take a look at GitHub's excellent overview on the [GitHub flow](https://guides.github.com/introduction/flow/index.html) and the explanation of [Feature Branch Workflow](https://atlassian.com/git/tutorials/comparing-workflows#feature-branch-workflow) for the idea behind this kind of development. - -1. Get the JabRef code on your local machine. Detailed instructions about this step can be found in our [guidelines for setting up a local workspace](https://devdocs.jabref.org/getting-into-the-code/guidelines-for-setting-up-a-local-workspace). - 1. Fork the JabRef into your GitHub account. - 2. Clone your forked repository on your local machine. -2. **Create a new branch** (such as `fix-for-issue-121`). Be sure to create a **separate branch** for each improvement you implement. -3. Do your work on the **new branch - not the master branch.** Refer to our [code howtos](https://devdocs.jabref.org/getting-into-the-code/code-howtos) if you have questions about your implementation. -4. Create a pull request. For an overview of pull requests, take a look at GitHub's [pull request help documentation](https://help.github.com/articles/about-pull-requests/). -5. In case your pull request is not yet complete or not yet ready for review, consider creating a [draft pull request](https://github.blog/2019-02-14-introducing-draft-pull-requests/) instead. - -In case you have any questions, do not hesitate to write one of our [JabRef developers](https://github.com/orgs/JabRef/teams/developers) an email. -We should also be online at [gitter](https://gitter.im/JabRef/jabref). - -## Formal requirements for a pull request - -The main goal of the formal requirements is to provide credit to you and to be able to understand the patch. - -### Add your change to `CHANGELOG.md` - -You should edit the [CHANGELOG.md](CHANGELOG.md) located in the root directory of the JabRef source. -Add a line with your changes in the appropriate section. - -If you did internal refactorings or improvements not visible to the user (e.g., UI, .bib file), then you don't need to put an entry there. - -#### Format of keyboard shortcuts - -Example: `Ctrl + Enter` - -In case you add keys to the changelog, please follow these rules: - -- `` tag for each key -- First letter of key capitalized -- Combined keys separated by `+` -- Spaces before and after separator `+` - -### Author credits - -You will be given credit in the [`AUTHORS`](AUTHORS) file in the root of the repository and the 'About' pages inside the main application. -We will periodically update the contributors list inside [`AUTHORS`](AUTHORS). -This is done by an automatic shell script `scripts/generate-authors.sh`. - -If you want to add yourself directly with your pull request please run this script. -Please make sure there are no duplicates or alternate spellings of your name listed. -If you need to merge different Git usernames or email addresses you can do so by editing `.mailmap`. -More information on this can be found via `man git-shortlog`. - -Please, **do not add yourself at JavaDoc's `@authors`**. -The contribution information is tracked via the version control system. - -Your contribution is considered being made under [MIT license](https://tldrlegal.com/license/mit-license). - -### Write a good commit message - -See [good commit message] or [commit guidelines section of Pro Git]. -The first line of your commit message is automatically taken as the title for the pull-request. -All other lines make up the body of the pull request. Add the words `fixes #xxx` to your PR to auto-close the corresponding issue. - -### Test your code - -We know that writing test cases takes a lot of time. -Nevertheless, we rely on our test cases to ensure that a bug fix or a feature implementation doesn't break anything. -In case you do not have time to add a test case, we nevertheless ask you to at least run `gradlew check` to ensure that your change doesn't break anything else. - -### When adding a library - -Please try to use a version available at JCenter and add it to `build.gradle`. -In any case, describe the library at [external-libraries.md](external-libraries.md). -We need that information for our package maintainers (e.g., those of the [debian package](https://tracker.debian.org/pkg/jabref)). -Also add a txt file stating the license in `libraries/`. -It is used at `gradlew processResources` to generate the About.html files. -You can see the result in `build\resources\main\help\en\About.html` or when clicking Help -> About. - -### When making an architectural decision - -In case you add a library or do major code rewrites, we ask you to document your decision. -Recommended reading: . - -We simply ask to create a new markdown file in `docs/adr` following the template presented at . - -In case you want to directly add a comment to a class, simply use following template (based on [sustainable architectural decisions](https://www.infoq.com/articles/sustainable-architectural-design-decisions)): - -```text -In the context of , -facing -we decided for