Skip to content
This repository has been archived by the owner on Jul 26, 2023. It is now read-only.

graalvm/graalvm-jdk-downloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Warning The GraalVM JDK Downloader is no longer maintained. Please consider using script-friendly URLs or SDKMAN! to download GraalVM. For all download options, visit: https://graalvm.org/downloads.

GraalVM JDK Downloader

Tests

This repository is used to maintain and host the GraalVM JDK Downloader at https://get.graalvm.org/.

Key Features

The GraalVM JDK Downloader

Examples

# Download the latest GraalVM JDK (defaults to the latest release of the JDK and, if a token is found, to EE)
$ bash <(curl -sL https://get.graalvm.org/jdk)

# Download a specific GraalVM JDK
$ bash <(curl -sL https://get.graalvm.org/jdk) graalvm-jdk-20.0.2           # Oracle GraalVM for JDK 20
$ bash <(curl -sL https://get.graalvm.org/jdk) graalvm-community-jdk-17.0.7 # GraalVM Community Edition for JDK 17
$ bash <(curl -sL https://get.graalvm.org/jdk) graalvm-ce-java17-22.3.1     # GraalVM Community Edition 22.3.X and earlier
$ bash <(curl -sL https://get.graalvm.org/jdk) graalvm-ee-java17-22.3.1     # GraalVM Enterprise Edition 22.3.X and earlier

# Download a specific GraalVM JDK to a specific directory
$ bash <(curl -sL https://get.graalvm.org/jdk) --to "$HOME" graalvm-jdk-20.0.2

# Download a specific GraalVM JDK and install the Python and Node.js runtimes
$ bash <(curl -sL https://get.graalvm.org/jdk) -c python,nodejs graalvm-jdk-20.0.2

Help

$ bash <(curl -sL https://get.graalvm.org/jdk) --help
GraalVM JDK Downloader v1.1.0

Usage:
  bash <(curl -sL https://get.graalvm.org/jdk) [opts] [graalvm-community-jdk-20.0.2]

Options:
  -c | --components   Comma-separated list of GraalVM components (for example,
                      '-c python,nodejs').
  -d | --debug        Enable debug mode.
  -h | --help         Show this help text.
  --no-progress       Disable progress printing.
  --to                Existing path to where artifacts will be downloaded (for example,
                      '--to "$HOME"'; current directory is the default).

Visit https://github.com/graalvm/graalvm-jdk-downloader for more information.

Set Up a Download Token for GraalVM Enterprise Edition Installations

A valid download token is required for GraalVM Enterprise Edition installations. To generate a download token, run the following command in a shell. Note that, unlike the GraalVM JDK Downloader, this command is interactive and should not be executed as part of an automated build pipeline. The command will help you store the generated token in the $HOME/.gu/config file. Alternatively, you can also store the token in the $GRAAL_EE_DOWNLOAD_TOKEN environment variable. Download tokens are associated with an email account, so treat them as confidential and encrypt them. (GitHub Actions, for example, supports encrypted secrets.)

$ bash <(curl -sL https://get.graalvm.org/ee-token)

Use the --revoke option to revoke download tokens:

# Revoke a persisted token
$ bash <(curl -sL https://get.graalvm.org/ee-token) --revoke
# Revoke a specific token
$ bash <(curl -sL https://get.graalvm.org/ee-token) --revoke mytoken
# Revoke all tokens for an email address
$ bash <(curl -sL https://get.graalvm.org/ee-token) --revoke [email protected]

Contribute

We welcome code contributions. To get started, sign the Oracle Contributor Agreement (OCA).

We only accept pull requests from committers that can be verified as having signed the OCA.