aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/docs/src/develop/contributing/index.md
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/docs/src/develop/contributing/index.md')
-rw-r--r--subprojects/docs/src/develop/contributing/index.md59
1 files changed, 59 insertions, 0 deletions
diff --git a/subprojects/docs/src/develop/contributing/index.md b/subprojects/docs/src/develop/contributing/index.md
new file mode 100644
index 00000000..aa0bdb2f
--- /dev/null
+++ b/subprojects/docs/src/develop/contributing/index.md
@@ -0,0 +1,59 @@
1---
2SPDX-FileCopyrightText: 2024 The Refinery Authors
3SPDX-License-Identifier: EPL-2.0
4sidebar_position: 1
5title: Contributing
6---
7
8import TabItem from '@theme/TabItem';
9import Tabs from '@theme/Tabs';
10
11# Contributing to Refinery
12
13You can clone the refinery repository from GitHub at https://github.com/graphs4value/refinery.
14If you want to contribute code, we recommend [forking](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo) the repository on GitHub so that you can submit a [pull request](https://github.com/graphs4value/refinery/pulls) later.
15
16## Required tools
17
18Refinery is written in Java and TypeScript. To build Refinery, you'll need a **Java 21** compatible **Java Development Kit (JDK).** We recommend the [Adoptium Java 21 JDK](https://adoptium.net/) or the [Amazon Corretto Java 21 JDK](https://aws.amazon.com/corretto/).
19
20## Compiling Refinery {#compiling}
21
22To build Refinery, run the command
23```bash posix2windows
24./gradlew build
25```
26in the cloned repository.
27
28This should complete without any compilation errors.
29
30If you get any errors about the JVM version, check whether the `JAVA_HOME` environment variable is set to the location of **JDK 21**. You can query the variable with
31<Tabs groupId="posix2windows">
32 <TabItem value="posix" label="Linux or macOS">
33 ```bash
34 echo $JAVA_HOME
35 ```
36 </TabItem>
37 <TabItem value="windows" label="Windows (PowerShell)">
38 ```bash
39 echo $Env:JAVA_HOME
40 ```
41 </TabItem>
42</Tabs>
43To set the `JAVA_HOME` environmental variable, use
44<Tabs groupId="posix2windows">
45 <TabItem value="posix" label="Linux or macOS">
46 ```bash
47 export JAVA_HOME=/java/path/here
48 ```
49 </TabItem>
50 <TabItem value="windows" label="Windows (PowerShell)">
51 ```bash
52 $Env:JAVA_HOME="C:\java\path\here"
53 ```
54 </TabItem>
55</Tabs>
56
57If the build fails with a `Host name must not be empty` error, you [might need to remove the empty proxy configuration from your global `gradle.properties` file](https://stackoverflow.com/a/62128323).
58
59For further information, see the [supported build commands](/develop/contributing/commands) and the [instructions for setting up an IDE](/develop/contributing/ide-setup).