package(default_visibility = ["//visibility:public"])
exports_files(glob(["**/*.jar"]))

licenses(["notice"])  # Apache 2.0

load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_proto_library")
load("@rules_java//java:defs.bzl", "java_binary", "java_import", "java_toolchain")
load("@rules_proto//proto:defs.bzl", "proto_library")

SUPRESSED_WARNINGS = select({
    ":windows": [],
    "//conditions:default": [
        "-Wno-error",
        "-Wno-old-style-cast",
    ],
})

java_toolchain(
    name = "toolchain",
    bootclasspath = ["@bazel_tools//tools/jdk:platformclasspath"],
    forcibly_disable_header_compilation = 0,
    genclass = [":GenClass"],
    header_compiler = [":Turbine"],
    header_compiler_direct = [":TurbineDirect"],
    ijar = [":ijar"],
    jacocorunner = ":jacoco_coverage_runner_filegroup",
    javabuilder = [":JavaBuilder"],
    javac = [":javac_jar"],
    javac_supports_workers = 1,
    jvm_opts = [
        # In JDK9 we have seen a ~30% slow down in JavaBuilder performance when using
        # G1 collector and having compact strings enabled.
        "-XX:+UseParallelOldGC",
        "-XX:-CompactStrings",
        # Allow JavaBuilder to access internal javac APIs.
        "--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED",
        "--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED",
        "--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED",
        "--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED",
        "--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED",
        "--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED",
        "--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED",
        "--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED",

        # override the javac in the JDK.
        "--patch-module=java.compiler=$(location :java_compiler_jar)",
        "--patch-module=jdk.compiler=$(location :jdk_compiler_jar)",

        # quiet warnings from com.google.protobuf.UnsafeUtil,
        # see: https://github.com/google/protobuf/issues/3781
        # and: https://github.com/bazelbuild/bazel/issues/5599
        "--add-opens=java.base/java.nio=ALL-UNNAMED",
        "--add-opens=java.base/java.lang=ALL-UNNAMED",
    ],
    misc = [
        "-XDskipDuplicateBridges=true",
        "-g",
        "-parameters",
    ],
    singlejar = [":singlejar"],
    source_version = "8",
    target_version = "8",
    tools = [
        ":java_compiler_jar",
        ":jdk_compiler_jar",
    ],
)

# A toolchain that targets java JAVA_LANGUAGE_LEVEL.
java_toolchain(
    name = "toolchain_jdk_JAVA_LANGUAGE_LEVEL",
    bootclasspath = ["@bazel_tools//tools/jdk:platformclasspath"],
    forcibly_disable_header_compilation = 0,
    genclass = [":GenClass"],
    header_compiler = [":Turbine"],
    header_compiler_direct = [":TurbineDirect"],
    ijar = [":ijar"],
    jacocorunner = ":jacoco_coverage_runner_filegroup",
    javabuilder = [":JavaBuilder"],
    javac = [":javac_jar"],
    javac_supports_workers = 1,
    jvm_opts = [
        # In JDK9 we have seen a ~30% slow down in JavaBuilder performance
        # when using G1 collector and having compact strings enabled.
        "-XX:+UseParallelOldGC",
        "-XX:-CompactStrings",
        # Allow JavaBuilder to access internal javac APIs.
        "--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED",
        "--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED",
        "--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED",
        "--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED",
        "--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED",
        "--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED",
        "--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED",
        "--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED",

        # override the javac in the JDK.
        "--patch-module=java.compiler=$(location :java_compiler_jar)",
        "--patch-module=jdk.compiler=$(location :jdk_compiler_jar)",

        # quiet warnings from com.google.protobuf.UnsafeUtil,
        # see: https://github.com/google/protobuf/issues/3781
        # and: https://github.com/bazelbuild/bazel/issues/5599
        "--add-opens=java.base/java.nio=ALL-UNNAMED",
        "--add-opens=java.base/java.lang=ALL-UNNAMED",
    ],
    misc = [
        "-XDskipDuplicateBridges=true",
        "-g",
        "-parameters",
    ],
    singlejar = [":singlejar"],
    source_version = "JAVA_LANGUAGE_LEVEL",
    target_version = "JAVA_LANGUAGE_LEVEL",
    tools = [
        ":java_compiler_jar",
        ":jdk_compiler_jar",
    ],
)

# The new toolchain is using all the pre-built tools, including
# singlejar and ijar, even on remote execution. This toolchain
# should be used only when host and execution platform are the
# same, otherwise the binaries will not work on the execution
# platform.
java_toolchain(
    name = "prebuilt_toolchain",
    bootclasspath = ["@bazel_tools//tools/jdk:platformclasspath"],
    forcibly_disable_header_compilation = 0,
    genclass = [":GenClass"],
    header_compiler = [":Turbine"],
    header_compiler_direct = [":TurbineDirect"],
    ijar = [":ijar_prebuilt_binary"],
    jacocorunner = ":jacoco_coverage_runner_filegroup",
    javabuilder = [":JavaBuilder"],
    javac = [":javac_jar"],
    javac_supports_workers = 1,
    jvm_opts = [
        # In JDK9 we have seen a ~30% slow down in JavaBuilder performance when using
        # G1 collector and having compact strings enabled.
        "-XX:+UseParallelOldGC",
        "-XX:-CompactStrings",
        # Allow JavaBuilder to access internal javac APIs.
        "--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED",
        "--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED",
        "--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED",
        "--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED",
        "--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED",
        "--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED",
        "--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED",
        "--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED",

        # override the javac in the JDK.
        "--patch-module=java.compiler=$(location :java_compiler_jar)",
        "--patch-module=jdk.compiler=$(location :jdk_compiler_jar)",

        # quiet warnings from com.google.protobuf.UnsafeUtil,
        # see: https://github.com/google/protobuf/issues/3781
        # and: https://github.com/bazelbuild/bazel/issues/5599
        "--add-opens=java.base/java.nio=ALL-UNNAMED",
        "--add-opens=java.base/java.lang=ALL-UNNAMED",
    ],
    misc = [
        "-XDskipDuplicateBridges=true",
        "-g",
        "-parameters",
    ],
    singlejar = [":prebuilt_singlejar"],
    source_version = "8",
    target_version = "8",
    tools = [
        ":java_compiler_jar",
        ":jdk_compiler_jar",
    ],
)

filegroup(
    name = "GenClass",
    srcs = ["java_tools/GenClass_deploy.jar"],
)

filegroup(
    name = "jacoco_coverage_runner_filegroup",
    srcs = ["java_tools/JacocoCoverage_jarjar_deploy.jar"],
)

java_import(
    name = "jacoco_coverage_runner",
    jars = ["java_tools/JacocoCoverage_jarjar_deploy.jar"],
)

filegroup(
    name = "JacocoCoverage",
    srcs = ["java_tools/JacocoCoverage_jarjar_deploy.jar"],
)

filegroup(
    name = "JavaBuilder",
    srcs = ["java_tools/JavaBuilder_deploy.jar"],
)

filegroup(
    name = "Runner",
    srcs = ["java_tools/Runner_deploy.jar"],
)

filegroup(
    name = "VanillaJavaBuilder",
    srcs = ["java_tools/VanillaJavaBuilder_deploy.jar"],
)

filegroup(
    name = "SingleJar",
    srcs = ["java_tools/bazel-singlejar_deploy.jar"],
)

filegroup(
    name = "JarJar",
    srcs = ["java_tools/jarjar_command_deploy.jar"],
)

filegroup(
    name = "Turbine",
    srcs = ["java_tools/turbine_deploy.jar"],
)

filegroup(
    name = "TurbineDirect",
    srcs = ["java_tools/turbine_direct_binary_deploy.jar"],
)

filegroup(
    name = "javac_jar",
    srcs = ["java_tools/javac-9+181-r4173-1.jar"],
)

filegroup(
    name = "jdk_compiler_jar",
    srcs = ["java_tools/jdk_compiler.jar"],
)

filegroup(
    name = "java_compiler_jar",
    srcs = ["java_tools/java_compiler.jar"],
)

java_import(
    name = "jacoco-agent",
    jars = ["java_tools/third_party/java/jacoco/org.jacoco.agent-0.8.3.jar"],
    srcjar = "java_tools/third_party/java/jacoco/org.jacoco.agent-0.8.3-src.jar",
)

java_import(
    name = "jacoco-core",
    jars = ["java_tools/third_party/java/jacoco/org.jacoco.core-0.8.3.jar"],
    srcjar = "java_tools/third_party/java/jacoco/org.jacoco.core-0.8.3-src.jar",
    exports = [
        ":asm",
        ":asm-commons",
        ":asm-tree",
    ],
)

filegroup(
    name = "jacoco-core-jars",
    srcs = ["java_tools/third_party/java/jacoco/org.jacoco.core-0.8.3.jar"],
)

java_import(
    name = "jacoco-report",
    jars = ["java_tools/third_party/java/jacoco/org.jacoco.report-0.8.3.jar"],
    srcjar = "java_tools/third_party/java/jacoco/org.jacoco.report-sources.jar",
    exports = [
        ":asm",
        ":jacoco-core",
    ],
)

java_import(
    name = "bazel-jacoco-agent",
    jars = ["java_tools/third_party/java/jacoco/jacocoagent-0.8.3.jar"],
)

java_import(
    name = "bazel-jacoco-agent-neverlink",
    jars = ["java_tools/third_party/java/jacoco/jacocoagent-0.8.3.jar"],
    neverlink = 1,
)

java_import(
    name = "asm",
    jars = ["java_tools/third_party/java/jacoco/asm-7.0.jar"],
    srcjar = "java_tools/third_party/java/jacoco/asm-7.0-sources.jar",
)

java_import(
    name = "asm-commons",
    jars = ["java_tools/third_party/java/jacoco/asm-commons-7.0.jar"],
    srcjar = "java_tools/third_party/java/jacoco/asm-commons-7.0-sources.jar",
    runtime_deps = [":asm-tree"],
)

java_import(
    name = "asm-tree",
    jars = ["java_tools/third_party/java/jacoco/asm-tree-7.0.jar"],
    srcjar = "java_tools/third_party/java/jacoco/asm-tree-7.0-sources.jar",
    runtime_deps = [":asm"],
)

config_setting(
    name = "remote",
    values = {"define": "EXECUTOR=remote"},
)

config_setting(
    name = "linux_x86_64",
    values = {"cpu": "k8"},
)

config_setting(
    name = "darwin",
    values = {"cpu": "darwin"},
)

config_setting(
    name = "darwin_x86_64",
    values = {"cpu": "darwin_x86_64"},
)

config_setting(
    name = "windows",
    values = {"cpu": "x64_windows"},
)

config_setting(
    name = "freebsd",
    values = {"cpu": "freebsd"},
    visibility = ["//visibility:public"],
)

alias(
    name = "singlejar",
    actual = select({
        "//:remote": ":singlejar_cc_bin",
        "//conditions:default": ":singlejar_prebuilt_or_cc_binary",
    }),
)

alias(
    name = "singlejar_prebuilt_or_cc_binary",
    actual = select({
        ":linux_x86_64": "java_tools/src/tools/singlejar/singlejar_local",
        ":darwin": "java_tools/src/tools/singlejar/singlejar_local",
        ":darwin_x86_64": "java_tools/src/tools/singlejar/singlejar_local",
        ":windows": "java_tools/src/tools/singlejar/singlejar_local.exe",
        "//conditions:default": "singlejar_cc_bin",
    }),
)

alias(
    name = "prebuilt_singlejar",
    actual = select({
        ":windows": "java_tools/src/tools/singlejar/singlejar_local.exe",
        "//conditions:default": "java_tools/src/tools/singlejar/singlejar_local",
    }),
)

alias(
    name = "ijar",
    actual = select({
        ":remote": ":ijar_cc_binary",
        "//conditions:default": ":prebuilt_binary_or_cc_binary",
    }),
)

alias(
    name = "prebuilt_binary_or_cc_binary",
    actual = select({
        ":linux_x86_64": ":ijar_prebuilt_binary",
        ":darwin": ":ijar_prebuilt_binary",
        ":darwin_x86_64": ":ijar_prebuilt_binary",
        ":windows": ":ijar_prebuilt_binary",
        "//conditions:default": ":ijar_cc_binary",
    }),
)

filegroup(
    name = "ijar_prebuilt_binary",
    srcs = select({
        ":windows": ["java_tools/ijar/ijar.exe"],
        "//conditions:default": ["java_tools/ijar/ijar"],
    }),
)

cc_library(
    name = "malloc",
)

cc_binary(
    name = "ijar_cc_binary",
    srcs = [
        "java_tools/ijar/classfile.cc",
        "java_tools/ijar/ijar.cc",
    ],
    copts = SUPRESSED_WARNINGS,
    # Remove dependency on @bazel_tools//tools/cpp:malloc, which avoid /Iexternal/tools being used
    # in compiling actions.
    malloc = ":malloc",
    deps = [":zip"],
)

cc_library(
    name = "zip",
    srcs = [
        "java_tools/ijar/zip.cc",
    ] + select({
        ":windows": [
            "java_tools/ijar/mapped_file_windows.cc",
        ],
        "//conditions:default": [
            "java_tools/ijar/mapped_file_unix.cc",
        ],
    }),
    hdrs = [
        "java_tools/ijar/common.h",
        "java_tools/ijar/mapped_file.h",
        "java_tools/ijar/zip.h",
    ],
    copts = SUPRESSED_WARNINGS,
    include_prefix = "third_party",
    strip_include_prefix = "java_tools",
    deps = [
        ":platform_utils",
        ":zlib_client",
    ] + select({
        ":windows": [
            ":errors",
            ":filesystem",
            ":logging",
            ":strings",
        ],
        "//conditions:default": [
        ],
    }),
)

cc_library(
    name = "platform_utils",
    srcs = ["java_tools/ijar/platform_utils.cc"],
    hdrs = [
        "java_tools/ijar/common.h",
        "java_tools/ijar/platform_utils.h",
    ],
    copts = SUPRESSED_WARNINGS,
    include_prefix = "third_party",
    strip_include_prefix = "java_tools",
    visibility = ["//visibility:private"],
    deps = [
        ":errors",
        ":filesystem",
        ":logging",
    ],
)

cc_library(
    name = "cpp_util",
    hdrs = [
        "java_tools/src/main/cpp/util/errors.h",
        "java_tools/src/main/cpp/util/file.h",
        "java_tools/src/main/cpp/util/file_platform.h",
        "java_tools/src/main/cpp/util/md5.h",
        "java_tools/src/main/cpp/util/numbers.h",
        "java_tools/src/main/cpp/util/path.h",
        "java_tools/src/main/cpp/util/path_platform.h",
        "java_tools/src/main/cpp/util/port.h",
    ],
    strip_include_prefix = "java_tools",
    visibility = ["//visibility:public"],
    deps = [
        ":blaze_exit_code",
        ":errors",
        ":filesystem",
        ":md5",
        ":numbers",
        ":port",
        ":strings",
    ],
)

cc_library(
    name = "md5",
    srcs = ["java_tools/src/main/cpp/util/md5.cc"],
    hdrs = ["java_tools/src/main/cpp/util/md5.h"],
    strip_include_prefix = "java_tools",
)

cc_library(
    name = "numbers",
    srcs = ["java_tools/src/main/cpp/util/numbers.cc"],
    hdrs = ["java_tools/src/main/cpp/util/numbers.h"],
    strip_include_prefix = "java_tools",
    deps = [":strings"],
)

cc_library(
    name = "filesystem",
    srcs = [
        "java_tools/src/main/cpp/util/file.cc",
        "java_tools/src/main/cpp/util/path.cc",
    ] + select({
        ":windows": [
            "java_tools/src/main/cpp/util/file_windows.cc",
            "java_tools/src/main/cpp/util/path_windows.cc",
        ],
        "//conditions:default": [
            "java_tools/src/main/cpp/util/file_posix.cc",
            "java_tools/src/main/cpp/util/path_posix.cc",
        ],
    }),
    hdrs = [
        "java_tools/src/main/cpp/util/file.h",
        "java_tools/src/main/cpp/util/file_platform.h",
        "java_tools/src/main/cpp/util/path.h",
        "java_tools/src/main/cpp/util/path_platform.h",
    ],
    strip_include_prefix = "java_tools",
    deps = [
        ":blaze_exit_code",
        ":errors",
        ":logging",
        ":strings",
    ] + select({
        ":windows": [":lib-file"],
        "//conditions:default": [],
    }),
)

cc_library(
    name = "lib-file",
    srcs = [
        "java_tools/src/main/native/windows/file.cc",
        "java_tools/src/main/native/windows/util.cc",
    ],
    hdrs = [
        "java_tools/src/main/native/windows/file.h",
        "java_tools/src/main/native/windows/util.h",
    ],
    strip_include_prefix = "java_tools",
)

cc_library(
    name = "lib-util",
    srcs = ["java_tools/src/main/native/windows/util.cc"],
    hdrs = ["java_tools/src/main/native/windows/util.h"],
    strip_include_prefix = "java_tools",
)

cc_library(
    name = "errors",
    srcs = select({
        ":windows": ["java_tools/src/main/cpp/util/errors_windows.cc"],
        "//conditions:default": ["java_tools/src/main/cpp/util/errors_posix.cc"],
    }),
    hdrs = ["java_tools/src/main/cpp/util/errors.h"],
    strip_include_prefix = "java_tools",
    deps = [
        ":logging",
        ":port",
        ":strings",
    ],
)

cc_library(
    name = "strings",
    srcs = ["java_tools/src/main/cpp/util/strings.cc"],
    hdrs = ["java_tools/src/main/cpp/util/strings.h"],
    copts = SUPRESSED_WARNINGS,
    # Automatically propagate the symbol definition to rules depending on this.
    defines = [
        "BLAZE_OPENSOURCE",
    ],
    strip_include_prefix = "java_tools",
    deps = [":blaze_exit_code"],
)

cc_library(
    name = "blaze_exit_code",
    hdrs = ["java_tools/src/main/cpp/util/exit_code.h"],
    copts = SUPRESSED_WARNINGS,
    strip_include_prefix = "java_tools",
)

cc_library(
    name = "port",
    srcs = ["java_tools/src/main/cpp/util/port.cc"],
    hdrs = ["java_tools/src/main/cpp/util/port.h"],
    copts = SUPRESSED_WARNINGS,
    strip_include_prefix = "java_tools",
)

cc_library(
    name = "logging",
    srcs = ["java_tools/src/main/cpp/util/logging.cc"],
    hdrs = ["java_tools/src/main/cpp/util/logging.h"],
    copts = SUPRESSED_WARNINGS,
    strip_include_prefix = "java_tools",
    deps = [
        ":blaze_exit_code",
        ":strings",
    ],
)

cc_library(
    name = "zlib_client",
    srcs = ["java_tools/ijar/zlib_client.cc"],
    hdrs = [
        "java_tools/ijar/common.h",
        "java_tools/ijar/zlib_client.h",
    ],
    copts = SUPRESSED_WARNINGS,
    include_prefix = "third_party",
    strip_include_prefix = "java_tools",
    deps = ["//java_tools/zlib"],
)

##################### singlejar

cc_binary(
    name = "singlejar_cc_bin",
    srcs = [
        "java_tools/src/tools/singlejar/singlejar_main.cc",
    ],
    copts = SUPRESSED_WARNINGS,
    linkopts = select({
        ":freebsd": ["-lm"],
        "//conditions:default": [],
    }),
    linkstatic = 1,
    # Remove dependency on @bazel_tools//tools/cpp:malloc, which avoid /Iexternal/tools being used
    # in compiling actions.
    malloc = ":malloc",
    visibility = ["//visibility:public"],
    deps = [
        ":options",
        ":output_jar",
        "//java_tools/zlib",
    ],
)

cc_binary(
    name = "singlejar_local",
    srcs = [
        "java_tools/src/tools/singlejar/singlejar_local_main.cc",
    ],
    copts = SUPRESSED_WARNINGS,
    linkopts = select({
        ":freebsd": ["-lm"],
        "//conditions:default": [],
    }),
    linkstatic = 1,
    visibility = ["//visibility:public"],
    deps = [
        ":combiners",
        ":desugar_checking",
        ":options",
        ":output_jar",
        "//java_tools/zlib",
    ],
)

cc_library(
    name = "combiners",
    srcs = [
        "java_tools/src/tools/singlejar/combiners.cc",
    ],
    hdrs = [
        "java_tools/src/tools/singlejar/combiners.h",
        ":transient_bytes",
        ":zip_headers",
    ],
    copts = SUPRESSED_WARNINGS,
    strip_include_prefix = "java_tools",
    deps = [
        "//java_tools/zlib",
    ],
)

proto_library(
    name = "desugar_deps_proto",
    srcs = ["java_tools/src/main/protobuf/desugar_deps.proto"],
)

cc_proto_library(
    name = "desugar_deps_cc_proto",
    deps = [":desugar_deps_proto"],
)

cc_library(
    name = "desugar_checking",
    srcs = ["java_tools/src/tools/singlejar/desugar_checking.cc"],
    hdrs = ["java_tools/src/tools/singlejar/desugar_checking.h"],
    copts = SUPRESSED_WARNINGS,
    strip_include_prefix = "java_tools",
    deps = [
        ":combiners",
        ":desugar_deps_cc_proto",
    ],
)

cc_library(
    name = "diag",
    hdrs = ["java_tools/src/tools/singlejar/diag.h"],
    copts = SUPRESSED_WARNINGS,
    strip_include_prefix = "java_tools",
    visibility = ["//visibility:private"],
)

cc_library(
    name = "singlejar_port",
    hdrs = ["java_tools/src/tools/singlejar/port.h"],
    copts = SUPRESSED_WARNINGS,
    strip_include_prefix = "java_tools",
    visibility = ["//visibility:private"],
)

cc_library(
    name = "mapped_file",
    srcs = ["java_tools/src/tools/singlejar/mapped_file.cc"],
    hdrs = ["java_tools/src/tools/singlejar/mapped_file.h"] +
           select({
               ":windows": ["java_tools/src/tools/singlejar/mapped_file_windows.inc"],
               "//conditions:default": ["java_tools/src/tools/singlejar/mapped_file_posix.inc"],
           }),
    copts = SUPRESSED_WARNINGS,
    strip_include_prefix = "java_tools",
    visibility = ["//visibility:private"],
    deps = [
        ":cpp_util",
        ":diag",
        ":singlejar_port",
    ],
)

cc_library(
    name = "input_jar",
    srcs = [
        "java_tools/src/tools/singlejar/input_jar.cc",
    ],
    hdrs = [
        "java_tools/src/tools/singlejar/input_jar.h",
        "java_tools/src/tools/singlejar/zip_headers.h",
    ],
    copts = SUPRESSED_WARNINGS,
    strip_include_prefix = "java_tools",
    deps = [
        ":diag",
        ":mapped_file",
    ],
)

cc_library(
    name = "options",
    srcs = [
        "java_tools/src/tools/singlejar/options.cc",
        "java_tools/src/tools/singlejar/options.h",
    ],
    hdrs = ["java_tools/src/tools/singlejar/options.h"],
    copts = SUPRESSED_WARNINGS,
    strip_include_prefix = "java_tools",
    deps = [
        ":diag",
        ":token_stream",
    ],
)

cc_library(
    name = "output_jar",
    srcs = [
        "java_tools/src/tools/singlejar/output_jar.cc",
        "java_tools/src/tools/singlejar/output_jar.h",
        ":zip_headers",
    ],
    hdrs = ["java_tools/src/tools/singlejar/output_jar.h"],
    copts = SUPRESSED_WARNINGS,
    strip_include_prefix = "java_tools",
    deps = [
        ":combiners",
        ":cpp_util",
        ":diag",
        ":input_jar",
        ":mapped_file",
        ":options",
        ":singlejar_port",
        "//java_tools/zlib",
    ],
)

cc_library(
    name = "token_stream",
    hdrs = ["java_tools/src/tools/singlejar/token_stream.h"],
    copts = SUPRESSED_WARNINGS,
    strip_include_prefix = "java_tools",
    deps = [
        ":diag",
        ":filesystem",
    ],
)

filegroup(
    name = "transient_bytes",
    srcs = [
        "java_tools/src/tools/singlejar/diag.h",
        "java_tools/src/tools/singlejar/transient_bytes.h",
        "java_tools/src/tools/singlejar/zlib_interface.h",
        ":zip_headers",
    ],
)

filegroup(
    name = "zip_headers",
    srcs = ["java_tools/src/tools/singlejar/zip_headers.h"],
)

################### Proguard ###################
java_import(
    name = "proguard_import",
    jars = ["java_tools/third_party/java/proguard/proguard.jar"],
)

java_binary(
    name = "proguard",
    main_class = "proguard.ProGuard",
    visibility = ["//visibility:public"],
    runtime_deps = [":proguard_import"],
)
