This page presents all development informatation around JabRef. For users documentation see https://docs.jabref.org.
External: Sync your fork with the JabRef repository
External (🇩🇪): Branches and pull requests: https://github.com/unibas-marcelluethi/software-engineering/blob/master/docs/week2/exercises/practical-exercises.md
org.jabref.cli is responsible for handling the command line options.
During development, one can configure IntelliJ to pass command line paramters:
Passing command line arguments using gradle is currently not possible as all arguments (such as
-Dfile.encoding=windows-1252) are passed to the application.
Without jlink, it is not possible to generate a fat jar any more. During development, the capabilities of the IDE has to be used.
Diagram showing aspects of groups: Groups.uml.
This log lists the decisions for JabRef.
ADR-0000 - Use Markdown Architectural Decision Records
ADR-0001 - Use Crowdin for translations
ADR-0002 - Use slf4j together with log4j2 for logging
ADR-0003 - Use Gradle as build tool
ADR-0004 - Use MariaDB Connector
ADR-0005 - Fully Support UTF-8 Only For LaTeX Files
ADR-0006 - Only translated strings in language file
ADR-0007 - Provide a human-readable changelog
ADR-0008 - Use public final instead of getters to offer access to immutable variables
ADR-0009 - Use Plain JUnit5 for advanced test assertions
ADR-0010 - Use H2 as Internal SQL Database
For new ADRs, please use template.md as basis. More information on MADR is available at https://adr.github.io/madr/. General information about architectural decision records is available at https://adr.github.io/.