|  | "GraalVM Rules for Bazel" | 
|  |  | 
|  | module( | 
|  | name = "rules_graalvm", | 
|  | version = "0.10.2", | 
|  | ) | 
|  |  | 
|  | JAVA_VERSION = "20" | 
|  |  | 
|  | PYTHON_VERSION = "3.11" | 
|  |  | 
|  | NODE_VERSION = "20.5.0" | 
|  |  | 
|  | GRAALVM_VERSION = "20.0.2" | 
|  |  | 
|  | GRAALVM_DIST = "ce" | 
|  |  | 
|  | GRAALVM_SDK_VERSION = "23.0.1" | 
|  |  | 
|  | GRAALVM_COMPONENTS = [ | 
|  | "wasm", | 
|  | "js", | 
|  | ] | 
|  |  | 
|  | ## | 
|  | ## Dependencies: API | 
|  | ## | 
|  |  | 
|  | bazel_dep( | 
|  | name = "platforms", | 
|  | version = "0.0.7", | 
|  | ) | 
|  | bazel_dep( | 
|  | name = "bazel_features", | 
|  | version = "1.0.0", | 
|  | ) | 
|  | bazel_dep( | 
|  | name = "rules_java", | 
|  | version = "6.4.0", | 
|  | ) | 
|  | bazel_dep( | 
|  | name = "bazel_skylib", | 
|  | version = "1.4.2", | 
|  | ) | 
|  | bazel_dep( | 
|  | name = "apple_support", | 
|  | version = "1.8.1", | 
|  | repo_name = "build_bazel_apple_support", | 
|  | ) | 
|  |  | 
|  | ## | 
|  | ## Dependencies: Development | 
|  | ## | 
|  |  | 
|  | bazel_dep( | 
|  | name = "rules_license", | 
|  | version = "0.0.7", | 
|  | dev_dependency = True, | 
|  | ) | 
|  | bazel_dep( | 
|  | name = "rules_cc", | 
|  | version = "0.0.8", | 
|  | dev_dependency = True, | 
|  | ) | 
|  | bazel_dep( | 
|  | name = "rules_python", | 
|  | version = "0.25.0", | 
|  | dev_dependency = True, | 
|  | ) | 
|  | bazel_dep( | 
|  | name = "rules_testing", | 
|  | version = "0.4.0", | 
|  | dev_dependency = True, | 
|  | ) | 
|  | bazel_dep( | 
|  | name = "aspect_bazel_lib", | 
|  | version = "1.34.1", | 
|  | dev_dependency = True, | 
|  | ) | 
|  | bazel_dep( | 
|  | name = "aspect_rules_js", | 
|  | version = "1.32.0", | 
|  | dev_dependency = True, | 
|  | ) | 
|  | bazel_dep( | 
|  | name = "rules_nodejs", | 
|  | version = "6.0.1", | 
|  | dev_dependency = True, | 
|  | ) | 
|  | bazel_dep( | 
|  | name = "protobuf", | 
|  | version = "21.7", | 
|  | dev_dependency = True, | 
|  | repo_name = "com_google_protobuf", | 
|  | ) | 
|  | bazel_dep( | 
|  | name = "rules_go", | 
|  | version = "0.41.0", | 
|  | dev_dependency = True, | 
|  | repo_name = "io_bazel_rules_go", | 
|  | ) | 
|  | bazel_dep( | 
|  | name = "gazelle", | 
|  | version = "0.32.0", | 
|  | dev_dependency = True, | 
|  | repo_name = "bazel_gazelle", | 
|  | ) | 
|  | bazel_dep( | 
|  | name = "rules_jvm_external", | 
|  | version = "5.3", | 
|  | dev_dependency = True, | 
|  | ) | 
|  | bazel_dep( | 
|  | name = "stardoc", | 
|  | version = "0.6.2", | 
|  | dev_dependency = True, | 
|  | repo_name = "io_bazel_stardoc", | 
|  | ) | 
|  | bazel_dep( | 
|  | name = "bazel_skylib_gazelle_plugin", | 
|  | version = "1.4.2", | 
|  | dev_dependency = True, | 
|  | ) | 
|  | bazel_dep( | 
|  | name = "contrib_rules_jvm", | 
|  | version = "0.18.0", | 
|  | dev_dependency = True, | 
|  | ) | 
|  | bazel_dep( | 
|  | name = "apple_rules_lint", | 
|  | version = "0.3.2", | 
|  | dev_dependency = True, | 
|  | ) | 
|  | bazel_dep( | 
|  | name = "buildifier_prebuilt", | 
|  | version = "6.3.3", | 
|  | dev_dependency = True, | 
|  | ) | 
|  |  | 
|  | ################################################################################ | 
|  | # rules_jvm_external | 
|  | ################################################################################ | 
|  |  | 
|  | MAVEN_ARTIFACTS = [ | 
|  | "org.graalvm.nativeimage:svm:%s" % GRAALVM_SDK_VERSION, | 
|  | "org.graalvm.sdk:graal-sdk:%s" % GRAALVM_SDK_VERSION, | 
|  | ] | 
|  |  | 
|  | MAVEN_REPOSITORIES = [ | 
|  | "https://maven.pkg.st", | 
|  | "https://maven.google.com", | 
|  | "https://repo1.maven.org/maven2", | 
|  | ] | 
|  |  | 
|  | maven = use_extension( | 
|  | "@rules_jvm_external//:extensions.bzl", | 
|  | "maven", | 
|  | dev_dependency = True, | 
|  | ) | 
|  | maven.install( | 
|  | name = "maven_gvm", | 
|  | artifacts = MAVEN_ARTIFACTS, | 
|  | lock_file = "//:maven_install.json", | 
|  | repositories = MAVEN_REPOSITORIES, | 
|  | ) | 
|  | use_repo( | 
|  | maven, | 
|  | "maven_gvm", | 
|  | "unpinned_maven_gvm", | 
|  | ) | 
|  |  | 
|  | ################################################################################ | 
|  | # rules_graalvm | 
|  | ################################################################################ | 
|  |  | 
|  | gvm = use_extension( | 
|  | ":extensions.bzl", | 
|  | "graalvm", | 
|  | dev_dependency = True, | 
|  | ) | 
|  | gvm.graalvm( | 
|  | name = "graalvm", | 
|  | components = GRAALVM_COMPONENTS, | 
|  | distribution = GRAALVM_DIST, | 
|  | java_version = JAVA_VERSION, | 
|  | version = GRAALVM_VERSION, | 
|  | ) | 
|  | use_repo( | 
|  | gvm, | 
|  | "graalvm", | 
|  | ) | 
|  |  | 
|  | register_toolchains( | 
|  | "@graalvm//:jvm", | 
|  | dev_dependency = True, | 
|  | ) | 
|  |  | 
|  | register_toolchains( | 
|  | "@graalvm//:sdk", | 
|  | dev_dependency = True, | 
|  | ) | 
|  |  | 
|  | ################################################################################ | 
|  | # rules_python | 
|  | ################################################################################ | 
|  |  | 
|  | python = use_extension( | 
|  | "@rules_python//python/extensions:python.bzl", | 
|  | "python", | 
|  | dev_dependency = True, | 
|  | ) | 
|  | python.toolchain( | 
|  | configure_coverage_tool = True, | 
|  | is_default = True, | 
|  | python_version = PYTHON_VERSION, | 
|  | ) | 
|  | use_repo(python, "python_3_11", "python_versions") | 
|  |  | 
|  | pip = use_extension( | 
|  | "@rules_python//python/extensions:pip.bzl", | 
|  | "pip", | 
|  | dev_dependency = True, | 
|  | ) | 
|  | pip.parse( | 
|  | extra_pip_args = [ | 
|  | "--no-binary", | 
|  | "grequests", | 
|  | ], | 
|  | hub_name = "pip", | 
|  | python_version = PYTHON_VERSION, | 
|  | requirements_lock = "@//:requirements_lock.txt", | 
|  | ) | 
|  | use_repo(pip, "pip", "pip_311") | 
|  |  | 
|  | ################################################################################ | 
|  | # rules_js | 
|  | ################################################################################ | 
|  |  | 
|  | node = use_extension( | 
|  | "@rules_nodejs//nodejs:extensions.bzl", | 
|  | "node", | 
|  | dev_dependency = True, | 
|  | ) | 
|  | node.toolchain(node_version = NODE_VERSION) | 
|  |  | 
|  | npm = use_extension( | 
|  | "@aspect_rules_js//npm:extensions.bzl", | 
|  | "npm", | 
|  | dev_dependency = True, | 
|  | ) | 
|  | npm.npm_translate_lock( | 
|  | name = "npm", | 
|  | pnpm_lock = "//:pnpm-lock.yaml", | 
|  | verify_node_modules_ignored = "//:.bazelignore", | 
|  | ) | 
|  | use_repo(npm, "npm") |