| """Fake java toolchains for testing""" | |
| load("//java/common:java_semantics.bzl", "semantics") | |
| load("//java/toolchains:java_runtime.bzl", _java_runtime_rule = "java_runtime") | |
| load("//java/toolchains:java_toolchain.bzl", "java_toolchain") | |
| # buildifier: disable=function-docstring | |
| def mock_java_toolchain( | |
| *, | |
| name, | |
| singlejar = "singlejar", | |
| javabuilder = "JavaBuilder_deploy.jar", | |
| header_compiler = "turbine_canary_deploy.jar", | |
| header_compiler_direct = "turbine_direct", | |
| ijar = "ijar", | |
| genclass = "genclass", | |
| java_runtime = None, | |
| oneversion = None, | |
| oneversion_allowlist = None, | |
| oneversion_allowlist_for_tests = None, | |
| tags = None, # for util.helper_target | |
| **kwargs): | |
| if not java_runtime: | |
| java_runtime = name + "_runtime" | |
| _java_runtime_rule(name = java_runtime) | |
| one_version_args = { | |
| "oneversion": oneversion, | |
| "oneversion_allowlist": oneversion_allowlist, | |
| "oneversion_allowlist_for_tests": oneversion_allowlist_for_tests, | |
| } if semantics.java_toolchain_supports_one_version else {} | |
| java_toolchain( | |
| name = name + "_java", | |
| javabuilder = javabuilder, | |
| singlejar = singlejar, | |
| header_compiler = header_compiler, | |
| header_compiler_direct = header_compiler_direct, | |
| ijar = ijar, | |
| java_runtime = java_runtime, | |
| genclass = genclass, | |
| tags = tags, | |
| **(kwargs | one_version_args) | |
| ) | |
| native.toolchain( | |
| name = name, | |
| toolchain = name + "_java", | |
| toolchain_type = semantics.JAVA_TOOLCHAIN_TYPE, | |
| tags = tags, | |
| ) | |
| # buildifier: disable=function-docstring | |
| def mock_java_runtime_toolchain( | |
| *, | |
| name, | |
| srcs = [], | |
| java_home = None, | |
| java = None, | |
| version = None, | |
| **kwargs): | |
| _java_runtime_rule( | |
| name = name + "_runtime", | |
| srcs = srcs, | |
| java_home = java_home, | |
| java = java, | |
| version = version, | |
| **kwargs | |
| ) | |
| native.toolchain( | |
| name = name, | |
| toolchain = name + "_runtime", | |
| toolchain_type = semantics.JAVA_RUNTIME_TOOLCHAIN_TYPE, | |
| **kwargs | |
| ) |