All Projects → andyscott → rules_graal

andyscott / rules_graal

Licence: Apache-2.0, Unknown licenses found Licenses found Apache-2.0 LICENSE Unknown COPYING
Bazel rules to make JVM binaries into native binaries

Programming Languages

Starlark
911 projects
shell
77523 projects
java
68154 projects - #9 most used programming language

rules_graal

Turn a JVM binary into a native binary.

Usage

You'll need to first load the rules in your WORKSPACE file.

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
    name = "rules_graal",
    sha256 = "<zip file sha256sum>",
    strip_prefix = "rules_graal-master",
    urls = [
        "https://github.com/andyscott/rules_graal/archive/<git commit sha>.zip",
    ],
)

load("@rules_graal//graal:graal_bindist.bzl", "graal_bindist_repository")

graal_bindist_repository(
    name = "graal",
    java_version = "11",  # 17 is also a valid option. 8 is an option in earlier versions.
    version = "21.3.0",
)

Then, in a build file:

load("@rules_graal//graal:graal.bzl", "graal_binary")
load("@rules_java//java:defs.bzl", "java_library")

java_library(
    name = "main",
    srcs = glob(["Main.java"]),
)

graal_binary(
    name = "main-native",
    deps = [":main"],
    main_class = "Main",
)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].