Skip to content

Commit b30406a

Browse files
kopporsubhramitThiloteESiedlerchr
authored
Add howto for local clone (#569)
* Add howto for local clone * Update en/contributing/README.md Co-authored-by: Subhramit Basu <[email protected]> * Update en/contributing/README.md Co-authored-by: Subhramit Basu <[email protected]> * Update en/contributing/README.md Co-authored-by: Subhramit Basu <[email protected]> * Update en/contributing/README.md Co-authored-by: Subhramit Basu <[email protected]> * Update en/contributing/README.md Co-authored-by: Subhramit Basu <[email protected]> * Update en/contributing/README.md Co-authored-by: Subhramit Basu <[email protected]> * Update en/contributing/README.md Co-authored-by: Subhramit Basu <[email protected]> * Update en/contributing/README.md Co-authored-by: ThiloteE <[email protected]> * Update en/contributing/README.md Co-authored-by: Subhramit Basu <[email protected]> * Update en/contributing/README.md Co-authored-by: Subhramit Basu <[email protected]> * Update en/contributing/README.md Co-authored-by: Subhramit Basu <[email protected]> * Update en/contributing/README.md Co-authored-by: Subhramit Basu <[email protected]> * Update en/contributing/README.md Co-authored-by: Subhramit Basu <[email protected]> * Fix typo and linting issues on headings. * No installed git needed - only gg.cmd * Fix () * Discard changes to .markdownlint.yml * Update jabkit.md --------- Co-authored-by: Subhramit Basu <[email protected]> Co-authored-by: ThiloteE <[email protected]> Co-authored-by: Christoph <[email protected]>
1 parent 3023f77 commit b30406a

File tree

2 files changed

+64
-8
lines changed

2 files changed

+64
-8
lines changed

en/contributing/README.md

Lines changed: 63 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,73 @@
1-
# Contribute to JabRef
1+
# Contribute to JabRef [![Join the chat at https://gitter.im/JabRef/jabref](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/JabRef/jabref)
22

33
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 [community members page](https://discourse.jabref.org/t/community-members/1868?u=koppor) where members introduce themselves.
44

5-
**I would like to improve the help page. What are the steps?** [![Join the chat at https://gitter.im/JabRef/jabref](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/JabRef/jabref)
5+
## I would like to try out a feature introduced at pull request.
66

7-
Please use the "Edit on GitHub" link in the upper right corner. Then, follow [GitHub's guide to edit files in other user's repository](https://docs.github.com/en/repositories/working-with-files/managing-files/editing-files#editing-files-in-another-users-repository).
7+
In JabRef, there are dozens of bug fixes and new features introduced using GitHub's pull request mechansim.
8+
You can browse all at <https://github.com/JabRef/jabref/pulls>.
9+
The JabRef team really welcomes users to try out these changes and to comment on them.
10+
Improving on changes in active pull requests is much easier than fixing them later on after their acceptance.
811

9-
**I would like to help to translate JabRef to another language. How do I get started?** [![Join the chat at https://gitter.im/JabRef/jabref](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/JabRef/jabref)
12+
If you are familiar with the command line on your OS, then it is very easy to try out pull requests and give feedback.
13+
In the following, we try to give a minimal set of installation instructions to be able to run a contribution from a fork.
14+
15+
Required tooling:
16+
17+
- [GitHubCLI](https://cli.github.com/) - A command-line client for GitHub. You can install it using the installer linked on their [homepage](https://cli.github.com/) or the commands given at the [installation hints](https://github.com/cli/cli#installation).
18+
- [`gg.cmd`](https://github.com/eirikb/gg) - A cross-platform and cross-architecture version manager. Download [`gg.cmd`](https://github.com/eirikb/gg/releases/latest/download/gg.cmd) and store it in your home (or `Downloads`) directory.
19+
20+
Initial setup:
21+
22+
- Windows:
23+
- Open PowerShell
24+
- Switch to a directory containing git repositories. We recommend `c:\git-repositories`
25+
- `mkdir c:\git-repositories`
26+
- `cd c:\git-repositories`
27+
- Get `gg.cmd`
28+
- `wget ggcmd.io -OutFile gg.cmd`
29+
- Clone JabRef
30+
- `./gg.cmd jbang https://github.com/JabRef/jabref/blob/main/.jbang/CloneJabRef.java JabRef`
31+
- Make `gg.cmd` available in `JabRef` directory
32+
- `cd JabRef`
33+
- `move ..\gg.cmd .`
34+
- Linux:
35+
- Open a shell
36+
- Switch to a directory containing git repositories. We recommend `~/git-repositories`
37+
- `mkdir ~/git-repositories`
38+
- `cd ~/git-repositories`
39+
- Get `gg.cmd` (using either `wget` or `curl`)
40+
- `wget ggcmd.io/gg.cmd`
41+
- Alternative: `curl -L ggcmd.io > gg.cmd`
42+
- Clone JabRef
43+
- `sh ./gg.cmd jbang https://github.com/JabRef/jabref/blob/main/.jbang/CloneJabRef.java JabRef`
44+
- NOTE: You can also use the native git client: `git clone --recurse-submodules https://github.com/JabRef/jabref.git JabRef` for achieving the same result.
45+
- Make `gg.cmd` available in `JabRef` directory
46+
- `cd JabRef`
47+
- `mv ../gg.cmd .`
48+
49+
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.
50+
51+
Try a branch:
52+
53+
1. `cd` into the `JabRef` directory: `cd c:\git-repositories\JabRef`
54+
2. Checkout out the pull request: `gh pr checkout 13111` - where `13111` is the PR number, in this case [pr#13111](https://github.com/JabRef/jabref/pull/13111).
55+
3. Compile and run JabRef: `gg.cmd gradle run :jabgui:run` (on Linux and macOS, you need to prefix it with `sh`: `gg.cmd gradle run :jabgui:run`). This will also download the necessary JDK and 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 minutes.
56+
57+
Alternatives:
58+
59+
1. You don't want to use `gg.cmd`: You have the project clone ready and have some Java JDK available: In the `JabRef` directory, execute `./gradlew run`.
60+
2. You don't want to use GitHub's `gh` tool: You can use the "usual" `git clone ...`, `git remote add ...`, `git fetch ...`, and `git checkout ...` commands to checkout a pull request from a fork.
61+
62+
**I would like to improve the help page.**
63+
64+
Please see [How to Improve the Help Page](how-to-improve-the-help-page.md)
65+
66+
**I would like to help translating JabRef to another language.**
1067

1168
We encourage you to read about [translating the JabRef user interface](how-to-translate-the-ui.md).
1269

13-
**I want to keep Wikipedia pages up-to-date** [![Join the chat at https://gitter.im/JabRef/jabref](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/JabRef/jabref)
70+
**I would like to keep Wikipedia pages up-to-date.**
1471

1572
JabRef improves -- and Wikipedia pages should keep up!
1673

@@ -31,7 +88,7 @@ For changes in a specific language, go to the related page, and simply click on
3188

3289
If there is no page for your own language, you can easily create one.
3390

34-
**I have some cool feature requests** [![Discourse](https://img.shields.io/badge/discourse-online-green.svg)](https://discourse.jabref.org/c/features/6)
91+
**I have some cool feature requests.**
3592

3693
[Come discuss it!](http://discourse.jabref.org)
3794

@@ -40,7 +97,6 @@ If there is no page for your own language, you can easily create one.
4097
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 [https://donations.jabref.org](https://donations.jabref.org).
4198

4299
Our team consists of volunteers. To provide better support, we are currently trying to get a funded developer on board. Please consider donating money!
43-
{% endtab %}
44100

45101
**I would like to contribute code. How to?**
46102

en/jabkit.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ You can also run it using [docker](https://www.docker.com/):
1818
docker run ghcr.io/jabref/jabkit:edge --help
1919
```
2020

21-
### Making JabKit available on the CLI as `jabkit`:
21+
### Making JabKit available on the CLI as `jabkit`
2222

2323
In case JabKit should be available on the command line, execute following steps
2424

0 commit comments

Comments
 (0)