diff options
Diffstat (limited to 'subprojects/docs/src/develop/contributing/index.md')
-rw-r--r-- | subprojects/docs/src/develop/contributing/index.md | 59 |
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 | --- | ||
2 | SPDX-FileCopyrightText: 2024 The Refinery Authors | ||
3 | SPDX-License-Identifier: EPL-2.0 | ||
4 | sidebar_position: 1 | ||
5 | title: Contributing | ||
6 | --- | ||
7 | |||
8 | import TabItem from '@theme/TabItem'; | ||
9 | import Tabs from '@theme/Tabs'; | ||
10 | |||
11 | # Contributing to Refinery | ||
12 | |||
13 | You can clone the refinery repository from GitHub at https://github.com/graphs4value/refinery. | ||
14 | If 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 | |||
18 | Refinery 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 | |||
22 | To build Refinery, run the command | ||
23 | ```bash posix2windows | ||
24 | ./gradlew build | ||
25 | ``` | ||
26 | in the cloned repository. | ||
27 | |||
28 | This should complete without any compilation errors. | ||
29 | |||
30 | If 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> | ||
43 | To 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 | |||
57 | If 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 | |||
59 | For further information, see the [supported build commands](/develop/contributing/commands) and the [instructions for setting up an IDE](/develop/contributing/ide-setup). | ||