package(default_visibility = ["//visibility:public"]) DEPRECATION_MESSAGE = ("Don't depend on targets in the JDK workspace;" + " use @bazel_tools//tools/jdk:current_java_runtime instead" + " (see https://github.com/bazelbuild/bazel/issues/5594)") filegroup( name = "jni_header", srcs = ["include/jni.h"], deprecation = DEPRECATION_MESSAGE, ) filegroup( name = "jni_md_header-darwin", srcs = ["include/darwin/jni_md.h"], deprecation = DEPRECATION_MESSAGE, ) filegroup( name = "jni_md_header-linux", srcs = ["include/linux/jni_md.h"], deprecation = DEPRECATION_MESSAGE, ) filegroup( name = "jni_md_header-freebsd", srcs = ["include/freebsd/jni_md.h"], deprecation = DEPRECATION_MESSAGE, ) filegroup( name = "jni_md_header-windows", srcs = ["include/win32/jni_md.h"], deprecation = DEPRECATION_MESSAGE, ) filegroup( name = "java", deprecation = DEPRECATION_MESSAGE, srcs = select({ ":windows": ["bin/java.exe"], "//conditions:default": ["bin/java"], }), data = [":jdk"], ) filegroup( name = "jar", deprecation = DEPRECATION_MESSAGE, srcs = select({ ":windows": ["bin/jar.exe"], "//conditions:default": ["bin/jar"], }), data = [":jdk"], ) filegroup( deprecation = DEPRECATION_MESSAGE, name = "javac", srcs = select({ ":windows": ["bin/javac.exe"], "//conditions:default": ["bin/javac"], }), data = [":jdk"], ) filegroup( deprecation = DEPRECATION_MESSAGE, name = "xjc", srcs = ["bin/xjc"], ) filegroup( deprecation = DEPRECATION_MESSAGE, name = "wsimport", srcs = ["bin/wsimport"], ) BOOTCLASS_JARS = [ "rt.jar", "resources.jar", "jsse.jar", "jce.jar", "charsets.jar", ] # TODO(cushon): this isn't compatible with JDK 9 filegroup( deprecation = DEPRECATION_MESSAGE, name = "bootclasspath", srcs = ["jre/lib/%s" % jar for jar in BOOTCLASS_JARS], ) # TODO(cushon): migrate to extclasspath and delete filegroup( name = "extdir", deprecation = DEPRECATION_MESSAGE, srcs = glob(["jre/lib/ext/*.jar"]), ) filegroup( name = "extclasspath", deprecation = DEPRECATION_MESSAGE, srcs = glob(["jre/lib/ext/*.jar"]), ) filegroup( name = "jre-bin", srcs = select({ # In some configurations, Java browser plugin is considered harmful and # common antivirus software blocks access to npjp2.dll interfering with Bazel, # so do not include it in JRE on Windows. ":windows": glob(["jre/bin/**"], exclude = ["jre/bin/plugin2/**"]), "//conditions:default": glob(["jre/bin/**"]), }), deprecation = DEPRECATION_MESSAGE, ) filegroup( name = "jre-lib", srcs = glob(["jre/lib/**"]), ) filegroup( name = "jre", srcs = [":jre-default"], ) filegroup( name = "jre-default", srcs = [ ":jre-bin", ":jre-lib", ], deprecation = DEPRECATION_MESSAGE, ) filegroup( name = "jdk-bin", srcs = glob( ["bin/**"], # The JDK on Windows sometimes contains a directory called # "%systemroot%", which is not a valid label. exclude = ["**/*%*/**"], ), ) filegroup( name = "jdk-include", srcs = glob(["include/**"]), ) filegroup( name = "jdk-lib", srcs = glob( ["lib/**"], exclude = [ "lib/missioncontrol/**", "lib/visualvm/**", ], ), ) java_runtime( name = "jdk", srcs = [ ":jdk-bin", ":jdk-include", ":jdk-lib", ":jre-default", ], ) filegroup( name = "langtools", srcs = ["lib/tools.jar"], deprecation = DEPRECATION_MESSAGE, ) java_import( name = "langtools-neverlink", jars = ["lib/tools.jar"], neverlink = 1, deprecation = DEPRECATION_MESSAGE, ) config_setting( name = "windows", values = {"cpu": "x64_windows"}, visibility = ["//visibility:private"], )