blob: a44d22c1e6b6b2483f305a2d1f7b0dc4b6a37432 [file] [log] [blame]
"GraalVM Rules for Bazel"
module(
name = "rules_graalvm",
version = "0.10.3",
)
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")