|  | load("@rules_java//java:defs.bzl", "java_import", "java_library", "java_plugin") | 
|  | load("@rules_license//rules:license.bzl", "license") | 
|  | load("//tools/distributions:distribution_rules.bzl", "distrib_jar_filegroup", "distrib_java_import") | 
|  |  | 
|  | package(default_visibility = ["//visibility:public"]) | 
|  |  | 
|  | filegroup( | 
|  | name = "srcs", | 
|  | srcs = glob(["**"]) + [ | 
|  | "//third_party/allocation_instrumenter:srcs", | 
|  | "//third_party/android_dex:srcs", | 
|  | "//third_party/animal_sniffer:srcs", | 
|  | "//third_party/antlr:srcs", | 
|  | "//third_party/bazel-toolchains:srcs", | 
|  | "//third_party/checker_framework_dataflow:srcs", | 
|  | "//third_party/checker_framework_javacutil:srcs", | 
|  | "//third_party/css/bootstrap:srcs", | 
|  | "//third_party/css/font_awesome:srcs", | 
|  | "//third_party/def_parser:srcs", | 
|  | "//third_party/grpc:srcs", | 
|  | "//third_party/cncf_udpa:srcs", | 
|  | "//third_party/protoc_gen_validate:srcs", | 
|  | "//third_party/grpc-java:srcs", | 
|  | "//third_party/ijar:srcs", | 
|  | "//third_party/jarjar:srcs", | 
|  | "//third_party/java/android_databinding:srcs", | 
|  | "//third_party/java/aosp_gradle_core:srcs", | 
|  | "//third_party/java/j2objc-annotations:srcs", | 
|  | "//third_party/java/j2objc:srcs", | 
|  | "//third_party/java/jacoco:srcs", | 
|  | "//third_party/java/javapoet:srcs", | 
|  | "//third_party/java/jcommander:srcs", | 
|  | "//third_party/java/proguard:srcs", | 
|  | "//third_party/javascript/bootstrap:srcs", | 
|  | "//third_party/jaxb:srcs", | 
|  | "//third_party/jetbrains_annotations:srcs", | 
|  | "//third_party/jetifier:srcs", | 
|  | "//third_party/juniversalchardet:srcs", | 
|  | "//third_party/kotlin_stdlib:srcs", | 
|  | "//third_party/pprof:srcs", | 
|  | "//third_party/protobuf:srcs", | 
|  | "//third_party/py/abseil:srcs", | 
|  | "//third_party/py/concurrent:srcs", | 
|  | "//third_party/py/dataclasses:srcs", | 
|  | "//third_party/py/frozendict:srcs", | 
|  | "//third_party/py/mock:srcs", | 
|  | "//third_party/py/six:srcs", | 
|  | "//third_party/rules_python:srcs", | 
|  | "//third_party/zlib:srcs", | 
|  | "//third_party/upb:srcs", | 
|  | "@googleapis//:srcs", | 
|  | "@remoteapis//:srcs", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | # Filegroup to ship the sources to the Bazel embededded tools | 
|  | # This filegroup should contains all GPL with classpath exception | 
|  | # and LGPL code that we use in Bazel. | 
|  | filegroup( | 
|  | name = "gpl-srcs", | 
|  | srcs = [], | 
|  | ) | 
|  |  | 
|  | # This target only contains the jars that are used for building / running Bazel. | 
|  | # The target below is for the Android tools that are not shipped with Bazel. | 
|  | distrib_java_import( | 
|  | name = "android_common_25_0_0_lite", | 
|  | enable_distributions = ["debian"], | 
|  | jars = [ | 
|  | "android_common/com.android.tools.layoutlib_layoutlib_26.1.2-stripped.jar", | 
|  | "android_common/com.android.tools_sdk-common_25.0.0-patched-stripped.jar", | 
|  | "android_common/com.android.tools_repository_25.0.0.jar", | 
|  | ], | 
|  | deps = [ | 
|  | "//third_party/jaxb", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "android-annotations", | 
|  | jars = ["android_common/com.android_annotations_25.0.0.jar"], | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "android_common_25_0_0", | 
|  | jars = [ | 
|  | "android_common/com.android_annotations_25.0.0.jar", | 
|  | "android_common/com.android.tools.build_builder_2.0.0.jar", | 
|  | "android_common/com.android.tools.build_builder-model_2.0.0.jar", | 
|  | "android_common/com.android.tools.build_builder-test-api_2.0.0.jar", | 
|  | "android_common/com.android.tools.build_manifest-merger_25.0.0-patched.jar", | 
|  | "android_common/com.android.tools.external.lombok_lombok-ast_0.2.3.jar", | 
|  | # layoutlib has been upgraded to 26.1.2 *just* for font resource support. | 
|  | # We are unable to upgrade the other libraries yet due to internal | 
|  | # constraints with Blaze. See | 
|  | # https://github.com/bazelbuild/bazel/issues/4381 | 
|  | # TODO(bazel-team): Upgrade entire android_common suite to 26+ after | 
|  | # resolving internal constraint. | 
|  | "android_common/com.android.tools.layoutlib_layoutlib_26.1.2.jar", | 
|  | "android_common/com.android.tools.lint_lint-api_25.0.0.jar", | 
|  | "android_common/com.android.tools.lint_lint-checks_25.0.0.jar", | 
|  | "android_common/com.android.tools_common_25.0.0.jar", | 
|  | "android_common/com.android.tools_dvlib_25.0.0.jar", | 
|  | "android_common/com.android.tools_repository_25.0.0.jar", | 
|  | "android_common/com.android.tools_sdk-common_25.0.0-patched.jar", | 
|  | "android_common/com.android.tools_sdklib_25.0.0.jar", | 
|  | ], | 
|  | runtime_deps = [ | 
|  | ":asm", | 
|  | ":asm-analysis", | 
|  | ":asm-tree", | 
|  | ], | 
|  | deps = [ | 
|  | "//third_party/jaxb", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "apache_commons_codec", | 
|  | jars = ["apache_commons_codec/commons-codec-1.10.jar"], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "apache_commons_collections", | 
|  | enable_distributions = ["debian"], | 
|  | jars = ["apache_commons_collections/commons-collections-3.2.2.jar"], | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "apache_commons_io", | 
|  | jars = ["apache_commons_io/commons-io-2.4.jar"], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "apache_commons_lang", | 
|  | enable_distributions = ["debian"], | 
|  | jars = ["apache_commons_lang/commons-lang-2.6.jar"], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "apache_commons_compress", | 
|  | enable_distributions = ["debian"], | 
|  | jars = ["apache_commons_compress/apache-commons-compress-1.19.jar"], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "apache_commons_pool2", | 
|  | enable_distributions = ["debian"], | 
|  | jars = ["apache_commons_pool2/commons-pool2-2.8.0.jar"], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "apache_velocity", | 
|  | enable_distributions = ["debian"], | 
|  | jars = ["apache_velocity/velocity-1.7.jar"], | 
|  | deps = [ | 
|  | ":apache_commons_collections", | 
|  | ":apache_commons_lang", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "api_client", | 
|  | enable_distributions = ["debian"], | 
|  | jars = [ | 
|  | "api_client/google-api-client-1.22.0.jar", | 
|  | "api_client/google-api-client-gson-1.22.0.jar", | 
|  | "api_client/google-http-client-1.41.4.jar", | 
|  | "api_client/google-http-client-gson-1.41.4.jar", | 
|  | ], | 
|  | runtime_deps = [ | 
|  | ":gson", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "asm", | 
|  | enable_distributions = ["debian"], | 
|  | jars = ["asm/asm-9.2.jar"], | 
|  | srcjar = "asm/asm-9.2-sources.jar", | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "asm-analysis", | 
|  | jars = ["asm/asm-analysis-9.2.jar"], | 
|  | srcjar = "asm/asm-analysis-9.2-sources.jar", | 
|  | runtime_deps = [":asm-tree"], | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "asm-commons", | 
|  | jars = ["asm/asm-commons-9.2.jar"], | 
|  | srcjar = "asm/asm-commons-9.2-sources.jar", | 
|  | runtime_deps = [":asm-tree"], | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "asm-tree", | 
|  | jars = ["asm/asm-tree-9.2.jar"], | 
|  | srcjar = "asm/asm-tree-9.2-sources.jar", | 
|  | runtime_deps = [":asm"], | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "asm-util", | 
|  | jars = ["asm/asm-util-9.2.jar"], | 
|  | srcjar = "asm/asm-util-9.2-sources.jar", | 
|  | runtime_deps = [":asm-tree"], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "auth", | 
|  | enable_distributions = ["debian"], | 
|  | jars = [ | 
|  | "auth/google-auth-library-oauth2-http-1.6.0.jar", | 
|  | "auth/google-auth-library-credentials-1.6.0.jar", | 
|  | ], | 
|  | runtime_deps = [ | 
|  | ":api_client", | 
|  | ":guava", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | java_plugin( | 
|  | name = "auto_annotation_plugin", | 
|  | processor_class = "com.google.auto.value.processor.AutoAnnotationProcessor", | 
|  | deps = [ | 
|  | ":apache_commons_collections", | 
|  | ":apache_velocity", | 
|  | ":asm", | 
|  | ":auto_common", | 
|  | ":auto_service_lib", | 
|  | ":auto_value_value", | 
|  | ":guava", | 
|  | ":jsr305", | 
|  | ":tomcat_annotations_api", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "auto_common", | 
|  | applicable_licenses = [":auto_license"], | 
|  | enable_distributions = ["debian"], | 
|  | jars = ["auto/auto-common-1.1.2.jar"], | 
|  | ) | 
|  |  | 
|  | license( | 
|  | name = "auto_license", | 
|  | package_name = "auto-common/1.8.2", | 
|  | license_kinds = [ | 
|  | "@rules_license//licenses/spdx:Apache-2.0", | 
|  | ], | 
|  | license_text = "auto/LICENSE", | 
|  | ) | 
|  |  | 
|  | java_library( | 
|  | name = "auto_service", | 
|  | exported_plugins = [ | 
|  | ":auto_service_plugin", | 
|  | ], | 
|  | exports = [ | 
|  | ":auto_service_lib", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | java_plugin( | 
|  | name = "auto_service_plugin", | 
|  | processor_class = "com.google.auto.service.processor.AutoServiceProcessor", | 
|  | deps = [ | 
|  | ":auto_common", | 
|  | ":auto_service_lib", | 
|  | ":guava", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "auto_service_lib", | 
|  | enable_distributions = ["debian"], | 
|  | jars = [ | 
|  | "auto/auto-service-1.0-rc7.jar", | 
|  | "auto/auto-service-annotations-1.0-rc7.jar", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | java_plugin( | 
|  | name = "auto_value_plugin", | 
|  | processor_class = "com.google.auto.value.processor.AutoValueProcessor", | 
|  | deps = [ | 
|  | ":apache_commons_collections", | 
|  | ":apache_velocity", | 
|  | ":asm", | 
|  | ":auto_common", | 
|  | ":auto_service_lib", | 
|  | ":auto_value_value", | 
|  | ":guava", | 
|  | ":tomcat_annotations_api", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | java_plugin( | 
|  | name = "auto_value_gson_plugin", | 
|  | processor_class = "com.ryanharter.auto.value.gson.factory.AutoValueGsonAdapterFactoryProcessor", | 
|  | deps = [ | 
|  | "auto/autotransient-1.0.0.jar", | 
|  | ":auto_value_gson", | 
|  | ":auto_value_value", | 
|  | ":gson", | 
|  | "//third_party/java/javapoet", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "auto_value_gson", | 
|  | applicable_licenses = [":auto_license"], | 
|  | jars = [ | 
|  | "auto/auto-value-gson-extension-1.3.1.jar", | 
|  | "auto/auto-value-gson-factory-1.3.1.jar", | 
|  | "auto/auto-value-gson-runtime-1.3.1.jar", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | java_library( | 
|  | name = "auto_value", | 
|  | exported_plugins = [ | 
|  | ":auto_annotation_plugin", | 
|  | ":auto_value_plugin", | 
|  | ":auto_value_gson_plugin", | 
|  | ], | 
|  | exports = [ | 
|  | ":auto_value_gson", | 
|  | ":auto_value_value", | 
|  | ":tomcat_annotations_api", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "auto_value_value", | 
|  | enable_distributions = ["debian"], | 
|  | jars = [ | 
|  | "auto/auto-value-1.8.2.jar", | 
|  | "auto/auto-value-annotations-1.8.2.jar", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | # For bootstrapping JavaBuilder | 
|  | distrib_jar_filegroup( | 
|  | name = "auto_value-jars", | 
|  | srcs = [ | 
|  | "auto/auto-value-1.8.2.jar", | 
|  | "auto/auto-value-annotations-1.8.2.jar", | 
|  | ], | 
|  | enable_distributions = ["debian"], | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "byte_buddy", | 
|  | jars = [ | 
|  | "bytebuddy/byte-buddy-1.9.7.jar", | 
|  | "bytebuddy/byte-buddy-agent-1.9.7.jar", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "checker_framework_annotations", | 
|  | enable_distributions = ["debian"], | 
|  | jars = ["checker_framework_annotations/checker-qual-3.2.0.jar"], | 
|  | srcjar = "checker_framework_annotations/checker-qual-3.2.0-sources.jar", | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "compile_testing", | 
|  | jars = ["compile_testing/compile-testing-0.18.jar"], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "gson", | 
|  | enable_distributions = ["debian"], | 
|  | jars = ["gson/gson-2.8.6.jar"], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "caffeine", | 
|  | enable_distributions = ["debian"], | 
|  | jars = ["caffeine/caffeine-2.9.2.jar"], | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "hungarian_algorithm", | 
|  | jars = ["hungarian_algorithm/software-and-algorithms-1.0.jar"], | 
|  | srcjar = "hungarian_algorithm/software-and-algorithms-1.0-src.jar", | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "threeten", | 
|  | jars = [ | 
|  | "error_prone/threeten-extra-1.5.0.jar", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "error_prone_annotations", | 
|  | enable_distributions = ["debian"], | 
|  | jars = [ | 
|  | "error_prone/error_prone_annotations-2.20.0.jar", | 
|  | "error_prone/error_prone_type_annotations-2.20.0.jar", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | distrib_jar_filegroup( | 
|  | name = "error_prone_annotations-jar", | 
|  | srcs = [ | 
|  | "error_prone/error_prone_annotations-2.20.0.jar", | 
|  | "error_prone/threeten-extra-1.5.0.jar", | 
|  | ], | 
|  | enable_distributions = ["debian"], | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "error_prone", | 
|  | jars = [ | 
|  | "error_prone/error_prone_annotation-2.20.0.jar", | 
|  | "error_prone/error_prone_check_api-2.20.0.jar", | 
|  | "error_prone/error_prone_core-2.20.0.jar", | 
|  | ], | 
|  | exports = [ | 
|  | ":error_prone_annotations", | 
|  | ], | 
|  | deps = [ | 
|  | ":auto_common", | 
|  | ":caffeine", | 
|  | ":guava", | 
|  | ":hungarian_algorithm", | 
|  | ":jcip_annotations", | 
|  | ":jsr305", | 
|  | ":jsr330_inject", | 
|  | ":pcollections", | 
|  | ":threeten", | 
|  | "//third_party/checker_framework_dataflow", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "jcip_annotations", | 
|  | enable_distributions = ["debian"], | 
|  | jars = [ | 
|  | "jcip_annotations/jcip-annotations-1.0-1.jar", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | # For bootstrapping JavaBuilder | 
|  | distrib_jar_filegroup( | 
|  | name = "jcip_annotations-jars", | 
|  | srcs = [ | 
|  | "jcip_annotations/jcip-annotations-1.0-1.jar", | 
|  | ], | 
|  | enable_distributions = ["debian"], | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "pcollections", | 
|  | jars = [ | 
|  | "pcollections/pcollections-2.1.2.jar", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | # For bootstrapping JavaBuilder | 
|  | filegroup( | 
|  | name = "bootstrap_guava_and_error_prone-jars", | 
|  | srcs = [ | 
|  | ":error_prone_annotations-jar", | 
|  | ":guava-jars", | 
|  | ":jcip_annotations-jars", | 
|  | ":jsr305-jars", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "guava", | 
|  | applicable_licenses = [":guava_license"], | 
|  | enable_distributions = ["debian"], | 
|  | jars = [ | 
|  | "guava/failureaccess-1.0.1.jar", | 
|  | "guava/guava-31.1-jre.jar", | 
|  | ], | 
|  | exports = [ | 
|  | ":error_prone_annotations", | 
|  | ":jcip_annotations", | 
|  | ":jsr305", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | license( | 
|  | name = "guava_license", | 
|  | package_name = "guava/31.1", | 
|  | license_kinds = [ | 
|  | "@rules_license//licenses/spdx:Apache-2.0", | 
|  | ], | 
|  | license_text = "guava/LICENSE", | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "flogger", | 
|  | applicable_licenses = [":flogger_license"], | 
|  | enable_distributions = ["debian"], | 
|  | jars = [ | 
|  | "flogger/flogger-0.5.1.jar", | 
|  | "flogger/flogger-system-backend-0.5.1.jar", | 
|  | "flogger/google-extensions-0.5.1.jar", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | license( | 
|  | name = "flogger_license", | 
|  | package_name = "flogger/0.5.1", | 
|  | license_kinds = [ | 
|  | "@rules_license//licenses/spdx:Apache-2.0", | 
|  | ], | 
|  | license_text = "flogger/LICENSE", | 
|  | ) | 
|  |  | 
|  | distrib_jar_filegroup( | 
|  | name = "flogger-jars", | 
|  | srcs = [ | 
|  | "flogger/flogger-0.5.1.jar", | 
|  | "flogger/flogger-system-backend-0.5.1.jar", | 
|  | "flogger/google-extensions-0.5.1.jar", | 
|  | ], | 
|  | enable_distributions = ["debian"], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "opencensus-api", | 
|  | enable_distributions = ["debian"], | 
|  | jars = [ | 
|  | "opencensus/opencensus-api-0.24.0.jar", | 
|  | "opencensus/opencensus-contrib-grpc-metrics-0.24.0.jar", | 
|  | "opencensus/opencensus-contrib-http-util-0.31.0.jar", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "perfmark-api", | 
|  | enable_distributions = ["debian"], | 
|  | jars = [ | 
|  | "perfmark/perfmark-api-0.19.0.jar", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | # For bootstrapping JavaBuilder | 
|  | distrib_jar_filegroup( | 
|  | name = "guava-jars", | 
|  | srcs = ["guava/guava-31.1-jre.jar"], | 
|  | enable_distributions = ["debian"], | 
|  | ) | 
|  |  | 
|  | # For desugaring the Guava jar. | 
|  | distrib_jar_filegroup( | 
|  | name = "guava-failureaccess-jar", | 
|  | srcs = [ | 
|  | "guava/failureaccess-1.0.1.jar", | 
|  | ], | 
|  | enable_distributions = ["debian"], | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "javax_activation", | 
|  | jars = ["javax_activation/javax.activation-api-1.2.0.jar"], | 
|  | srcjar = "javax_activation/javax.activation-api-1.2.0-sources.jar", | 
|  | ) | 
|  |  | 
|  | # javax.annotation.Generated is not included in the default root modules in 9, | 
|  | # see: http://openjdk.java.net/jeps/320. | 
|  | distrib_java_import( | 
|  | name = "javax_annotations", | 
|  | enable_distributions = ["debian"], | 
|  | jars = ["javax_annotations/javax.annotation-api-1.3.2.jar"], | 
|  | neverlink = 1,  # @Generated is source-retention | 
|  | srcjar = "javax_annotations/javax.annotation-api-1.3.2-sources.jar", | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "reactive_streams", | 
|  | enable_distributions = ["debian"], | 
|  | jars = ["reactive_streams/reactive-streams-1.0.3.jar"], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "rxjava3", | 
|  | enable_distributions = ["debian"], | 
|  | jars = ["rxjava3/rxjava-3.1.2.jar"], | 
|  | exports = [":reactive_streams"], | 
|  | deps = [":reactive_streams"], | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "jimfs", | 
|  | jars = ["jimfs/jimfs-1.1.jar"], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "jsr305", | 
|  | enable_distributions = ["debian"], | 
|  | jars = ["jsr305/jsr-305.jar"], | 
|  | ) | 
|  |  | 
|  | # For bootstrapping JavaBuilder | 
|  | distrib_jar_filegroup( | 
|  | name = "jsr305-jars", | 
|  | srcs = ["jsr305/jsr-305.jar"], | 
|  | enable_distributions = ["debian"], | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "jsr330_inject", | 
|  | jars = ["jsr330_inject/javax.inject.jar"], | 
|  | ) | 
|  |  | 
|  | UNNECESSARY_DYNAMIC_LIBRARIES = select({ | 
|  | "//src/conditions:windows": "*.so *.jnilib", | 
|  | "//src/conditions:darwin": "*.so *.dll", | 
|  | "//src/conditions:linux_x86_64": "*.jnilib *.dll", | 
|  | # The .so file is an x86 one, so we can just remove it if the CPU is not x86 | 
|  | "//src/conditions:arm": "*.so *.jnilib *.dll", | 
|  | "//src/conditions:linux_aarch64": "*.so *.jnilib *.dll", | 
|  | "//src/conditions:linux_ppc": "*.so *.jnilib *.dll", | 
|  | "//src/conditions:linux_s390x": "*.so *.jnilib *.dll", | 
|  | "//src/conditions:freebsd": "*.so *.jnilib *.dll", | 
|  | "//src/conditions:openbsd": "*.so *.jnilib *.dll", | 
|  | # Default is to play it safe -- better have a big binary than a slow binary | 
|  | #   The empty string means nothing is to be removed from the library; | 
|  | #   the rule command tests for the empty string explictly to avoid | 
|  | #   zip erroring when it finds nothing to remove. | 
|  | "//conditions:default": "", | 
|  | }) | 
|  |  | 
|  | # Remove native libraries that are for a platform different from the one we are | 
|  | # building Bazel for. | 
|  | genrule( | 
|  | name = "filter_netty_dynamic_libs", | 
|  | srcs = select({ | 
|  | "//src/conditions:darwin_arm64": ["netty_tcnative/netty-tcnative-boringssl-static-2.0.51.Final-osx-aarch_64.jar"], | 
|  | "//src/conditions:darwin_x86_64": ["netty_tcnative/netty-tcnative-boringssl-static-2.0.51.Final-osx-x86_64.jar"], | 
|  | "//src/conditions:linux_aarch64": ["netty_tcnative/netty-tcnative-boringssl-static-2.0.51.Final-linux-aarch_64.jar"], | 
|  | "//src/conditions:linux_x86_64": ["netty_tcnative/netty-tcnative-boringssl-static-2.0.51.Final-linux-x86_64.jar"], | 
|  | "//src/conditions:windows": ["netty_tcnative/netty-tcnative-boringssl-static-2.0.51.Final-windows-x86_64.jar"], | 
|  | "//conditions:default": [], | 
|  | }), | 
|  | outs = ["netty_tcnative/netty-tcnative-filtered.jar"], | 
|  | cmd = "cp $< $@ && " + | 
|  | # Make sure we can write the output file, even if the input isn't writable. | 
|  | "chmod +w $@ && " + | 
|  | "zip -qd $@ */license/* " + UNNECESSARY_DYNAMIC_LIBRARIES, | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "netty", | 
|  | enable_distributions = ["debian"], | 
|  | jars = [ | 
|  | "netty/netty-buffer-4.1.75.Final.jar", | 
|  | "netty/netty-codec-4.1.75.Final.jar", | 
|  | "netty/netty-codec-http2-4.1.75.Final.jar", | 
|  | "netty/netty-codec-http-4.1.75.Final.jar", | 
|  | "netty/netty-common-4.1.75.Final.jar", | 
|  | "netty/netty-handler-4.1.75.Final.jar", | 
|  | "netty/netty-handler-proxy-4.1.75.Final.jar", | 
|  | "netty/netty-resolver-4.1.75.Final.jar", | 
|  | "netty/netty-resolver-dns-4.1.75.Final.jar", | 
|  | "netty/netty-transport-4.1.75.Final.jar", | 
|  | "netty/netty-transport-classes-epoll-4.1.75.Final.jar", | 
|  | "netty/netty-transport-classes-kqueue-4.1.75.Final.jar", | 
|  | "netty/netty-transport-sctp-4.1.75.Final.jar", | 
|  | ] + select({ | 
|  | "//src/conditions:darwin_arm64": ["netty/netty-transport-native-unix-common-4.1.75.Final-osx-aarch_64.jar"], | 
|  | "//src/conditions:darwin_x86_64": ["netty/netty-transport-native-unix-common-4.1.75.Final-osx-x86_64.jar"], | 
|  | "//src/conditions:linux_aarch64": ["netty/netty-transport-native-unix-common-4.1.75.Final-linux-aarch_64.jar"], | 
|  | "//src/conditions:linux_x86_64": ["netty/netty-transport-native-unix-common-4.1.75.Final-linux-x86_64.jar"], | 
|  | "//conditions:default": ["netty/netty-transport-native-unix-common-4.1.75.Final.jar"], | 
|  | }) + select({ | 
|  | "//src/conditions:darwin_arm64": ["netty/netty-transport-native-kqueue-4.1.75.Final-osx-aarch_64.jar"], | 
|  | "//src/conditions:darwin_x86_64": ["netty/netty-transport-native-kqueue-4.1.75.Final-osx-x86_64.jar"], | 
|  | "//conditions:default": [], | 
|  | }) + select({ | 
|  | "//src/conditions:linux_aarch64": ["netty/netty-transport-native-epoll-4.1.75.Final-linux-aarch_64.jar"], | 
|  | "//src/conditions:linux_x86_64": ["netty/netty-transport-native-epoll-4.1.75.Final-linux-x86_64.jar"], | 
|  | "//conditions:default": [], | 
|  | }), | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "netty_tcnative", | 
|  | enable_distributions = ["debian"], | 
|  | jars = [ | 
|  | "netty_tcnative/netty-tcnative-classes-2.0.51.Final.jar", | 
|  | ] + select({ | 
|  | "//src/conditions:darwin_arm64": [":netty_tcnative/netty-tcnative-filtered.jar"], | 
|  | "//src/conditions:darwin_x86_64": [":netty_tcnative/netty-tcnative-filtered.jar"], | 
|  | "//src/conditions:linux_aarch64": [":netty_tcnative/netty-tcnative-filtered.jar"], | 
|  | "//src/conditions:linux_x86_64": [":netty_tcnative/netty-tcnative-filtered.jar"], | 
|  | "//src/conditions:windows": [":netty_tcnative/netty-tcnative-filtered.jar"], | 
|  | "//conditions:default": [], | 
|  | }), | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "tomcat_annotations_api", | 
|  | enable_distributions = ["debian"], | 
|  | jars = ["tomcat_annotations_api/tomcat-annotations-api-8.0.5.jar"], | 
|  | ) | 
|  |  | 
|  | # For bootstrapping JavaBuilder | 
|  | distrib_jar_filegroup( | 
|  | name = "tomcat_annotations_api-jars", | 
|  | srcs = ["tomcat_annotations_api/tomcat-annotations-api-8.0.5.jar"], | 
|  | enable_distributions = ["debian"], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "java-diff-utils", | 
|  | enable_distributions = ["debian"], | 
|  | jars = ["java-diff-utils/java-diff-utils-4.0.jar"], | 
|  | ) | 
|  |  | 
|  | # Testing | 
|  |  | 
|  | # TODO: Remove this target after migrating to java-diff-utils | 
|  | java_import( | 
|  | name = "diffutils", | 
|  | jars = ["diffutils/diffutils-1.3.0.jar"], | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "guava-testlib", | 
|  | jars = ["guava/guava-testlib-31.1-jre.jar"], | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "junit4", | 
|  | enable_distributions = ["debian"], | 
|  | jars = [ | 
|  | "hamcrest/hamcrest-core-1.3.jar", | 
|  | "junit/junit-4.13.jar", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "mockito", | 
|  | jars = ["mockito/mockito-core-3.12.4.jar"], | 
|  | deps = [ | 
|  | ":byte_buddy", | 
|  | ":objenesis", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "objenesis", | 
|  | jars = ["objenesis/objenesis-1_3.jar"], | 
|  | ) | 
|  |  | 
|  | filegroup( | 
|  | name = "turbine_direct", | 
|  | srcs = ["turbine/turbine_direct.jar"], | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "turbine", | 
|  | jars = ["turbine/turbine_direct.jar"], | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "truth", | 
|  | applicable_licenses = [":truth_license"], | 
|  | jars = ["truth/truth-1.0.1.jar"], | 
|  | exports = [ | 
|  | ":truth8", | 
|  | ":truth_proto", | 
|  | ], | 
|  | deps = [ | 
|  | ":diffutils", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | license( | 
|  | name = "truth_license", | 
|  | package_name = "truth/1.0.1", | 
|  | license_kinds = [ | 
|  | "@rules_license//licenses/spdx:Apache-2.0", | 
|  | ], | 
|  | license_text = "truth/LICENSE", | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "truth8", | 
|  | applicable_licenses = [":truth8_license"], | 
|  | jars = ["truth8/truth-java8-extension-1.0.1.jar"], | 
|  | ) | 
|  |  | 
|  | license( | 
|  | name = "truth8_license", | 
|  | package_name = "truth8/1.0.1", | 
|  | license_kinds = [ | 
|  | "@rules_license//licenses/spdx:Apache-2.0", | 
|  | ], | 
|  | license_text = "truth8/LICENSE", | 
|  | ) | 
|  |  | 
|  | java_import( | 
|  | name = "truth_proto", | 
|  | applicable_licenses = [":truth_proto_license"], | 
|  | jars = [ | 
|  | "truth_proto/truth-liteproto-extension-1.0.1.jar", | 
|  | "truth_proto/truth-proto-extension-1.0.1.jar", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | license( | 
|  | name = "truth_proto_license", | 
|  | package_name = "truth_proto/1.0.1", | 
|  | license_kinds = [ | 
|  | "@rules_license//licenses/spdx:Apache-2.0", | 
|  | ], | 
|  | license_text = "truth_proto/LICENSE", | 
|  | ) | 
|  |  | 
|  | distrib_java_import( | 
|  | name = "xz", | 
|  | applicable_licenses = [":xz_license"], | 
|  | enable_distributions = ["debian"], | 
|  | jars = ["xz/xz-1.9.jar"], | 
|  | ) | 
|  |  | 
|  | license( | 
|  | name = "xz_license", | 
|  | package_name = "xz/1.9", | 
|  | license_kinds = [ | 
|  | "@rules_license//licenses/generic:permissive", | 
|  | ], | 
|  | license_text = "xz/LICENSE", | 
|  | ) | 
|  |  | 
|  | # To be used by the skylark example. | 
|  | filegroup( | 
|  | name = "junit4-jars", | 
|  | srcs = [ | 
|  | "hamcrest/hamcrest-core-1.3.jar", | 
|  | "junit/junit-4.13.jar", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | load(":compiler_config_setting.bzl", "create_compiler_config_setting") | 
|  |  | 
|  | create_compiler_config_setting( | 
|  | name = "windows_mingw", | 
|  | value = "windows_mingw", | 
|  | ) | 
|  |  | 
|  | create_compiler_config_setting( | 
|  | name = "windows_msys64", | 
|  | value = "windows_msys64", | 
|  | ) | 
|  |  | 
|  | create_compiler_config_setting( | 
|  | name = "windows_msys64_mingw64", | 
|  | value = "windows_msys64_mingw64", | 
|  | ) | 
|  |  | 
|  | create_compiler_config_setting( | 
|  | name = "windows_clang", | 
|  | value = "windows_clang", | 
|  | ) | 
|  |  | 
|  | config_setting( | 
|  | name = "darwin", | 
|  | values = {"host_cpu": "darwin"}, | 
|  | ) | 
|  |  | 
|  | config_setting( | 
|  | name = "k8", | 
|  | values = {"host_cpu": "k8"}, | 
|  | ) | 
|  |  | 
|  | config_setting( | 
|  | name = "piii", | 
|  | values = {"host_cpu": "piii"}, | 
|  | ) | 
|  |  | 
|  | config_setting( | 
|  | name = "arm", | 
|  | values = {"host_cpu": "arm"}, | 
|  | ) | 
|  |  | 
|  | config_setting( | 
|  | name = "aarch64", | 
|  | values = {"host_cpu": "aarch64"}, | 
|  | ) | 
|  |  | 
|  | config_setting( | 
|  | name = "freebsd", | 
|  | values = {"host_cpu": "freebsd"}, | 
|  | ) | 
|  |  | 
|  | config_setting( | 
|  | name = "openbsd", | 
|  | values = {"host_cpu": "openbsd"}, | 
|  | ) | 
|  |  | 
|  | config_setting( | 
|  | name = "s390x", | 
|  | values = {"host_cpu": "s390x"}, | 
|  | ) | 
|  |  | 
|  | config_setting( | 
|  | name = "ppc", | 
|  | values = {"host_cpu": "ppc"}, | 
|  | ) | 
|  |  | 
|  | test_suite( | 
|  | name = "all_windows_tests", | 
|  | tests = [ | 
|  | "//third_party/def_parser:windows_tests", | 
|  | ], | 
|  | visibility = ["//src:__pkg__"], | 
|  | ) |