diff --git a/README.md b/README.md index e1758638b..5edb05dcb 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ Links: * [nixpkgs_package](#nixpkgs_package) * [nixpkgs_cc_configure](#nixpkgs_cc_configure) * [nixpkgs_cc_configure_deprecated](#nixpkgs_cc_configure_deprecated) +* [nixpkgs_java_configure](#nixpkgs_java_configure) * [nixpkgs_python_configure](#nixpkgs_python_configure) * [nixpkgs_sh_posix_configure](#nixpkgs_sh_posix_configure) * [nixpkgs_go_configure](#nixpkgs_go_configure) @@ -566,6 +567,209 @@ Options to forward to the nix command. + + +### nixpkgs_java_configure + +
+nixpkgs_java_configure(name, attribute_path, java_home_path, repository, repositories, nix_file,
+                       nix_file_content, nix_file_deps, nixopts, fail_not_supported, quiet)
+
+ +Define a Java runtime provided by nixpkgs. + +Creates a `nixpkgs_package` for a `java_runtime` instance. +Bazel can use this instance to run JVM binaries and tests, refer to the +[Bazel documentation](https://docs.bazel.build/versions/4.0.0/bazel-and-java.html#configuring-the-jdk) for details. + +#### Example + +Add the following to your `WORKSPACE` file to import a JDK from nixpkgs: +```bzl +load("@io_tweag_rules_nixpkgs//nixpkgs:nixpkgs.bzl", "nixpkgs_java_configure") +nixpkgs_java_configure( + attribute_path = "jdk11.home", + repository = "@nixpkgs", +) +``` + +Add the following configuration to `.bazelrc` to enable this Java runtime: +``` +build --javabase=@nixpkgs_java_runtime//:runtime +build --host_javabase=@nixpkgs_java_runtime//:runtime +# Adjust this to match the Java version provided by this runtime. +# See `bazel query 'kind(java_toolchain, @bazel_tools//tools/jdk:all)'` for available options. +build --java_toolchain=@bazel_tools//tools/jdk:toolchain_java11 +build --host_java_toolchain=@bazel_tools//tools/jdk:toolchain_java11 +``` + + +#### Parameters + + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
name + +optional. +default is "nixpkgs_java_runtime" + +

+ +The name-prefix for the created external repositories. + +

+
attribute_path + +optional. +default is None + +

+ +string, The nixpkgs attribute path for `jdk.home`. + +

+
java_home_path + +optional. +default is "" + +

+ +optional, string, The path to `JAVA_HOME` within the package. + +

+
repository + +optional. +default is None + +

+ +See [`nixpkgs_package`](#nixpkgs_package-repository). + +

+
repositories + +optional. +default is {} + +

+ +See [`nixpkgs_package`](#nixpkgs_package-repositories). + +

+
nix_file + +optional. +default is None + +

+ +optional, Label, Obtain the runtime from the Nix expression defined in this file. Specify only one of `nix_file` or `nix_file_content`. + +

+
nix_file_content + +optional. +default is "" + +

+ +optional, string, Obtain the runtime from the given Nix expression. Specify only one of `nix_file` or `nix_file_content`. + +

+
nix_file_deps + +optional. +default is None + +

+ +See [`nixpkgs_package`](#nixpkgs_package-nix_file_deps). + +

+
nixopts + +optional. +default is [] + +

+ +See [`nixpkgs_package`](#nixpkgs_package-nixopts). + +

+
fail_not_supported + +optional. +default is True + +

+ +See [`nixpkgs_package`](#nixpkgs_package-fail_not_supported). + +

+
quiet + +optional. +default is False + +

+ +See [`nixpkgs_package`](#nixpkgs_package-quiet). + +

+
+ + ### nixpkgs_package diff --git a/docs/BUILD.bazel b/docs/BUILD.bazel index 8b3b119df..31c2ef83d 100644 --- a/docs/BUILD.bazel +++ b/docs/BUILD.bazel @@ -10,6 +10,7 @@ stardoc( "nixpkgs_package", "nixpkgs_cc_configure", "nixpkgs_cc_configure_deprecated", + "nixpkgs_java_configure", "nixpkgs_python_configure", "nixpkgs_sh_posix_configure", ], diff --git a/docs/README.md.tpl b/docs/README.md.tpl index 0abb1568e..9f658ca5e 100644 --- a/docs/README.md.tpl +++ b/docs/README.md.tpl @@ -28,6 +28,7 @@ Links: * [nixpkgs_package](#nixpkgs_package) * [nixpkgs_cc_configure](#nixpkgs_cc_configure) * [nixpkgs_cc_configure_deprecated](#nixpkgs_cc_configure_deprecated) +* [nixpkgs_java_configure](#nixpkgs_java_configure) * [nixpkgs_python_configure](#nixpkgs_python_configure) * [nixpkgs_sh_posix_configure](#nixpkgs_sh_posix_configure) * [nixpkgs_go_configure](#nixpkgs_go_configure)