"""Bazel module definition for rules_scala_native. Provides Bazel rules for building Scala Native applications: - scala_native_library: compiles Scala sources to class + NIR files - scala_native_binary: links NIR files into a native executable """ module( name = "rules_scala_native", version = "0.1.0", bazel_compatibility = [">=9.0.0"], compatibility_level = 0, ) SCALA_VERSION = "3.8.1" bazel_dep(name = "bazel_skylib", version = "1.8.2") bazel_dep(name = "platforms", version = "1.0.0") bazel_dep(name = "rules_cc", version = "0.2.16") bazel_dep(name = "rules_java", version = "9.3.0") bazel_dep(name = "protobuf", version = "33.4") bazel_dep( name = "rules_scala", version = "7.2.2", ) bazel_dep(name = "llvm", version = "0.6.1") bazel_dep( name = "rules_bazel_integration_test", version = "0.37.1", dev_dependency = True, ) bazel_binaries = use_extension( "@rules_bazel_integration_test//:extensions.bzl", "bazel_binaries", dev_dependency = True, ) bazel_binaries.download(version = "9.0.0") use_repo( bazel_binaries, "bazel_binaries", "bazel_binaries_bazelisk", "build_bazel_bazel_9_0_0", ) register_toolchains( "@llvm//toolchain:all", ) ########################## Configure Scala #################################### scala_config = use_extension( "@rules_scala//scala/extensions:config.bzl", "scala_config", ) scala_config.settings(scala_version = SCALA_VERSION) use_repo(scala_config, "rules_scala_config") scala_deps = use_extension( "@rules_scala//scala/extensions:deps.bzl", "scala_deps", ) scala_deps.scala() use_repo( scala_deps, "rules_scala_toolchains", ) ########################## Scala Native Artifacts ############################# scala_native_deps = use_extension( "//scala_native/extensions:deps.bzl", "scala_native_deps", ) scala_native_deps.toolchain(scala_native_version = "0.5.10") use_repo( scala_native_deps, "org_junit_junit", "org_scala_native_auxlib", "org_scala_native_clib", "org_scala_native_javalib", "org_scala_native_junit_plugin", "org_scala_native_junit_runtime", "org_scala_native_nativelib", "org_scala_native_nir", "org_scala_native_nscplugin", "org_scala_native_posixlib", "org_scala_native_scalalib", "org_scala_native_test_interface", "org_scala_native_tools", "org_scala_native_util", "org_scala_native_windowslib", ) register_toolchains( "@rules_scala_toolchains//...:all", "//scala_native:scala_native_toolchain", )