| load("@com_google_protobuf//bazel:cc_proto_library.bzl", "cc_proto_library") |
| load("@com_google_protobuf//bazel:proto_library.bzl", "proto_library") |
| load("@rules_cc//cc:cc_binary.bzl", "cc_binary") |
| load("@rules_cc//cc:cc_library.bzl", "cc_library") |
| load("@rules_java//java:java_binary.bzl", "java_binary") |
| load("@rules_java//java:java_import.bzl", "java_import") |
| |
| package(default_visibility = ["//visibility:public"]) |
| |
| exports_files(glob(["**/*.jar"])) |
| |
| licenses(["notice"]) # Apache 2.0 |
| |
| SUPRESSED_WARNINGS = select({ |
| ":windows": [], |
| "//conditions:default": [ |
| "-Wno-error", |
| "-Wno-old-style-cast", |
| ], |
| }) |
| |
| 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 = "TurbineDirect", |
| srcs = ["java_tools/turbine_direct_binary_deploy.jar"], |
| ) |
| |
| java_import( |
| name = "jacoco-agent", |
| jars = ["java_tools/third_party/java/jacoco/org.jacoco.agent-0.8.11.jar"], |
| srcjar = "java_tools/third_party/java/jacoco/org.jacoco.agent-0.8.11-sources.jar", |
| ) |
| |
| java_import( |
| name = "jacoco-core", |
| jars = ["java_tools/third_party/java/jacoco/org.jacoco.core-0.8.11.jar"], |
| srcjar = "java_tools/third_party/java/jacoco/org.jacoco.core-0.8.11-sources.jar", |
| exports = [ |
| ":asm", |
| ":asm-commons", |
| ":asm-tree", |
| ], |
| ) |
| |
| filegroup( |
| name = "jacoco-core-jars", |
| srcs = ["java_tools/third_party/java/jacoco/org.jacoco.core-0.8.11.jar"], |
| ) |
| |
| java_import( |
| name = "jacoco-report", |
| jars = ["java_tools/third_party/java/jacoco/org.jacoco.report-0.8.11.jar"], |
| srcjar = "java_tools/third_party/java/jacoco/org.jacoco.report-0.8.11-sources.jar", |
| exports = [ |
| ":asm", |
| ":jacoco-core", |
| ], |
| ) |
| |
| java_import( |
| name = "bazel-jacoco-agent", |
| jars = ["java_tools/third_party/java/jacoco/jacocoagent-0.8.11.jar"], |
| ) |
| |
| java_import( |
| name = "bazel-jacoco-agent-neverlink", |
| jars = ["java_tools/third_party/java/jacoco/jacocoagent-0.8.11.jar"], |
| neverlink = 1, |
| ) |
| |
| java_import( |
| name = "asm", |
| jars = ["java_tools/third_party/java/jacoco/asm-9.6.jar"], |
| srcjar = "java_tools/third_party/java/jacoco/asm-9.6-sources.jar", |
| ) |
| |
| java_import( |
| name = "asm-commons", |
| jars = ["java_tools/third_party/java/jacoco/asm-commons-9.6.jar"], |
| srcjar = "java_tools/third_party/java/jacoco/asm-commons-9.6-sources.jar", |
| runtime_deps = [":asm-tree"], |
| ) |
| |
| java_import( |
| name = "asm-tree", |
| jars = ["java_tools/third_party/java/jacoco/asm-tree-9.6.jar"], |
| srcjar = "java_tools/third_party/java/jacoco/asm-tree-9.6-sources.jar", |
| runtime_deps = [":asm"], |
| ) |
| |
| config_setting( |
| name = "windows", |
| constraint_values = ["@platforms//os:windows"], |
| ) |
| |
| config_setting( |
| name = "freebsd", |
| constraint_values = ["@platforms//os:freebsd"], |
| visibility = ["//visibility:public"], |
| ) |
| |
| config_setting( |
| name = "openbsd", |
| constraint_values = ["@platforms//os:openbsd"], |
| visibility = ["//visibility:public"], |
| ) |
| |
| # Create intermediate cc_library, which does not implicitly depend on "malloc" |
| # and "link_extra_lib" in @bazel_tools//tools/cpp, and thereby avoids include |
| # path /Iexternal/tools being used in compiling actions which would result in |
| # the wrong headers being picked up. |
| cc_library( |
| name = "ijar_cc_binary_main", |
| srcs = [ |
| "java_tools/ijar/classfile.cc", |
| "java_tools/ijar/ijar.cc", |
| ], |
| copts = SUPRESSED_WARNINGS, |
| linkstatic = 1, # provides main() |
| deps = [":zip"], |
| alwayslink = 1, |
| ) |
| |
| cc_binary( |
| name = "ijar_cc_binary", |
| deps = [":ijar_cc_binary_main"], |
| ) |
| |
| 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", |
| ], |
| linkopts = [ |
| "-DEFAULTLIB:advapi32.lib", |
| ], |
| 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 |
| |
| # See comment for ":ijar_cc_binary_main". |
| cc_library( |
| name = "singlejar_cc_bin_main", |
| srcs = [ |
| "java_tools/src/tools/singlejar/singlejar_main.cc", |
| ], |
| copts = SUPRESSED_WARNINGS, |
| linkopts = select({ |
| ":freebsd": ["-lm"], |
| ":openbsd": ["-lm"], |
| "//conditions:default": [], |
| }), |
| linkstatic = 1, # provides main() |
| deps = [ |
| ":combiners", |
| ":diag", |
| ":options", |
| ":output_jar", |
| "//java_tools/zlib", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_binary( |
| name = "singlejar_cc_bin", |
| linkstatic = 1, |
| visibility = ["//visibility:public"], |
| deps = [":singlejar_cc_bin_main"], |
| ) |
| |
| cc_binary( |
| name = "singlejar_local", |
| srcs = [ |
| "java_tools/src/tools/singlejar/singlejar_local_main.cc", |
| ], |
| copts = SUPRESSED_WARNINGS, |
| linkopts = select({ |
| ":freebsd": ["-lm"], |
| ":openbsd": ["-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", |
| ], |
| 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"], |
| ) |
| |
| ##################### one_version |
| |
| # See comment for ":ijar_cc_binary_main". |
| cc_library( |
| name = "one_version_cc_bin_main", |
| srcs = [ |
| "java_tools/src/tools/one_version/one_version_main.cc", |
| ], |
| copts = SUPRESSED_WARNINGS, |
| linkopts = select({ |
| ":freebsd": ["-lm"], |
| ":openbsd": ["-lm"], |
| "//conditions:default": [], |
| }), |
| linkstatic = 1, # provides main() |
| deps = [ |
| ":allowlist", |
| ":duplicate_class_collector", |
| ":input_jar", |
| ":one_version", |
| ":token_stream", |
| "@com_google_absl//absl/container:flat_hash_map", |
| "@com_google_absl//absl/container:flat_hash_set", |
| "@com_google_absl//absl/log:die_if_null", |
| "@com_google_absl//absl/strings", |
| ], |
| alwayslink = 1, |
| ) |
| |
| cc_binary( |
| name = "one_version_cc_bin", |
| linkstatic = 1, |
| visibility = ["//visibility:public"], |
| deps = [":one_version_cc_bin_main"], |
| ) |
| |
| cc_library( |
| name = "duplicate_class_collector", |
| srcs = ["java_tools/src/tools/one_version/duplicate_class_collector.cc"], |
| hdrs = ["java_tools/src/tools/one_version/duplicate_class_collector.h"], |
| copts = SUPRESSED_WARNINGS, |
| strip_include_prefix = "java_tools", |
| deps = [ |
| "@com_google_absl//absl/container:flat_hash_map", |
| "@com_google_absl//absl/strings", |
| ], |
| ) |
| |
| cc_library( |
| name = "allowlist", |
| srcs = ["java_tools/src/tools/one_version/allowlist.cc"], |
| hdrs = ["java_tools/src/tools/one_version/allowlist.h"], |
| copts = SUPRESSED_WARNINGS, |
| strip_include_prefix = "java_tools", |
| deps = [ |
| ":duplicate_class_collector", |
| "@com_google_absl//absl/container:flat_hash_map", |
| "@com_google_absl//absl/container:flat_hash_set", |
| "@com_google_absl//absl/strings", |
| "@com_google_absl//absl/types:span", |
| ], |
| ) |
| |
| cc_library( |
| name = "one_version", |
| srcs = ["java_tools/src/tools/one_version/one_version.cc"], |
| hdrs = ["java_tools/src/tools/one_version/one_version.h"], |
| copts = SUPRESSED_WARNINGS, |
| strip_include_prefix = "java_tools", |
| deps = [ |
| ":allowlist", |
| ":duplicate_class_collector", |
| ":input_jar", |
| "@com_google_absl//absl/log:die_if_null", |
| "@com_google_absl//absl/memory", |
| "@com_google_absl//absl/strings", |
| ], |
| ) |