Contribute to JabRef
Last updated
Was this helpful?
Last updated
Was this helpful?
We are really happy that you are interested in contributing to JabRef. Please take your time to look around here. We especially invite you to look into our where members introduce themselves.
In JabRef, there are dozens of bug fixes and new features introduced using GitHub's pull request mechansim. You can browse all at . The JabRef team really welcomes users to try out these changes and to comment on them. Improving on changes in active pull requests is much easier than fixing them later on after their acceptance.
If you are familiar with the command line on your OS, then it is very easy to try out pull requests and give feedback. In the following, we try to give a minimal set of installation instructions to be able to run a contribution from a fork.
- A cross-platform and cross-architecture version manager. Download and store it in your home (or Downloads
) directory.
Windows:
Open PowerShell
Switch to a directory containing git repositories. We recommend c:\git-repositories
mkdir c:\git-repositories
cd c:\git-repositories
Get gg.cmd
wget ggcmd.io -OutFile gg.cmd
Have JBang trust JabRef's source
.\gg.cmd jbang trust add https://github.com/JabRef/jabref/
Clone JabRef
.\gg.cmd jbang https://github.com/JabRef/jabref/blob/main/.jbang/CloneJabRef.java jabref
NOTE: You can also use the native git client: git clone --recurse-submodules https://github.com/JabRef/jabref.git
to achieve the same result.
Make gg.cmd
available in jabref
source directory
cd jabref
move ..\gg.cmd .
Linux:
Open a shell
Switch to a directory containing git repositories. We recommend ~/git-repositories
mkdir ~/git-repositories
cd ~/git-repositories
Get gg.cmd
(using either wget
or curl
)
wget ggcmd.io/gg.cmd
Alternative: curl -L ggcmd.io > gg.cmd
Have JBang trust JabRef's source
sh ./gg.cmd jbang trust add https://github.com/JabRef/jabref/
Clone JabRef
sh ./gg.cmd jbang https://github.com/JabRef/jabref/blob/main/.jbang/CloneJabRef.java jabref
NOTE: You can also use the native git client: git clone --recurse-submodules https://github.com/JabRef/jabref.git
to achieve the same result.
Make gg.cmd
available in jabref
source directory
cd jabref
mv ../gg.cmd .
Now you are all set: You have a directory jabref
containing the recent updates and also gg.cmd
which you will need later for executing a JabRef build.
cd
into the jabref
source directory: cd c:\git-repositories\jabref
Checkout the PR and run JabRef: sh ./gg.cmd just run-pr <pr-number>
- replace <pr-number>
with the PR number or the unique branch identifier by GitHub
This will download the necessary JDK and a gradle distribution. On the first run, please give the system enough time to accommodate and wait until the JabRef window launches. Depending on your hardware, this may take a few minutes.
On Windows, instead of sh ./gg.cmd
use .\gg.cmd
:
jbang https://github.com/JabRef/jabref/blob/main/.jbang/CheckoutPR.java <pr-number>
./gradlew :jabgui:run
In case you don't want to use JBang
:
In case you don't want to use gh
: You can use the "usual" git clone ...
, git remote add ...
, git fetch ...
, and git checkout ...
commands to checkout a pull request from a fork.
JabRef improves -- and Wikipedia pages should keep up!
For changes in a specific language, go to the related page, and simply click on "Edit" (top right-hand tab). Currently, existing pages are:
If there is no page for your own language, you can easily create one.
Our team consists of volunteers. To provide better support, we are currently trying to get a funded developer on board. Please consider donating money!
Note: If you don't want to store JabRef's source code permanently, you can follow the steps at . There, JabRef's source is checked out in a temporary directory.
Example: 13182
for .
Example: Yubo-Cao:walkthrough
for the branch identifier output by GitHub
In case you don't want to use gg.cmd
: You can install for yourself and execute the commands directly. These are
You have the project clone ready and have some available: In the jabref
directory, execute ./gradlew run
.
Install gh
(the , a command-line client for GitHub) by using the installer linked on their or the commands given at the .
Please see
We encourage you to read about .
For changes affecting all languages, update the .
Deutsch:
English:
Español:
Français:
Italiano:
Русский:
Portuguese:
Svenska:
Українська:
中文:
Donations keep us going! You can use PayPal or bank transfers. Your institution/company can contribute too, through bank transfer for example. All details are provided at .
Please head to our .