|  | # Description: | 
|  | # JavaBuilder and java tools used by Bazel | 
|  | package(default_visibility = [":buildjar_package_group"]) | 
|  |  | 
|  | filegroup( | 
|  | name = "srcs", | 
|  | srcs = [ | 
|  | "BUILD", | 
|  | "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar:srcs", | 
|  | "//src/java_tools/buildjar/java/com/google/devtools/build/java/bazel:srcs", | 
|  | "//src/java_tools/buildjar/java/com/google/devtools/build/java/turbine:srcs", | 
|  | "//src/java_tools/buildjar/javatests/com/google/devtools/build/buildjar:srcs", | 
|  | "//src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine:srcs", | 
|  | ], | 
|  | visibility = ["//:__subpackages__"], | 
|  | ) | 
|  |  | 
|  | package_group( | 
|  | name = "buildjar_package_group", | 
|  | packages = [ | 
|  | "//src/java_tools/buildjar/...", | 
|  | "//src/tools/android/...", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | java_binary( | 
|  | name = "JavaBuilder", | 
|  | main_class = "com.google.devtools.build.buildjar.BazelJavaBuilder", | 
|  | visibility = ["//visibility:public"], | 
|  | runtime_deps = ["//src/java_tools/buildjar/java/com/google/devtools/build/buildjar"], | 
|  | ) | 
|  |  | 
|  | java_binary( | 
|  | name = "VanillaJavaBuilder", | 
|  | main_class = "com.google.devtools.build.buildjar.VanillaJavaBuilder", | 
|  | visibility = ["//visibility:public"], | 
|  | runtime_deps = ["//src/java_tools/buildjar/java/com/google/devtools/build/buildjar:vanilla_java_builder"], | 
|  | ) | 
|  |  | 
|  | filegroup( | 
|  | name = "bootstrap_VanillaJavaBuilder_deploy.jar", | 
|  | srcs = ["//src/java_tools/buildjar/java/com/google/devtools/build/buildjar:bootstrap_VanillaJavaBuilder_deploy.jar"], | 
|  | tags = ["manual"], | 
|  | visibility = ["//visibility:public"], | 
|  | ) | 
|  |  | 
|  | filegroup( | 
|  | name = "bootstrap_genclass_deploy.jar", | 
|  | srcs = ["//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/genclass:bootstrap_genclass_deploy.jar"], | 
|  | tags = ["manual"], | 
|  | visibility = ["//visibility:public"], | 
|  | ) | 
|  |  | 
|  | # This toolchain is used to bootstrap Bazel. | 
|  | java_toolchain( | 
|  | name = "bootstrap_toolchain", | 
|  | # javac -extdirs is implemented by appending the contents to the platform | 
|  | # class path after -bootclasspath. For convenience, we currently have a | 
|  | # single jar that contains the contents of both the bootclasspath and | 
|  | # extdirs. | 
|  | bootclasspath = ["//tools/jdk:platformclasspath.jar"], | 
|  | extclasspath = [], | 
|  | genclass = ["bootstrap_genclass_deploy.jar"], | 
|  | ijar = ["//third_party/ijar"], | 
|  | javabuilder = ["bootstrap_VanillaJavaBuilder_deploy.jar"], | 
|  | javac = ["//third_party/java/jdk/langtools:javac_jar"], | 
|  | jvm_opts = [ | 
|  | # Prevent "Could not reserve enough space for object heap" errors on Windows. | 
|  | "-Xmx512m", | 
|  | # Using tiered compilation improves performance of Javac when not using the worker mode. | 
|  | "-XX:+TieredCompilation", | 
|  | "-XX:TieredStopAtLevel=1", | 
|  | ], | 
|  | singlejar = ["//src/java_tools/singlejar:bootstrap_deploy.jar"], | 
|  | source_version = "8", | 
|  | tags = ["manual"], | 
|  | target_version = "8", | 
|  | visibility = ["//visibility:public"], | 
|  | ) |