diff --git a/MODULE.bazel b/MODULE.bazel index 35c75882019f08..6d558f2fbb6dcc 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -87,7 +87,6 @@ maven.install( # keep sorted "com.beust:jcommander:1.82", "com.github.ben-manes.caffeine:caffeine:3.0.5", - "com.github.kevinstern:software-and-algorithms:1.0", "com.github.stephenc.jcip:jcip-annotations:1.0-1", "com.google.api-client:google-api-client:1.35.2", "com.google.api-client:google-api-client-gson:1.35.2", @@ -115,6 +114,7 @@ maven.install( "com.google.http-client:google-http-client-gson:1.42.0", "com.google.j2objc:j2objc-annotations:1.3", "com.google.turbine:turbine:0.6.0", + "com.guardsquare:proguard-base:jar:7.5.0", "com.ryanharter.auto.value:auto-value-gson-extension:1.3.1", "com.ryanharter.auto.value:auto-value-gson-factory:1.3.1", "com.ryanharter.auto.value:auto-value-gson-runtime:1.3.1", @@ -162,8 +162,6 @@ maven.install( "javax.activation:javax.activation-api:1.2.0", "javax.annotation:javax.annotation-api:1.3.2", "javax.inject:javax.inject:1", - "net.bytebuddy:byte-buddy:1.14.5", - "net.bytebuddy:byte-buddy-agent:1.14.5", "org.apache.commons:commons-compress:1.26.1", "org.apache.commons:commons-pool2:2.8.0", "org.apache.tomcat:tomcat-annotations-api:8.0.5", diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 2b412cd82afdfd..363cc12fc6f40b 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -1292,11 +1292,11 @@ "@@rules_jvm_external~//:extensions.bzl%maven": { "general": { "bzlTransitiveDigest": "6HjpYwTb4aw3ujkkpdKEvg9geToiH1ebaT6hmsvF5xw=", - "usagesDigest": "TsHAEjOBFx1Rxo+pwx5k6ozGStFLDvAyERKhM74gF5E=", + "usagesDigest": "GDnun3+UYCfO0VT0ashmwTVdZp5HrtUpu+S9LHigYpQ=", "recordedFileInputs": { "@@//src/tools/android/maven_android_install.json": "09bff3e33d291336046f7c9201630fb5e014f0e60b78b6f09b84e4f5f73ed04f", "@@rules_jvm_external~//rules_jvm_external_deps_install.json": "cafb5d2d8119391eb2b322ce3840d3352ea82d496bdb8cbd4b6779ec4d044dda", - "@@//maven_install.json": "bfbd27561bcdb13f4ed9b7aabacee210c5425db368504082f1384ade5ac6a88d" + "@@//maven_install.json": "f1b04e79794fe014666c5ad52eba53f924fab0865f3ae755bb34cb951af39976" }, "recordedDirentsInputs": {}, "envVariables": {}, @@ -1312,6 +1312,17 @@ "downloaded_file_path": "v1/com/google/guava/guava/32.1.2-jre/guava-32.1.2-jre.jar" } }, + "org_jetbrains_kotlin_kotlin_stdlib_2_0_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "240938c4aab8e73e888703e3e7d3f87383ffe5bd536d6d5e3c100d4cd0379fcf", + "urls": [ + "https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/2.0.0/kotlin-stdlib-2.0.0.jar" + ], + "downloaded_file_path": "v1/org/jetbrains/kotlin/kotlin-stdlib/2.0.0/kotlin-stdlib-2.0.0.jar" + } + }, "software_amazon_awssdk_netty_nio_client_2_20_128": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", @@ -1492,6 +1503,17 @@ "downloaded_file_path": "v1/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar" } }, + "org_json_json_20231013": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "0f18192df289114e17aa1a0d0a7f8372cc9f5c7e4f7e39adcf8906fe714fa7d3", + "urls": [ + "https://repo1.maven.org/maven2/org/json/json/20231013/json-20231013.jar" + ], + "downloaded_file_path": "v1/org/json/json/20231013/json-20231013.jar" + } + }, "io_netty_netty_codec_http_4_1_94_Final": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", @@ -1906,7 +1928,6 @@ "{ \"group\": \"org.mockito\", \"artifact\": \"mockito-core\", \"version\": \"5.4.0\", \"testonly\": true }", "{ \"group\": \"com.beust\", \"artifact\": \"jcommander\", \"version\": \"1.82\" }", "{ \"group\": \"com.github.ben-manes.caffeine\", \"artifact\": \"caffeine\", \"version\": \"3.0.5\" }", - "{ \"group\": \"com.github.kevinstern\", \"artifact\": \"software-and-algorithms\", \"version\": \"1.0\" }", "{ \"group\": \"com.github.stephenc.jcip\", \"artifact\": \"jcip-annotations\", \"version\": \"1.0-1\" }", "{ \"group\": \"com.google.api-client\", \"artifact\": \"google-api-client\", \"version\": \"1.35.2\" }", "{ \"group\": \"com.google.api-client\", \"artifact\": \"google-api-client-gson\", \"version\": \"1.35.2\" }", @@ -1934,6 +1955,7 @@ "{ \"group\": \"com.google.http-client\", \"artifact\": \"google-http-client-gson\", \"version\": \"1.42.0\" }", "{ \"group\": \"com.google.j2objc\", \"artifact\": \"j2objc-annotations\", \"version\": \"1.3\" }", "{ \"group\": \"com.google.turbine\", \"artifact\": \"turbine\", \"version\": \"0.6.0\" }", + "{ \"group\": \"com.guardsquare\", \"artifact\": \"proguard-base\", \"version\": \"7.5.0\", \"packaging\": \"jar\" }", "{ \"group\": \"com.ryanharter.auto.value\", \"artifact\": \"auto-value-gson-extension\", \"version\": \"1.3.1\" }", "{ \"group\": \"com.ryanharter.auto.value\", \"artifact\": \"auto-value-gson-factory\", \"version\": \"1.3.1\" }", "{ \"group\": \"com.ryanharter.auto.value\", \"artifact\": \"auto-value-gson-runtime\", \"version\": \"1.3.1\" }", @@ -1981,8 +2003,6 @@ "{ \"group\": \"javax.activation\", \"artifact\": \"javax.activation-api\", \"version\": \"1.2.0\" }", "{ \"group\": \"javax.annotation\", \"artifact\": \"javax.annotation-api\", \"version\": \"1.3.2\" }", "{ \"group\": \"javax.inject\", \"artifact\": \"javax.inject\", \"version\": \"1\" }", - "{ \"group\": \"net.bytebuddy\", \"artifact\": \"byte-buddy\", \"version\": \"1.14.5\" }", - "{ \"group\": \"net.bytebuddy\", \"artifact\": \"byte-buddy-agent\", \"version\": \"1.14.5\" }", "{ \"group\": \"org.apache.commons\", \"artifact\": \"commons-compress\", \"version\": \"1.26.1\" }", "{ \"group\": \"org.apache.commons\", \"artifact\": \"commons-pool2\", \"version\": \"2.8.0\" }", "{ \"group\": \"org.apache.tomcat\", \"artifact\": \"tomcat-annotations-api\", \"version\": \"8.0.5\" }", @@ -3003,6 +3023,17 @@ "downloaded_file_path": "v1/com/android/tools/sdklib/30.1.3/sdklib-30.1.3.jar" } }, + "com_guardsquare_proguard_core_9_1_4": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "c51bb89ac5668280e3db7e4ab6c16f454ec5132ed356c840a4f930f16ef6ed51", + "urls": [ + "https://repo1.maven.org/maven2/com/guardsquare/proguard-core/9.1.4/proguard-core-9.1.4.jar" + ], + "downloaded_file_path": "v1/com/guardsquare/proguard-core/9.1.4/proguard-core-9.1.4.jar" + } + }, "com_google_api_grpc_proto_google_cloud_storage_v2_2_26_1_alpha": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", @@ -3241,6 +3272,17 @@ "downloaded_file_path": "v1/com/google/flogger/google-extensions/0.5.1/google-extensions-0.5.1.jar" } }, + "org_jetbrains_kotlin_kotlin_metadata_jvm_2_0_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "ad8f1c7dbc5ac46f5cbd2d2e5de39c56c9db65dd7de716a84e01ce208758aee6", + "urls": [ + "https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-metadata-jvm/2.0.0/kotlin-metadata-jvm-2.0.0.jar" + ], + "downloaded_file_path": "v1/org/jetbrains/kotlin/kotlin-metadata-jvm/2.0.0/kotlin-metadata-jvm-2.0.0.jar" + } + }, "com_sun_activation_javax_activation_1_2_0": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", @@ -3253,6 +3295,17 @@ "downloaded_file_path": "v1/com/sun/activation/javax.activation/1.2.0/javax.activation-1.2.0.jar" } }, + "org_apache_logging_log4j_log4j_api_2_19_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "5ccb24ad9f92e768d0bc456d3061a737951262df803e004d2cad096b75a88d60", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.19.0/log4j-api-2.19.0.jar" + ], + "downloaded_file_path": "v1/org/apache/logging/log4j/log4j-api/2.19.0/log4j-api-2.19.0.jar" + } + }, "com_google_auth_google_auth_library_oauth2_http_1_19_0": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", @@ -4433,6 +4486,17 @@ "downloaded_file_path": "v1/org/ow2/asm/asm-commons/9.1/asm-commons-9.1.jar" } }, + "org_apache_logging_log4j_log4j_core_2_19_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "b4a1796fab7bfc36df015c1b4052459147997e8d215a7199d71d05f9e747e4f4", + "urls": [ + "https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.19.0/log4j-core-2.19.0.jar" + ], + "downloaded_file_path": "v1/org/apache/logging/log4j/log4j-core/2.19.0/log4j-core-2.19.0.jar" + } + }, "com_android_tools_dvlib_30_1_3": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", @@ -4521,7 +4585,6 @@ "{ \"group\": \"org.mockito\", \"artifact\": \"mockito-core\", \"version\": \"5.4.0\", \"testonly\": true }", "{ \"group\": \"com.beust\", \"artifact\": \"jcommander\", \"version\": \"1.82\" }", "{ \"group\": \"com.github.ben-manes.caffeine\", \"artifact\": \"caffeine\", \"version\": \"3.0.5\" }", - "{ \"group\": \"com.github.kevinstern\", \"artifact\": \"software-and-algorithms\", \"version\": \"1.0\" }", "{ \"group\": \"com.github.stephenc.jcip\", \"artifact\": \"jcip-annotations\", \"version\": \"1.0-1\" }", "{ \"group\": \"com.google.api-client\", \"artifact\": \"google-api-client\", \"version\": \"1.35.2\" }", "{ \"group\": \"com.google.api-client\", \"artifact\": \"google-api-client-gson\", \"version\": \"1.35.2\" }", @@ -4549,6 +4612,7 @@ "{ \"group\": \"com.google.http-client\", \"artifact\": \"google-http-client-gson\", \"version\": \"1.42.0\" }", "{ \"group\": \"com.google.j2objc\", \"artifact\": \"j2objc-annotations\", \"version\": \"1.3\" }", "{ \"group\": \"com.google.turbine\", \"artifact\": \"turbine\", \"version\": \"0.6.0\" }", + "{ \"group\": \"com.guardsquare\", \"artifact\": \"proguard-base\", \"version\": \"7.5.0\", \"packaging\": \"jar\" }", "{ \"group\": \"com.ryanharter.auto.value\", \"artifact\": \"auto-value-gson-extension\", \"version\": \"1.3.1\" }", "{ \"group\": \"com.ryanharter.auto.value\", \"artifact\": \"auto-value-gson-factory\", \"version\": \"1.3.1\" }", "{ \"group\": \"com.ryanharter.auto.value\", \"artifact\": \"auto-value-gson-runtime\", \"version\": \"1.3.1\" }", @@ -4596,8 +4660,6 @@ "{ \"group\": \"javax.activation\", \"artifact\": \"javax.activation-api\", \"version\": \"1.2.0\" }", "{ \"group\": \"javax.annotation\", \"artifact\": \"javax.annotation-api\", \"version\": \"1.3.2\" }", "{ \"group\": \"javax.inject\", \"artifact\": \"javax.inject\", \"version\": \"1\" }", - "{ \"group\": \"net.bytebuddy\", \"artifact\": \"byte-buddy\", \"version\": \"1.14.5\" }", - "{ \"group\": \"net.bytebuddy\", \"artifact\": \"byte-buddy-agent\", \"version\": \"1.14.5\" }", "{ \"group\": \"org.apache.commons\", \"artifact\": \"commons-compress\", \"version\": \"1.26.1\" }", "{ \"group\": \"org.apache.commons\", \"artifact\": \"commons-pool2\", \"version\": \"2.8.0\" }", "{ \"group\": \"org.apache.tomcat\", \"artifact\": \"tomcat-annotations-api\", \"version\": \"8.0.5\" }", @@ -4841,6 +4903,17 @@ "downloaded_file_path": "v1/io/grpc/grpc-grpclb/1.56.1/grpc-grpclb-1.56.1.jar" } }, + "com_guardsquare_proguard_base_7_5_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "04f507bf11e57d798d972b6640cd026302e0b54800cd75813dc4715da66f3ab5", + "urls": [ + "https://repo1.maven.org/maven2/com/guardsquare/proguard-base/7.5.0/proguard-base-7.5.0.jar" + ], + "downloaded_file_path": "v1/com/guardsquare/proguard-base/7.5.0/proguard-base-7.5.0.jar" + } + }, "com_google_inject_guice_5_1_0": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", @@ -4863,6 +4936,17 @@ "downloaded_file_path": "v1/io/netty/netty-codec-socks/4.1.93.Final/netty-codec-socks-4.1.93.Final.jar" } }, + "org_jetbrains_annotations_24_0_0": { + "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_file", + "attributes": { + "sha256": "ff112f54ce874b8ae899cfd68f0315d96c9f406a338b8eca80c76d10e2e5a2f7", + "urls": [ + "https://repo1.maven.org/maven2/org/jetbrains/annotations/24.0.0/annotations-24.0.0.jar" + ], + "downloaded_file_path": "v1/org/jetbrains/annotations/24.0.0/annotations-24.0.0.jar" + } + }, "com_google_auto_auto_common_1_2_1": { "bzlFile": "@@bazel_tools//tools/build_defs/repo:http.bzl", "ruleClassName": "http_file", diff --git a/maven_install.json b/maven_install.json index d05812f265ef7f..16ea13422c6b5d 100644 --- a/maven_install.json +++ b/maven_install.json @@ -1,7 +1,7 @@ { "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", - "__INPUT_ARTIFACTS_HASH": -2030624926, - "__RESOLVED_ARTIFACTS_HASH": 1927415688, + "__INPUT_ARTIFACTS_HASH": 1071623342, + "__RESOLVED_ARTIFACTS_HASH": 1286859829, "conflict_resolution": { "com.google.code.gson:gson:2.8.9": "com.google.code.gson:gson:2.9.0", "com.google.errorprone:error_prone_annotations:2.3.2": "com.google.errorprone:error_prone_annotations:2.22.0", @@ -282,6 +282,18 @@ }, "version": "0.6.0" }, + "com.guardsquare:proguard-base": { + "shasums": { + "jar": "04f507bf11e57d798d972b6640cd026302e0b54800cd75813dc4715da66f3ab5" + }, + "version": "7.5.0" + }, + "com.guardsquare:proguard-core": { + "shasums": { + "jar": "c51bb89ac5668280e3db7e4ab6c16f454ec5132ed356c840a4f930f16ef6ed51" + }, + "version": "9.1.4" + }, "com.ryanharter.auto.value:auto-value-gson-extension": { "shasums": { "jar": "261be84be30a56994e132d718a85efcd579197a2edb9426b84c5722c56955eca" @@ -616,6 +628,18 @@ }, "version": "2.8.0" }, + "org.apache.logging.log4j:log4j-api": { + "shasums": { + "jar": "5ccb24ad9f92e768d0bc456d3061a737951262df803e004d2cad096b75a88d60" + }, + "version": "2.19.0" + }, + "org.apache.logging.log4j:log4j-core": { + "shasums": { + "jar": "b4a1796fab7bfc36df015c1b4052459147997e8d215a7199d71d05f9e747e4f4" + }, + "version": "2.19.0" + }, "org.apache.tomcat:tomcat-annotations-api": { "shasums": { "jar": "748677bebb1651a313317dfd93e984ed8f8c9e345538fa8b0ab0cbb804631953" @@ -652,6 +676,30 @@ }, "version": "1.3" }, + "org.jetbrains.kotlin:kotlin-metadata-jvm": { + "shasums": { + "jar": "ad8f1c7dbc5ac46f5cbd2d2e5de39c56c9db65dd7de716a84e01ce208758aee6" + }, + "version": "2.0.0" + }, + "org.jetbrains.kotlin:kotlin-stdlib": { + "shasums": { + "jar": "240938c4aab8e73e888703e3e7d3f87383ffe5bd536d6d5e3c100d4cd0379fcf" + }, + "version": "2.0.0" + }, + "org.jetbrains:annotations": { + "shasums": { + "jar": "ff112f54ce874b8ae899cfd68f0315d96c9f406a338b8eca80c76d10e2e5a2f7" + }, + "version": "24.0.0" + }, + "org.json:json": { + "shasums": { + "jar": "0f18192df289114e17aa1a0d0a7f8372cc9f5c7e4f7e39adcf8906fe714fa7d3" + }, + "version": "20231013" + }, "org.mockito:mockito-core": { "shasums": { "jar": "b1689b06617ea01fd777bfaedbdde512faf083d639a049f79b388d5a4e96d2e5" @@ -911,6 +959,21 @@ "com.google.errorprone:error_prone_annotations", "com.google.guava:guava" ], + "com.guardsquare:proguard-base": [ + "com.google.code.gson:gson", + "com.guardsquare:proguard-core", + "org.apache.logging.log4j:log4j-api", + "org.apache.logging.log4j:log4j-core", + "org.jetbrains.kotlin:kotlin-stdlib", + "org.json:json" + ], + "com.guardsquare:proguard-core": [ + "org.apache.logging.log4j:log4j-api", + "org.apache.logging.log4j:log4j-core", + "org.jetbrains.kotlin:kotlin-metadata-jvm", + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains:annotations" + ], "com.ryanharter.auto.value:auto-value-gson-extension": [ "com.google.auto.value:auto-value", "com.google.auto.value:auto-value-annotations", @@ -1160,10 +1223,19 @@ "commons-io:commons-io", "org.apache.commons:commons-lang3" ], + "org.apache.logging.log4j:log4j-core": [ + "org.apache.logging.log4j:log4j-api" + ], "org.apache.velocity:velocity": [ "commons-collections:commons-collections", "commons-lang:commons-lang" ], + "org.jetbrains.kotlin:kotlin-metadata-jvm": [ + "org.jetbrains.kotlin:kotlin-stdlib" + ], + "org.jetbrains.kotlin:kotlin-stdlib": [ + "org.jetbrains:annotations" + ], "org.mockito:mockito-core": [ "net.bytebuddy:byte-buddy", "net.bytebuddy:byte-buddy-agent", @@ -1556,6 +1628,118 @@ "com.google.turbine.types", "com.google.turbine.zip" ], + "com.guardsquare:proguard-base": [ + "proguard", + "proguard.backport", + "proguard.classfile", + "proguard.classfile.pass", + "proguard.classfile.visitor", + "proguard.configuration", + "proguard.evaluation", + "proguard.fixer.kotlin", + "proguard.io", + "proguard.logging", + "proguard.mark", + "proguard.obfuscate", + "proguard.obfuscate.kotlin", + "proguard.obfuscate.util", + "proguard.optimize", + "proguard.optimize.evaluation", + "proguard.optimize.gson", + "proguard.optimize.info", + "proguard.optimize.kotlin", + "proguard.optimize.peephole", + "proguard.pass", + "proguard.preverify", + "proguard.shrink", + "proguard.strip", + "proguard.util", + "proguard.util.kotlin", + "proguard.util.kotlin.asserter" + ], + "com.guardsquare:proguard-core": [ + "proguard.analysis", + "proguard.analysis.cpa.algorithms", + "proguard.analysis.cpa.bam", + "proguard.analysis.cpa.defaults", + "proguard.analysis.cpa.domain.taint", + "proguard.analysis.cpa.interfaces", + "proguard.analysis.cpa.jvm.cfa", + "proguard.analysis.cpa.jvm.cfa.edges", + "proguard.analysis.cpa.jvm.cfa.nodes", + "proguard.analysis.cpa.jvm.cfa.visitors", + "proguard.analysis.cpa.jvm.domain.memory", + "proguard.analysis.cpa.jvm.domain.reference", + "proguard.analysis.cpa.jvm.domain.taint", + "proguard.analysis.cpa.jvm.domain.value", + "proguard.analysis.cpa.jvm.operators", + "proguard.analysis.cpa.jvm.state", + "proguard.analysis.cpa.jvm.state.heap", + "proguard.analysis.cpa.jvm.state.heap.tree", + "proguard.analysis.cpa.jvm.transfer", + "proguard.analysis.cpa.jvm.util", + "proguard.analysis.cpa.jvm.witness", + "proguard.analysis.cpa.state", + "proguard.analysis.cpa.util", + "proguard.analysis.datastructure", + "proguard.analysis.datastructure.callgraph", + "proguard.backport", + "proguard.classfile", + "proguard.classfile.attribute", + "proguard.classfile.attribute.annotation", + "proguard.classfile.attribute.annotation.target", + "proguard.classfile.attribute.annotation.target.visitor", + "proguard.classfile.attribute.annotation.visitor", + "proguard.classfile.attribute.module", + "proguard.classfile.attribute.module.visitor", + "proguard.classfile.attribute.preverification", + "proguard.classfile.attribute.preverification.visitor", + "proguard.classfile.attribute.visitor", + "proguard.classfile.constant", + "proguard.classfile.constant.visitor", + "proguard.classfile.editor", + "proguard.classfile.exception", + "proguard.classfile.instruction", + "proguard.classfile.instruction.visitor", + "proguard.classfile.io", + "proguard.classfile.io.kotlin", + "proguard.classfile.io.visitor", + "proguard.classfile.kotlin", + "proguard.classfile.kotlin.flags", + "proguard.classfile.kotlin.reflect", + "proguard.classfile.kotlin.reflect.util", + "proguard.classfile.kotlin.reflect.visitor", + "proguard.classfile.kotlin.visitor", + "proguard.classfile.kotlin.visitor.filter", + "proguard.classfile.util", + "proguard.classfile.util.kotlin", + "proguard.classfile.util.renderer", + "proguard.classfile.util.renderer.core", + "proguard.classfile.visitor", + "proguard.evaluation", + "proguard.evaluation.exception", + "proguard.evaluation.executor", + "proguard.evaluation.executor.instancehandler", + "proguard.evaluation.util", + "proguard.evaluation.util.jsonprinter", + "proguard.evaluation.value", + "proguard.evaluation.value.object", + "proguard.exception", + "proguard.io", + "proguard.io.util", + "proguard.preverify", + "proguard.resources.file", + "proguard.resources.file.io", + "proguard.resources.file.util", + "proguard.resources.file.visitor", + "proguard.resources.kotlinmodule", + "proguard.resources.kotlinmodule.io", + "proguard.resources.kotlinmodule.util", + "proguard.resources.kotlinmodule.visitor", + "proguard.util", + "proguard.util.kotlin.asserter", + "proguard.util.kotlin.asserter.constraint" + ], "com.ryanharter.auto.value:auto-value-gson-extension": [ "autovaluegson.shaded.com.google.auto.common", "autovaluegson.shaded.com.google.common.annotations", @@ -2160,6 +2344,72 @@ "org.apache.commons.pool2.impl", "org.apache.commons.pool2.proxy" ], + "org.apache.logging.log4j:log4j-api": [ + "org.apache.logging.log4j", + "org.apache.logging.log4j.internal", + "org.apache.logging.log4j.message", + "org.apache.logging.log4j.simple", + "org.apache.logging.log4j.spi", + "org.apache.logging.log4j.status", + "org.apache.logging.log4j.util", + "org.apache.logging.log4j.util.internal" + ], + "org.apache.logging.log4j:log4j-core": [ + "org.apache.logging.log4j.core", + "org.apache.logging.log4j.core.appender", + "org.apache.logging.log4j.core.appender.db", + "org.apache.logging.log4j.core.appender.db.jdbc", + "org.apache.logging.log4j.core.appender.mom", + "org.apache.logging.log4j.core.appender.mom.jeromq", + "org.apache.logging.log4j.core.appender.mom.kafka", + "org.apache.logging.log4j.core.appender.nosql", + "org.apache.logging.log4j.core.appender.rewrite", + "org.apache.logging.log4j.core.appender.rolling", + "org.apache.logging.log4j.core.appender.rolling.action", + "org.apache.logging.log4j.core.appender.routing", + "org.apache.logging.log4j.core.async", + "org.apache.logging.log4j.core.config", + "org.apache.logging.log4j.core.config.arbiters", + "org.apache.logging.log4j.core.config.builder.api", + "org.apache.logging.log4j.core.config.builder.impl", + "org.apache.logging.log4j.core.config.composite", + "org.apache.logging.log4j.core.config.json", + "org.apache.logging.log4j.core.config.plugins", + "org.apache.logging.log4j.core.config.plugins.convert", + "org.apache.logging.log4j.core.config.plugins.processor", + "org.apache.logging.log4j.core.config.plugins.util", + "org.apache.logging.log4j.core.config.plugins.validation", + "org.apache.logging.log4j.core.config.plugins.validation.constraints", + "org.apache.logging.log4j.core.config.plugins.validation.validators", + "org.apache.logging.log4j.core.config.plugins.visitors", + "org.apache.logging.log4j.core.config.properties", + "org.apache.logging.log4j.core.config.status", + "org.apache.logging.log4j.core.config.xml", + "org.apache.logging.log4j.core.config.yaml", + "org.apache.logging.log4j.core.filter", + "org.apache.logging.log4j.core.filter.mutable", + "org.apache.logging.log4j.core.impl", + "org.apache.logging.log4j.core.jackson", + "org.apache.logging.log4j.core.jmx", + "org.apache.logging.log4j.core.layout", + "org.apache.logging.log4j.core.layout.internal", + "org.apache.logging.log4j.core.lookup", + "org.apache.logging.log4j.core.message", + "org.apache.logging.log4j.core.net", + "org.apache.logging.log4j.core.net.ssl", + "org.apache.logging.log4j.core.osgi", + "org.apache.logging.log4j.core.parser", + "org.apache.logging.log4j.core.pattern", + "org.apache.logging.log4j.core.script", + "org.apache.logging.log4j.core.selector", + "org.apache.logging.log4j.core.time", + "org.apache.logging.log4j.core.time.internal", + "org.apache.logging.log4j.core.tools", + "org.apache.logging.log4j.core.tools.picocli", + "org.apache.logging.log4j.core.util", + "org.apache.logging.log4j.core.util.datetime", + "org.apache.logging.log4j.core.util.internal" + ], "org.apache.tomcat:tomcat-annotations-api": [ "javax.annotation", "javax.annotation.security", @@ -2238,6 +2488,74 @@ "org.hamcrest.core", "org.hamcrest.internal" ], + "org.jetbrains.kotlin:kotlin-metadata-jvm": [ + "kotlin.metadata", + "kotlin.metadata.internal", + "kotlin.metadata.internal.common", + "kotlin.metadata.internal.extensions", + "kotlin.metadata.internal.metadata", + "kotlin.metadata.internal.metadata.builtins", + "kotlin.metadata.internal.metadata.deserialization", + "kotlin.metadata.internal.metadata.jvm", + "kotlin.metadata.internal.metadata.jvm.deserialization", + "kotlin.metadata.internal.metadata.jvm.serialization", + "kotlin.metadata.internal.metadata.serialization", + "kotlin.metadata.internal.protobuf", + "kotlin.metadata.jvm", + "kotlin.metadata.jvm.internal" + ], + "org.jetbrains.kotlin:kotlin-stdlib": [ + "kotlin", + "kotlin.annotation", + "kotlin.collections", + "kotlin.collections.builders", + "kotlin.collections.jdk8", + "kotlin.collections.unsigned", + "kotlin.comparisons", + "kotlin.concurrent", + "kotlin.contracts", + "kotlin.coroutines", + "kotlin.coroutines.cancellation", + "kotlin.coroutines.intrinsics", + "kotlin.coroutines.jvm.internal", + "kotlin.enums", + "kotlin.experimental", + "kotlin.internal", + "kotlin.internal.jdk7", + "kotlin.internal.jdk8", + "kotlin.io", + "kotlin.io.encoding", + "kotlin.io.path", + "kotlin.jdk7", + "kotlin.js", + "kotlin.jvm", + "kotlin.jvm.functions", + "kotlin.jvm.internal", + "kotlin.jvm.internal.markers", + "kotlin.jvm.internal.unsafe", + "kotlin.jvm.jdk8", + "kotlin.jvm.optionals", + "kotlin.math", + "kotlin.properties", + "kotlin.random", + "kotlin.random.jdk8", + "kotlin.ranges", + "kotlin.reflect", + "kotlin.sequences", + "kotlin.streams.jdk8", + "kotlin.system", + "kotlin.text", + "kotlin.text.jdk8", + "kotlin.time", + "kotlin.time.jdk8" + ], + "org.jetbrains:annotations": [ + "org.intellij.lang.annotations", + "org.jetbrains.annotations" + ], + "org.json:json": [ + "org.json" + ], "org.mockito:mockito-core": [ "org.mockito", "org.mockito.codegen", @@ -2447,6 +2765,8 @@ "com.google.truth.extensions:truth-proto-extension", "com.google.truth:truth", "com.google.turbine:turbine", + "com.guardsquare:proguard-base", + "com.guardsquare:proguard-core", "com.ryanharter.auto.value:auto-value-gson-extension", "com.ryanharter.auto.value:auto-value-gson-factory", "com.ryanharter.auto.value:auto-value-gson-runtime", @@ -2511,12 +2831,18 @@ "org.apache.commons:commons-lang3", "org.apache.commons:commons-math3", "org.apache.commons:commons-pool2", + "org.apache.logging.log4j:log4j-api", + "org.apache.logging.log4j:log4j-core", "org.apache.tomcat:tomcat-annotations-api", "org.apache.velocity:velocity", "org.checkerframework:checker-compat-qual", "org.checkerframework:checker-qual", "org.codehaus.mojo:animal-sniffer-annotations", "org.hamcrest:hamcrest-core", + "org.jetbrains.kotlin:kotlin-metadata-jvm", + "org.jetbrains.kotlin:kotlin-stdlib", + "org.jetbrains:annotations", + "org.json:json", "org.mockito:mockito-core", "org.objenesis:objenesis", "org.openjdk.jmh:jmh-core", diff --git a/src/test/shell/integration/minimal_jdk_test.sh b/src/test/shell/integration/minimal_jdk_test.sh index 067bba62f24f6f..4131bbb0f6a96f 100755 --- a/src/test/shell/integration/minimal_jdk_test.sh +++ b/src/test/shell/integration/minimal_jdk_test.sh @@ -42,13 +42,13 @@ export BAZEL_SUFFIX="_jdk_minimal" source "$(rlocation "io_bazel/src/test/shell/integration_test_setup.sh")" \ || { echo "integration_test_setup.sh not found!" >&2; exit 1; } -# Bazel's install base is < 465MB with minimal JDK and > 465MB with an all +# Bazel's install base is < 385MB with minimal JDK and > 395MB with an all # modules JDK. -function test_size_less_than_465MB() { +function test_size_less_than_385MB() { bazel info ib=$(bazel info install_base) size=$(du -s "$ib" | cut -d\ -f1) - maxsize=$((1024*465)) + maxsize=$((1024*385)) if [ $size -gt $maxsize ]; then echo "$ib was too big:" 1>&2 du -a "$ib" 1>&2 diff --git a/third_party/BUILD b/third_party/BUILD index 6c318b7dbb37c7..71c85bdc43c4db 100644 --- a/third_party/BUILD +++ b/third_party/BUILD @@ -146,7 +146,7 @@ java_plugin( ":apache_velocity", ":auto_common", ":auto_service_lib", - ":auto_value_value", + ":auto_value_lib", ":guava", ":jsr305", ":tomcat_annotations_api", @@ -161,7 +161,7 @@ java_plugin( ":apache_velocity", ":auto_common", ":auto_service_lib", - ":auto_value_value", + ":auto_value_lib", ":guava", ":tomcat_annotations_api", ], @@ -178,7 +178,7 @@ java_library( ":auto_service_plugin", ], exports = [ - ":auto_service_lib", + ":auto_service_api", ], ) @@ -192,6 +192,13 @@ java_plugin( ], ) +java_library( + name = "auto_service_api", + exports = [ + "@maven//:com_google_auto_service_auto_service_annotations", + ], +) + java_library( name = "auto_service_lib", exports = [ @@ -208,7 +215,7 @@ java_plugin( ":apache_velocity", ":auto_common", ":auto_service_lib", - ":auto_value_value", + ":auto_value_lib", ":guava", ":tomcat_annotations_api", ], @@ -222,7 +229,7 @@ java_plugin( ":apache_velocity", ":auto_common", ":auto_service_lib", - ":auto_value_value", + ":auto_value_lib", ":guava", ":tomcat_annotations_api", ], @@ -247,14 +254,21 @@ java_library( ":auto_value_gson_plugin", ], exports = [ - ":auto_value_value", + ":auto_value_api", ":tomcat_annotations_api", "@maven//:com_ryanharter_auto_value_auto_value_gson_runtime", ], ) java_library( - name = "auto_value_value", + name = "auto_value_api", + exports = [ + "@maven//:com_google_auto_value_auto_value_annotations", + ], +) + +java_library( + name = "auto_value_lib", exports = [ "@maven//:com_google_auto_value_auto_value", "@maven//:com_google_auto_value_auto_value_annotations", @@ -271,14 +285,6 @@ distrib_jar_filegroup( enable_distributions = ["debian"], ) -java_library( - name = "byte_buddy", - exports = [ - "@maven//:net_bytebuddy_byte_buddy", - "@maven//:net_bytebuddy_byte_buddy_agent", - ], -) - alias( name = "checker_framework_annotations", actual = "@maven//:org_checkerframework_checker_qual", @@ -294,19 +300,45 @@ alias( actual = "@maven//:com_github_ben_manes_caffeine_caffeine", ) -alias( +# When using new classes from this dependency, make sure to update fastutil.proguard. +java_import( name = "fastutil", - actual = "@maven//:it_unimi_dsi_fastutil", + jars = [":fastutil_stripped_jar"], ) -alias( - name = "hungarian_algorithm", - actual = "@maven//:com_github_kevinstern_software_and_algorithms", -) - -alias( - name = "threeten", - actual = "@maven//:org_threeten_threeten_extra", +genrule( + name = "fastutil_stripped_jar", + srcs = [ + "@maven//:it_unimi_dsi_fastutil_file", + "@rules_java//toolchains:platformclasspath", + ], + outs = ["fastutil-stripped.jar"], + cmd = """ + $(location :proguard) \ + -injars $(execpath @maven//:it_unimi_dsi_fastutil_file) \ + -outjars $@ \ + -libraryjars $(execpath @rules_java//toolchains:platformclasspath) \ + @$(location //tools:fastutil.proguard) \ + | tail -n +2 # Skip the "ProGuard, version X" line + # Null out the file times stored in the jar to make the output reproducible. + TMPDIR=$$(mktemp -d) + trap 'rm -rf $$TMPDIR' EXIT + unzip -q $@ -d $$TMPDIR + rm $@ + find $$TMPDIR -type f -print0 | xargs -0 touch -t 198001010000.00 + OUTPUT="$$(pwd)/$@" + (cd $$TMPDIR && find . -type f | LC_ALL=C sort | zip -qDX0r@ "$$OUTPUT") + """, + tools = [ + ":proguard", + "//tools:fastutil.proguard", + ], +) + +java_binary( + name = "proguard", + main_class = "proguard.ProGuard", + runtime_deps = ["@maven//:com_guardsquare_proguard_base"], ) java_library( diff --git a/third_party/proguard/BUILD b/third_party/proguard/BUILD new file mode 100644 index 00000000000000..b3d9211505eed7 --- /dev/null +++ b/third_party/proguard/BUILD @@ -0,0 +1,11 @@ +java_binary( + name = "proguard", + main_class = "proguard.ProGuard", + visibility = ["//visibility:public"], + runtime_deps = [":proguard_lib"], +) + +java_import( + name = "proguard_lib", + jars = ["lib/proguard.jar"], +) diff --git a/tools/BUILD b/tools/BUILD index 074b19461bff81..676f4803ba9032 100644 --- a/tools/BUILD +++ b/tools/BUILD @@ -2,6 +2,8 @@ load(":build_defs.bzl", "BZLMOD_ENABLED") package(default_visibility = ["//visibility:public"]) +exports_files(["fastutil.proguard"]) + filegroup( name = "srcs", srcs = glob(["**"]) + [ @@ -41,7 +43,10 @@ filegroup( # Sources in the built in repo '@bazel_tools' filegroup( name = "embedded_tools_srcs", - srcs = glob(["**"]) + [ + srcs = glob( + ["**"], + exclude = ["fastutil.proguard"], + ) + [ "//tools/allowlists:srcs", "//tools/android:embedded_tools", "//tools/bash:embedded_tools", diff --git a/tools/fastutil.proguard b/tools/fastutil.proguard new file mode 100644 index 00000000000000..47731c4a1b3440 --- /dev/null +++ b/tools/fastutil.proguard @@ -0,0 +1,8 @@ +-dontobfuscate +-dontoptimize +-keep ,includedescriptorclasses class it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap { *; } +-keep ,includedescriptorclasses class it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap { *; } +-keep ,includedescriptorclasses class it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap { *; } +# These classes access a `getChannel()` on InputStream subclasses via reflection. +-dontnote it.unimi.dsi.fastutil.io.FastBufferedInputStream +-dontnote it.unimi.dsi.fastutil.io.FastBufferedOutputStream