v0.1.1-rc3
Pre-release
Pre-release
Release Notes: rules_scala_native v0.1.0-rc3
We are excited to announce the first release candidate for rules_scala_native, bringing scalable, hermetic Scala Native builds to the Bazel ecosystem.
Key Features
📦 Bzlmod First
Full support for Bazel's modern dependency management system (Bzlmod). No WORKSPACE configuration required.
🌐 Advanced Cross-Compilation
Seamlessly target multiple architectures and operating systems using a hermetic LLVM/Clang toolchain.
- Verified Host: Linux x86_64
- Verified Targets: 72 combinations including Linux (glibc 2.28+, musl), macOS, and Windows.
- Supported Architectures: x86_64, aarch64.
🔌 Polyglot Interoperability
Easy integration with other native languages via Bazel dependencies. Link scala_native_binary against:
cc_library(C/C++)rust_static_library(viarules_rust)zig_static_library(viarules_zig)
🧪 First-Class Testing
Native support for JUnit tests via scala_native_test, ensuring your native code is as reliable as your JVM code.
Installation
Add the following to your MODULE.bazel file:
# MODULE.bazel (partial)
bazel_dep(name = "rules_scala_native", version = "0.1.0-rc3")
# Required dependencies
bazel_dep(name = "rules_scala", version = "7.2.2")
bazel_dep(name = "llvm", version = "0.6.1")
# Register toolchains
register_toolchains(
"@llvm//toolchain:all",
"@rules_scala_toolchains//...:all",
"@rules_scala_native//scala_native:scala_native_toolchain",
)Requirements
- Bazel: 9.0.0 or higher
- Scala: 3.8.1
- Scala Native: 0.5.10
Current Limitations
- Windows support is currently in early stage (work-in-progress).
scala_native_testrequires explicit listing of test suites.- Only Scala 3.8.1 and Scala Native 0.5.10 are officially supported in this release.
Contributors
A huge thanks to everyone on the Scala who contributed to this release!
cFull Changelog: v0.1.0...v0.1.1-rc3