Build modular Java projects with JDK Foundation Tools.
-
โ Java, pristine Java
Describe your project in Java's syntax. No XML, no YML, no Z... nor any another programming language required.
-
๐งฉ Modules, modules, everywhere!
Java modules as basic building blocks. Write
module-info.java
files to define main, test, and test-preview modules. -
๐ Zero-installation build mode
jshell https://sormuras.de/bach/build
- redirects to bach-build.jsh
- Install JDK 14 or newer
- Call
java .bach/src/build/build/Bootstrap.java
install-jdk.sh
main purpose is to install the latest-and-greatest available OpenJDK release from jdk.java.net.
Find a Travis CI matrix configuration at sormuras.github.io/.travis.yml.
-h|--help Displays this help
-d|--dry-run Activates dry-run mode
-s|--silent Displays no output
-e|--emit-java-home Print value of "JAVA_HOME" to stdout (ignores silent mode)
-v|--verbose Displays verbose output
-f|--feature 9|11|...|ea JDK feature release number, defaults to "ea"
-o|--os linux-x64|osx-x64 Operating system identifier
-u|--url "https://..." Use custom JDK archive (provided as .tar.gz file)
-w|--workspace PATH Working directory defaults to user's ${HOME}
-t|--target PATH Target directory, defaults to first real component of the tarball
-c|--cacerts Link system CA certificates (currently only Debian/Ubuntu is supported)
-
Source
install-jdk.sh
into current shell to install latest OpenJDK and let it updateJAVA_HOME
andPATH
environment variables:source ./install-jdk.sh
Caveat: if an error happens during script execution the calling shell will terminate
-
Provide target directory path to use as
JAVA_HOME
:JAVA_HOME=~/jdk && ./install-jdk.sh --target $JAVA_HOME && PATH=$JAVA_HOME/bin:$PATH
-
Run
install-jdk.sh
in a sub-shell to install latest OpenJDK and emit the installation path tostdout
:JAVA_HOME=$(./install-jdk.sh --silent --emit-java-home)
JAVA_HOME=$(./install-jdk.sh --emit-java-home | tail --lines 1)