This page presents all development information around JabRef.
Go to Setting up a local workspace
For users documentation, please head to 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
We are very happy that JabRef is part of Software Engineering trainings. Please head to Teaching for more information on using JabRef as teaching object and on previous courses where JabRef was used.
The package 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.
Architectural decisions for JabRef are recorded.
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/. Add them to the list of architectural decision records.
-
Q: I get
java: package org.jabref.logic.journals does not exist
.A: You have to ignore
buildSrc/src/main
as source directory in IntelliJ as indicated in our setup guide.Also filed as IntelliJ issue IDEA-240250.