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). + + + |
+