Skip to content

Configure path to graalvm #397

@ayashjorden

Description

@ayashjorden

(I'll preface with that probably I'm doing something wrong. although I did read through the docs.)

Our Bazel builds are going through a proxy to fetch artifacts and I am hitting a 404 when rules_graalvm tries to download the CE 17.0.8:

ERROR: Analysis of target '<NATIVE_IMAGE_BAZEL_TARGET_NAME>' failed; build aborted: java.io.IOException: Error downloading [https://<INTERNAL_PROXY>/mirror-bazel-build/github.com/graalvm/graalvm-ce-builds/releases/download/jdk-17.0.8/graalvm-community-jdk-17.0.8_macos-x64_bin.tar.gz] to /tmp/path/to/graalvm/temp15971974762323443278/graalvm-community-jdk-17.0.8_macos-x64_bin.tar.gz: GET returned 404 Not Found

It seems that graalvm-community-jdk-17.0.8_macos-x64_bin.tar.gz does not exist on mirror-bazel-build:
https://mirror.bazel.build/github.com/graalvm/graalvm-ce-builds/releases/download/jdk-17.0.8/graalvm-community-jdk-17.0.8_macos-x64_bin.tar.gz

Configuration

WORKSPACE.bazel:

http_archive(
    name = "rules_graalvm",
    sha256 = "3ef2f1583a4849d03209a43b0b507f172299c3045e585b6ffa7144a2bc12ae18",
    strip_prefix = "rules_graalvm-0.11.2",
    urls = [
        "https://github.com/sgammon/rules_graalvm/releases/download/v0.11.2/rules_graalvm-0.11.2.zip",
    ],
)
load("@rules_graalvm//graalvm:repositories.bzl", "graalvm_repository")
graalvm_repository(
    name = "graalvm",
    distribution = "ce",  # `oracle`, `ce`, or `community`
    java_version = "17",  # `17`, `20`, `21`, or `22` as supported by the version provided
    version = "17.0.8",  # gvm sdk version format like `24.x.x` also supported
)
load("@rules_graalvm//graalvm:workspace.bzl", "register_graalvm_toolchains", "rules_graalvm_repositories")
rules_graalvm_repositories()

register_graalvm_toolchains()

BUILD.bazel:

load(
    "@rules_graalvm//graalvm:defs.bzl",
    "native_image",
)

native_image(
    deps = [
        ":db-config-bin"
    ],
    name = "db-config-bin-native",
    main_class = "package.name.ConfigAgent",
    visibility = ["//some/visibilty/publish:__pkg__"],
    native_image_tool = "@graalvm//:native-image",
)
  1. Reading through the docs i was not able to find a way to set the path to the graalvm folder/home.
  2. What else am I doing wrong?

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions