Bazel rules for building and running Quarkus applications. Supports quarkus_app (Fast JAR, Uber JAR, mutable JAR, legacy JAR, AOT JAR, and native executables), hermetic build-time configuration, extension-driven Java code generation, dev mode with hot-reload, quarkus_test (@QuarkusTest), quarkus_integration_test (@QuarkusIntegrationTest), and quarkus_extension_runtime (building, using, and publishing custom Quarkus extensions — see Building Quarkus Extensions and examples/demo_extension).
See install instructions on the release page.
Add to your MODULE.bazel:
bazel_dep(name = "com_clementguillot_rules_quarkus", version = "<VERSION>")
load(
"@rules_quarkus//quarkus:defs.bzl",
"quarkus_app",
"quarkus_integration_test",
"quarkus_java_library",
"quarkus_test",
)
quarkus_java_library(
name = "lib",
srcs = glob(["src/main/java/**/*.java"]),
codegen_srcs = glob(["src/main/proto/**/*.proto"]),
deps = [
"@maven//:com_google_protobuf_protobuf_java",
"@maven//:io_quarkus_quarkus_grpc",
],
)
quarkus_app(
name = "app",
continuous_test = ":test",
package_type = "fast-jar", # default; see docs for every JVM layout
version = "1.0.0-SNAPSHOT",
deps = [":lib"],
)
quarkus_test(
name = "test",
deps = [":test_lib"],
)
quarkus_integration_test(
name = "integration_test",
app = ":app",
deps = [":test_lib"],
)
bazel run //:app # Production mode
bazel run //:app_dev # Dev mode (hot-reload + Dev UI continuous testing)
bazel run //:app_test # Console-only continuous testing
bazel test //:test # @QuarkusTest
bazel test //:integration_test # @QuarkusIntegrationTest against the selected package
bazel coverage //:test # Bazel LCOV coverage
Integration tests included in a broader bazel coverage command run
uninstrumented and do not prevent supported quarkus_test targets from
producing LCOV.
See the Getting Started guide for full setup instructions.
3.27.4 (LTS) or 3.33.2 (LTS)Important: You must use one of the exact supported versions listed above (
3.27.4or3.33.2). Quarkus bytecode generated during augmentation is tightly coupled to the exact patch version — even within the same minor, runtime incompatibilities can occur.
See LICENSE.
0.7.0 +1.0mo2026-09-29 | |
0.6.0 +18d2026-08-28 | |
0.5.3 +13d2026-08-10 | |
0.5.2 +20h2026-07-28 | |
0.5.1 +23h2026-07-27 | |
0.5.0 +9d2026-07-26 | |
0.4.4 +4d2026-07-17 | |
0.4.3 +5d2026-07-13 | |
0.4.2 +2d2026-07-07 | |
0.4.1 +3d2026-07-04 | |
0.4.0 +13d2026-07-01 | |
0.3.1 +7d2026-06-17 | |
0.3.0 +6d2026-06-10 | |
0.2.2 +22h2026-06-03 | |
0.2.1 +3d2026-06-02 | |
0.2.0 +5d2026-05-29 | |
0.1.1 +3d2026-05-23 | |
0.1.02026-05-19 |