Skip to content

Commit 892f2fb

Browse files
committed
update docs java install and version information
This commit clarifies how Gradle support is more version dependent and guides users in the getting started doc toward using the first two installation options and away from SDKMAN if they aren't developers. The developer notes are also updated to include information about Gradle versioning in relation to Java versions with a helpful link.
1 parent 307b44d commit 892f2fb

2 files changed

Lines changed: 21 additions & 8 deletions

File tree

docusaurus/docs/Contributing/developer-guidelines.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,19 @@ While there are plenty of developer tools available for Java developers, this pa
3131
We write exclusively in Java or Java-compiled languages without any operating-system specific packages (to maintain portability across machines).
3232

3333
### SDKMAN!
34-
Olivia recommends installing Java using [SDKMAN!][sdkman] for convenient flipping between Java versions. While ScriptManager is currently developed to the Java 8 SE standard, it is good practice to check for forward and backward compatibility between Java versions. We are constantly monitoring new Java releases and developing according to a standard that is consistent across Java versions makes our lives easier down the road when the Java version standard is incremented.
34+
Olivia recommends installing Java using [SDKMAN!][sdkman] for convenient flipping between Java versions and releases. While ScriptManager is currently developed to the Java 8 SE standard, it is good practice to check for forward and backward compatibility between Java versions. We are constantly monitoring new Java releases and developing according to a standard that is consistent across Java versions makes our lives easier down the road when the Java version standard is incremented.
3535

3636
### Integrated Development Environment (IDE) - Eclipse
3737
We recommend using [Eclipse][eclipse] to write Java code for ScriptManager because it supports both [Gradle][gradle] (see below) and [WindowBuilder][window-builder] for convenient building of JAR files and graphical interface development.
3838

3939
### Gradle-based build
4040
Compiling Java classes and building JAR files could be handled manually, but for this project, we let Gradle juggle the process of compiling, retrieving dependencies, and building the final JAR file. The dependencies we use are a mix of downloaded JAR files (`scriptmanager/lib/*.jar` and dependencies retrieved directly from [Maven][maven]).
4141

42+
Gradle will need to be updated periodically to support *building* on later Java versions.
43+
44+
:::caution
45+
Please note the minimum Java version required to support building the JAR executable. Code compiling with Gradle creates an upper Java version limit depending on the version of Gradle used. See this [table][gradle-version-compatibility] for more information on version compatibility.
46+
:::
4247

4348
## The Code Structure (Packages)
4449
```
@@ -153,6 +158,7 @@ The [Release Roadmap][release-roadmap] on Github organizes issue tickets and cre
153158
[eclipse]:https://www.eclipse.org/ide/
154159
[eclipse-ide]:https://www.eclipse.org/eclipseide/
155160
[gradle]:https://docs.gradle.org/current/userguide/userguide.html
161+
[gradle-version-compatibility]:https://docs.gradle.org/current/userguide/compatibility.html
156162
[htsjdk]:https://github.com/samtools/htsjdk
157163
[jfree]:https://github.com/jfree/jfreechart
158164
[maven]:https://maven.apache.org/

docusaurus/docs/Guides/getting-started.md

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,20 @@ Both Graphical User Interface (GUI) and Command Line Interface (CLI) execution o
1515

1616
### Java
1717

18-
This tool is a Java-based tool and has been developed for Java versions 8 or higher. Most machines already have Java installed! So check if you've got it first!
18+
This tool is a Java-based tool and has been developed to run using Java versions 8 or higher. Set up Java on your machine in one of many ways...
1919

20-
There are many ways to set up Java on your machine but we are just including three ways below:
20+
* **Option A:** Download [OpenJDK for Java 11][temurin-11] (recommend for novice users)
2121

22-
1. Download [OpenJDK for Java 8][openjdk] (recommend for novice users)
23-
2. Create a [conda][conda-openjdk] environment with Java:
22+
* **Option B:** If you have Anaconda set up on a Unix/MacOS system, create a [conda][conda-openjdk] environment with Java using the following command:
2423
```
2524
conda install -n my-env -c conda-forge openjdk
2625
```
27-
3. ...or use [SDKMAN!][sdk-notes] (what Olivia does)
2826

27+
Feel free to use whatever Java installation method you are most comfortable with. Most machines already have Java installed! **So check if you've got it first!**
28+
29+
:::note
30+
**For Developers:** If you are writing code for scriptmanager and need to flip between Java versions to perform testing across different versions and releases, consider using [SDKMAN!][sdk-notes] (what Olivia does).
31+
:::
2932

3033
## Set-up: Download Executable and Start
3134
There are two ways to obtain the ScriptManager executable JAR file.
@@ -49,8 +52,12 @@ cd scriptmanager
4952

5053
The ScriptManager jar file will be created in the `build/libs` directory. As long as you have this file, you can move it wherever you want and do whatever you want with the rest of the ScriptManager files (even delete them). If you ever lose the JAR file, you can regenerate it by rerunning the Gradle build command in while in the `scriptmanager` directory.
5154

55+
:::caution
56+
Please note that the latest **Java version** may not be compatible our supported Gradle version to compile. The JAR can be *executed* on most versions but compiling the code may require installing an older version of Java. Consider directly downloading the JAR executable (instructions above) if these steps aren't working.
57+
:::
58+
5259
### Update the Github repository (update to latest dev version)
53-
If you ever need to update to get the latest code from the Github repo, just navigate to the `scriptmanager` directory and run the following commands to update and then re-build your JAR executable.
60+
If you ever need to get the latest code from the Github repo, just navigate to the `scriptmanager` directory and run the following commands in the terminal to update and then re-build your JAR executable.
5461
```bash
5562
cd scriptmanager
5663
git pull
@@ -124,7 +131,7 @@ If you use ScriptManager in your work, you can use the [Lang et al (2022)][pearc
124131
We welcome anyone who uses ScriptManager for analysis in their publications to let us know by sending an email to owl8@cornell.edu so we can list it in our [showcase of publications][publications-list]!
125132
:::
126133

127-
[openjdk]:https://openjdk.java.net/install/
134+
[temurin-11]:https://adoptium.net/temurin/releases?version=11
128135
[conda-openjdk]:https://anaconda.org/conda-forge/openjdk
129136
[github-releases]:https://github.com/CEGRcode/scriptmanager/releases
130137
[direct-download-jar]:https://github.com/CEGRcode/scriptmanager/releases/download/v0.13/ScriptManager-v0.13.jar

0 commit comments

Comments
 (0)