From 047e9821fa1f0da10cafdc78d78d43062495ad9b Mon Sep 17 00:00:00 2001 From: Simon Mavi Stewart Date: Mon, 4 Nov 2024 14:06:06 +0000 Subject: [PATCH] Update all remaining java dependencies --- .bazelrc | 3 + MODULE.bazel | 51 +- contrib_rules_jvm_deps_install.json | 465 ++++++++++++------ java/private/contrib_rules_jvm_deps.zip | Bin 357606 -> 369245 bytes .../javaparser/file/BuildFile.java | 2 + .../javaparser/generators/JavaIdentifier.java | 1 + .../generators/ClasspathParserTest.java | 1 + .../contrib_rules_jvm/junit5/BUILD.bazel | 3 + .../TestRunningSecurityManagerTest.java | 1 + tools/freeze-deps.py | 2 +- 10 files changed, 365 insertions(+), 164 deletions(-) diff --git a/.bazelrc b/.bazelrc index 0f705a85..7aa04354 100644 --- a/.bazelrc +++ b/.bazelrc @@ -11,6 +11,9 @@ build --java_language_version=17 build --tool_java_runtime_version=remotejdk_17 build --tool_java_language_version=17 +build --experimental_strict_java_deps=strict +build --explicit_java_test_deps + # Make sure we get something helpful when tests fail test --verbose_failures test --test_output=errors diff --git a/MODULE.bazel b/MODULE.bazel index 7a3f31b5..ec82f8c1 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -133,31 +133,37 @@ IO_GRPC_GRPC_JAVA_ARTIFACTS = [ "org.codehaus.mojo:animal-sniffer-annotations:1.21", ] +io_grpc_version = "1.68.1" + +slf4j_version = "1.7.32" + +spotbugs_version = "4.8.6" + maven.install( name = "contrib_rules_jvm_deps", artifacts = [ + "com.github.spotbugs:spotbugs-annotations:%s" % spotbugs_version, "com.google.code.findbugs:jsr305:3.0.2", - "com.google.errorprone:error_prone_annotations:2.11.0", - "com.google.guava:guava:30.1.1-jre", - "commons-cli:commons-cli:1.5.0", - "io.grpc:grpc-api:1.40.0", - "io.grpc:grpc-core:1.40.0", - "io.grpc:grpc-netty:1.40.0", - "io.grpc:grpc-services:1.40.0", - "io.grpc:grpc-stub:1.40.0", - "org.slf4j:slf4j-simple:1.7.32", - "com.google.googlejavaformat:google-java-format:1.15.0", + "com.google.errorprone:error_prone_annotations:2.35.1", + "com.google.googlejavaformat:google-java-format:1.24.0", + "com.google.guava:guava:33.3.1-jre", + "commons-cli:commons-cli:1.9.0", + "io.grpc:grpc-api:%s" % io_grpc_version, + "io.grpc:grpc-core:%s" % io_grpc_version, + "io.grpc:grpc-netty:%s" % io_grpc_version, + "io.grpc:grpc-services:%s" % io_grpc_version, + "io.grpc:grpc-stub:%s" % io_grpc_version, # These can be versioned independently of the versions in `repositories.bzl` # so long as the version numbers are higher. - "org.junit.jupiter:junit-jupiter-engine:5.8.2", - "org.junit.jupiter:junit-jupiter-api:5.8.2", - "org.junit.platform:junit-platform-launcher:1.8.2", - "org.junit.platform:junit-platform-reporting:1.8.2", - "org.junit.vintage:junit-vintage-engine:5.8.2", + "org.junit.jupiter:junit-jupiter-engine", + "org.junit.jupiter:junit-jupiter-api", + "org.junit.platform:junit-platform-launcher", + "org.junit.platform:junit-platform-reporting", + "org.junit.vintage:junit-vintage-engine", # Open Test Alliance for the JVM dep - "org.opentest4j:opentest4j:1.2.0", + "org.opentest4j:opentest4j:1.3.0", # Checkstyle deps "com.puppycrawl.tools:checkstyle:10.20.0", @@ -166,16 +172,23 @@ maven.install( "net.sourceforge.pmd:pmd-dist:7.7.0", # Spotbugs deps - "org.slf4j:slf4j-api:1.7.32", - "org.slf4j:slf4j-jdk14:1.7.32", + "org.slf4j:slf4j-api:%s" % slf4j_version, + "org.slf4j:slf4j-jdk14:%s" % slf4j_version, + + # Used by us at runtime + "org.slf4j:slf4j-simple:%s" % slf4j_version, # We explicitly declare a protobuf runtime version # so that it coincides with the one we use to generate the code. "com.google.protobuf:protobuf-java:{}".format(PROTOBUF_JAVA_VERSION), ] + IO_GRPC_GRPC_JAVA_ARTIFACTS, + boms = [ + "org.junit:junit-bom:5.11.3", + ], fail_if_repin_required = True, generate_compat_repositories = True, lock_file = "//:contrib_rules_jvm_deps_install.json", + resolver = "maven", strict_visibility = False, ) @@ -189,7 +202,7 @@ maven.artifact( artifact = "spotbugs", exclusions = ["org.slf4j:slf4j-api"], group = "com.github.spotbugs", - version = "4.7.0", + version = spotbugs_version, ) use_repo( maven, diff --git a/contrib_rules_jvm_deps_install.json b/contrib_rules_jvm_deps_install.json index 959ddcb1..c796563b 100755 --- a/contrib_rules_jvm_deps_install.json +++ b/contrib_rules_jvm_deps_install.json @@ -1,18 +1,7 @@ { "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", - "__INPUT_ARTIFACTS_HASH": 1807985906, - "__RESOLVED_ARTIFACTS_HASH": 2091084267, - "conflict_resolution": { - "com.google.code.gson:gson:2.9.0": "com.google.code.gson:gson:2.11.0", - "com.google.errorprone:error_prone_annotations:2.11.0": "com.google.errorprone:error_prone_annotations:2.28.0", - "com.google.guava:failureaccess:1.0.1": "com.google.guava:failureaccess:1.0.2", - "com.google.guava:guava:30.1.1-jre": "com.google.guava:guava:33.3.1-jre", - "com.google.guava:guava:31.0.1-android": "com.google.guava:guava:33.3.1-jre", - "com.google.j2objc:j2objc-annotations:1.3": "com.google.j2objc:j2objc-annotations:3.0.0", - "junit:junit:4.12": "junit:junit:4.13.2", - "org.slf4j:slf4j-api:1.7.32": "org.slf4j:slf4j-api:1.7.36", - "org.slf4j:slf4j-simple:1.7.32": "org.slf4j:slf4j-simple:1.7.36" - }, + "__INPUT_ARTIFACTS_HASH": 309274292, + "__RESOLVED_ARTIFACTS_HASH": -1804778098, "artifacts": { "com.fasterxml.jackson.core:jackson-core": { "shasums": { @@ -46,15 +35,21 @@ }, "com.github.spotbugs:spotbugs": { "shasums": { - "jar": "94c44d86c83b8fe63b20023e510874aef721b1081982051706e1da841572f295" + "jar": "69fde8787971a26b2372d416015d806bf7df4f847f7121bd5eeef239324cf180" }, - "version": "4.7.0" + "version": "4.8.6" }, "com.github.spotbugs:spotbugs-annotations": { "shasums": { - "jar": "8e6677102aa0de50841644cf9a57d6d503550ad774049a76c75bf157a8beebd5" + "jar": "4548b74a815ed44f5480ca4f06204a8b00809dc7e5f6a825a9edf18f40377b65" }, - "version": "4.7.0" + "version": "4.8.6" + }, + "com.github.stephenc.jcip:jcip-annotations": { + "shasums": { + "jar": "4fccff8382aafc589962c4edb262f6aa595e34f1e11e61057d1c6a96e8fc7323" + }, + "version": "1.0-1" }, "com.google.android:annotations": { "shasums": { @@ -100,15 +95,15 @@ }, "com.google.code.gson:gson": { "shasums": { - "jar": "57928d6e5a6edeb2abd3770a8f95ba44dce45f3b23b7a9dc2b309c581552a78b" + "jar": "c96d60551331a196dac54b745aa642cd078ef89b6f267146b705f2c2cbef052d" }, - "version": "2.11.0" + "version": "2.9.0" }, "com.google.errorprone:error_prone_annotations": { "shasums": { - "jar": "f3fc8a3a0a4020706a373b00e7f57c2512dd26d1f83d28c7d38768f8682b231e" + "jar": "03b63fee38e3a86fda311af5a0357e64eea44909aab5251ed178119270508ff5" }, - "version": "2.28.0" + "version": "2.35.1" }, "com.google.flogger:flogger": { "shasums": { @@ -124,15 +119,15 @@ }, "com.google.googlejavaformat:google-java-format": { "shasums": { - "jar": "4f546cfe159547ac3b9547daa9649e728f6abc254979c975f1cb9971793692c3" + "jar": "9a4e0b9f4ec4d71a8a1d3641fd481118100fda2eeab712dbdfd4b2a06e9de4ce" }, - "version": "1.15.0" + "version": "1.24.0" }, "com.google.guava:failureaccess": { "shasums": { - "jar": "8a8f81cf9b359e3f6dfa691a1e776985c061ef2f223c9b2c80753e1b458e8064" + "jar": "a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26" }, - "version": "1.0.2" + "version": "1.0.1" }, "com.google.guava:guava": { "shasums": { @@ -160,9 +155,9 @@ }, "com.google.j2objc:j2objc-annotations": { "shasums": { - "jar": "88241573467ddca44ffd4d74aa04c2bbfd11bf7c17e0c342c94c9de7a70a7c64" + "jar": "21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b" }, - "version": "3.0.0" + "version": "1.3" }, "com.google.protobuf:protobuf-java": { "shasums": { @@ -172,9 +167,9 @@ }, "com.google.protobuf:protobuf-java-util": { "shasums": { - "jar": "849925333aac23f46f9a154a52e441117017d5673e04e5636993bcc3cf1924d9" + "jar": "dacc58b2c3d2fa8d4bddc1acb881e78d6cf7c137dd78bc1d67f6aca732436a8d" }, - "version": "3.17.2" + "version": "3.25.5" }, "com.google.re2j:re2j": { "shasums": { @@ -286,9 +281,9 @@ }, "commons-cli:commons-cli": { "shasums": { - "jar": "bc8bb01fc0fad250385706e20f927ddcff6173f6339b387dc879237752567ac6" + "jar": "d3d530d0f28fd0fbbffe2b0b338f70e8cb96f1605579e2e3abd4db29cac24e69" }, - "version": "1.5.0" + "version": "1.9.0" }, "commons-codec:commons-codec": { "shasums": { @@ -358,51 +353,57 @@ }, "io.grpc:grpc-api": { "shasums": { - "jar": "e8996c17a0ff6665c3463f6800259a3755aa3d4863c5d51737b93b11e818a0bd" + "jar": "d88d815e07fe58a7572dda5d2823485b61706564f289a1e74281705d50ac2d5b" }, - "version": "1.40.0" + "version": "1.68.1" }, "io.grpc:grpc-context": { "shasums": { - "jar": "31882abfcecc8d09ca87a4f514414c3abe0d8cd2a62b379249eb56d63edb9974" + "jar": "1df4f0310a7e7836bc2948afa95105f5ee27b5d468488aded74e7ff620359076" }, - "version": "1.40.0" + "version": "1.68.1" }, "io.grpc:grpc-core": { "shasums": { - "jar": "8d712597726a0478ed0a5e05cc5662e1a6b7b9efbe2d585d43c947ec94275b8b" + "jar": "e1eddfe433aa850783cb6af9ad6da1ad3dfe2fb9b4c385b9a98d7a596e4d382a" }, - "version": "1.40.0" + "version": "1.68.1" }, "io.grpc:grpc-netty": { "shasums": { - "jar": "288f20dddbb78319e043ecd47e69f8eec1c6ac8fafae5ffb431315cbcb55d11d" + "jar": "1bf33f36496c4fffa7b83cab9215ab2967f00e483270d87f1c17b23e5722a13f" }, - "version": "1.40.0" + "version": "1.68.1" }, "io.grpc:grpc-protobuf": { "shasums": { - "jar": "f6598354276a1511320e452a18483732632c9a73a2372b9ec0a66c9a8248f298" + "jar": "75329d9aa328a0b1feef6803d59b93b527bceed9c97ceaaa0f8bd2d78ce98d14" }, - "version": "1.40.0" + "version": "1.68.1" }, "io.grpc:grpc-protobuf-lite": { "shasums": { - "jar": "8bfc88d763eab03e7278ee3679e5c6ac0e8263c74eeaec3925dd1125a2bddade" + "jar": "f039759f64d365e7495a05bebee938713c85720236b91f628c21a7c3bc7f98de" }, - "version": "1.40.0" + "version": "1.68.1" }, "io.grpc:grpc-services": { "shasums": { - "jar": "45c4b3194960bfdf322300d18009bd1bbc786a84fb7f091ddc9cd847fb13c100" + "jar": "43b4cca51788ad219eb8e688cf646f35ba41118a5d2a38281d7cfcc73927d947" }, - "version": "1.40.0" + "version": "1.68.1" }, "io.grpc:grpc-stub": { "shasums": { - "jar": "fbb5cede6583efc9c3b74ba934f49fbb82c9f0e5f9dab45bcfb2f1835c0545cb" + "jar": "3d0260ba925cdeb63930b672daac815245f1c76d67ec111dd82e4dac6c9abd47" + }, + "version": "1.68.1" + }, + "io.grpc:grpc-util": { + "shasums": { + "jar": "d489e40de9209981272fb9e7b0f61a5f0e5c1ce230195a5f23fb1078cd1baade" }, - "version": "1.40.0" + "version": "1.68.1" }, "io.methvin:directory-watcher": { "shasums": { @@ -543,15 +544,15 @@ }, "jaxen:jaxen": { "shasums": { - "jar": "70feef9dd75ad064def05a3ce8975aeba515ee7d1be146d12199c8828a64174c" + "jar": "9499e487a66268f47b8307d130cd1e13a58392105e98a51f6a525db79c615cc5" }, - "version": "1.2.0" + "version": "2.0.0" }, "junit:junit": { "shasums": { - "jar": "8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3" + "jar": "59721f0805e223d84b90677887d9ff567dc534d7c502ca903c0c2b17f05c116a" }, - "version": "4.13.2" + "version": "4.12" }, "me.tongfei:progressbar": { "shasums": { @@ -565,17 +566,11 @@ }, "version": "5.12.1" }, - "net.jcip:jcip-annotations": { - "shasums": { - "jar": "be5805392060c71474bf6c9a67a099471274d30b83eef84bfc4e0889a4f1dcc0" - }, - "version": "1.0" - }, "net.sf.saxon:Saxon-HE": { "shasums": { - "jar": "98c3a91e6e5aaf9b3e2b37601e04b214a6e67098493cdd8232fcb705fddcb674" + "jar": "575f8b696e3b6f9aa7a3bf01611b8bf1b84576b55ce29bc16656a53a147ef441" }, - "version": "12.5" + "version": "12.4" }, "net.sourceforge.pmd:pmd-ant": { "shasums": { @@ -697,9 +692,9 @@ }, "version": "7.7.0" }, - "net.sourceforge.pmd:pmd-languages-deps:pom": { + "net.sourceforge.pmd:pmd-languages-deps": { "shasums": { - "jar": "c2baf0a9a1fcc9f82b95c95692d8a75d9c147500cfee0c2d96e965b982d66bde" + "jar": null }, "version": "7.7.0" }, @@ -801,9 +796,9 @@ }, "org.apache.bcel:bcel": { "shasums": { - "jar": "bdeb381d0d19999e221e6a0f8d8bf44f5b19c2e57eabf68b70dc098652aefaf5" + "jar": "a119a4420350dea669acfd84120ecc7e5742dcabcc82b0b9f9755dc692335aa2" }, - "version": "6.5.0" + "version": "6.9.0" }, "org.apache.commons:commons-lang3": { "shasums": { @@ -813,9 +808,9 @@ }, "org.apache.commons:commons-text": { "shasums": { - "jar": "0812f284ac5dd0d617461d9a2ab6ac6811137f25122dfffd4788a4871e732d00" + "jar": "770cd903fa7b604d1f7ef7ba17f84108667294b2b478be8ed1af3bffb4ae0018" }, - "version": "1.9" + "version": "1.10.0" }, "org.apache.groovy:groovy": { "shasums": { @@ -853,6 +848,18 @@ }, "version": "4.4.14" }, + "org.apache.logging.log4j:log4j-api": { + "shasums": { + "jar": "92ec1fd36ab3bc09de6198d2d7c0914685c0f7127ea931acc32fd2ecdd82ea89" + }, + "version": "2.23.1" + }, + "org.apache.logging.log4j:log4j-core": { + "shasums": { + "jar": "7079368005fc34f56248f57f8a8a53361c3a53e9007d556dbc66fc669df081b5" + }, + "version": "2.23.1" + }, "org.apache.maven.doxia:doxia-core": { "shasums": { "jar": "5e49cd827bebbcea5829d3b3883d17ad1ce15ebd6394aeb50ad50d7dfd939fcd" @@ -903,9 +910,9 @@ }, "org.checkerframework:checker-qual": { "shasums": { - "jar": "21e8dfe8103e125d96a329653ca81e87ac430326dbdbf299cea3dc1ae3f039a2" + "jar": "3fbc2e98f05854c3df16df9abaa955b91b15b3ecac33623208ed6424640ef0f6" }, - "version": "3.48.1" + "version": "3.43.0" }, "org.codehaus.mojo:animal-sniffer-annotations": { "shasums": { @@ -945,9 +952,9 @@ }, "org.dom4j:dom4j": { "shasums": { - "jar": "549f3007c6290f6a901e57d1d331b4ed0e6bf7384f78bf10316ffceeca834de6" + "jar": "235a9167a8a199be04b5326d92927ca0adeb90d11f69fe2e821b34ce8433b591" }, - "version": "2.1.3" + "version": "2.1.4" }, "org.hamcrest:hamcrest-core": { "shasums": { @@ -999,45 +1006,45 @@ }, "org.junit.jupiter:junit-jupiter-api": { "shasums": { - "jar": "1808ee87e0f718cd6e25f3b75afc17956ac8a3edc48c7e9bab9f19f9a79e3801" + "jar": "5d8147a60f49453973e250ed68701b7ff055964fe2462fc2cb1ec1d6d44889ba" }, - "version": "5.8.2" + "version": "5.11.3" }, "org.junit.jupiter:junit-jupiter-engine": { "shasums": { - "jar": "753b7726cdd158bb34cedb94c161e2291896f47832a1e9eda53d970020a8184e" + "jar": "e62420c99f7c0d59a2159a2ef63e61877e9c80bd722c03ca8bf3bdcea050a589" }, - "version": "5.8.2" + "version": "5.11.3" }, "org.junit.platform:junit-platform-commons": { "shasums": { - "jar": "d2e015fca7130e79af2f4608dc54415e4b10b592d77333decb4b1a274c185050" + "jar": "be262964b0b6b48de977c61d4f931df8cf61e80e750cc3f3a0a39cdd21c1008c" }, - "version": "1.8.2" + "version": "1.11.3" }, "org.junit.platform:junit-platform-engine": { "shasums": { - "jar": "0b7d000f8c3e8e5f7d6b819649936e7b9938314e87c8f983805218ea57567e59" + "jar": "0043f72f611664735da8dc9a308bf12ecd2236b05339351c4741edb4d8fab0da" }, - "version": "1.8.2" + "version": "1.11.3" }, "org.junit.platform:junit-platform-launcher": { "shasums": { - "jar": "822156409fd83e682e4c5199b3460054299b538a058c2c6d0f5c9b6a5bdb7594" + "jar": "b4727459201b0011beb0742bd807421a1fc8426b116193031ed87825bc2d4f04" }, - "version": "1.8.2" + "version": "1.11.3" }, "org.junit.platform:junit-platform-reporting": { "shasums": { - "jar": "d28048333b378d166f9ad38c2a8e34ac0fa1a29cc016cb279df53c8b54628fc3" + "jar": "b8e19dbebcae7d1ff30b9d767047fbf3694027c33dfa423b371693b7f6679ed1" }, - "version": "1.8.2" + "version": "1.11.3" }, "org.junit.vintage:junit-vintage-engine": { "shasums": { - "jar": "ebd567b84e380d5373c47de3c9616d84f7bef91f9f8a8e7fc925be68240c1ba4" + "jar": "d58022419bc76b3df4f479a2b3599d95e24464cd68fb7c2267f1a1a871215c47" }, - "version": "5.8.2" + "version": "5.11.3" }, "org.mozilla:rhino": { "shasums": { @@ -1047,9 +1054,9 @@ }, "org.opentest4j:opentest4j": { "shasums": { - "jar": "58812de60898d976fb81ef3b62da05c6604c18fd4a249f5044282479fc286af2" + "jar": "48e2df636cab6563ced64dcdff8abb2355627cb236ef0bf37598682ddf742f1b" }, - "version": "1.2.0" + "version": "1.3.0" }, "org.ow2.asm:asm": { "shasums": { @@ -1059,27 +1066,27 @@ }, "org.ow2.asm:asm-analysis": { "shasums": { - "jar": "37fd5392bb2cf4c15f202ffefd46d0e92bb34ff848c549f30d426a60d6b29495" + "jar": "7bc6bcbc21379948a0c8c467fb0f864206e5b818f6bc0b546872f5c9f941556f" }, - "version": "9.3" + "version": "9.7" }, "org.ow2.asm:asm-commons": { "shasums": { - "jar": "a347c24732db2aead106b6e5996a015b06a3ef86e790a4f75b61761f0d2f7f39" + "jar": "389bc247958e049fc9a0408d398c92c6d370c18035120395d4cba1d9d9304b7a" }, - "version": "9.3" + "version": "9.7" }, "org.ow2.asm:asm-tree": { "shasums": { - "jar": "ae629c2609f39681ef8d140a42a23800464a94f2d23e36d8f25cd10d5e4caff4" + "jar": "62f4b3bc436045c1acb5c3ba2d8ec556ec3369093d7f5d06c747eb04b56d52b1" }, - "version": "9.3" + "version": "9.7" }, "org.ow2.asm:asm-util": { "shasums": { - "jar": "70f78f291ca0298afdb567fa85c5667869bc3da3914784816413853994962192" + "jar": "37a6414d36641973f1af104937c95d6d921b2ddb4d612c66c5a9f2b13fc14211" }, - "version": "9.3" + "version": "9.7" }, "org.pcollections:pcollections": { "shasums": { @@ -1101,9 +1108,9 @@ }, "org.scala-lang.modules:scala-collection-compat_2.13": { "shasums": { - "jar": "0c1108883b7b97851750e8932f9584346ccb23f1260c197f97295ac2e6c56cec" + "jar": "9b8cc6028dab5813fe751950382499d655fe8777e2c4b07368eaa9d1116e049c" }, - "version": "2.11.0" + "version": "2.8.1" }, "org.scala-lang.modules:scala-parallel-collections_2.13": { "shasums": { @@ -1155,9 +1162,9 @@ }, "org.slf4j:slf4j-api": { "shasums": { - "jar": "d3ef575e3e4979678dc01bf1dcce51021493b4d11fb7f1be8ad982877c16a1c0" + "jar": "3624f8474c1af46d75f98bc097d7864a323c81b3808aa43689a6e1c601c027be" }, - "version": "1.7.36" + "version": "1.7.32" }, "org.slf4j:slf4j-jdk14": { "shasums": { @@ -1167,9 +1174,9 @@ }, "org.slf4j:slf4j-simple": { "shasums": { - "jar": "2f39bed943d624dfa8f4102d0571283a10870b6aa36f197a8a506f147010c10f" + "jar": "d2fdd7b73ca2019a2062d145a0d86179a58f98c8c3e35ca7c735a27b3b5621c3" }, - "version": "1.7.36" + "version": "1.7.32" }, "org.xmlresolver:xmlresolver": { "shasums": { @@ -1179,6 +1186,31 @@ "version": "5.2.2" } }, + "conflict_resolution": { + "info.picocli:picocli:4.7.5": "info.picocli:picocli:4.7.6", + "io.github.apex-dev-tools:apex-parser:4.0.0": "io.github.apex-dev-tools:apex-parser:4.3.0", + "io.github.apex-dev-tools:apex-parser:4.1.0": "io.github.apex-dev-tools:apex-parser:4.3.0", + "io.grpc:grpc-context:1.22.1": "io.grpc:grpc-context:1.68.1", + "net.sf.saxon:Saxon-HE:12.5": "net.sf.saxon:Saxon-HE:12.4", + "org.antlr:antlr4-runtime:4.9.1": "org.antlr:antlr4-runtime:4.13.2", + "org.antlr:antlr4-runtime:4.9.3": "org.antlr:antlr4-runtime:4.13.2", + "org.apache.commons:commons-lang3:3.12.0": "org.apache.commons:commons-lang3:3.14.0", + "org.apache.commons:commons-lang3:3.8.1": "org.apache.commons:commons-lang3:3.14.0", + "org.apache.commons:commons-text:1.3": "org.apache.commons:commons-text:1.10.0", + "org.apache.httpcomponents:httpcore:4.4.13": "org.apache.httpcomponents:httpcore:4.4.14", + "org.checkerframework:checker-compat-qual:2.5.3": "org.checkerframework:checker-compat-qual:2.5.5", + "org.checkerframework:checker-qual:3.42.0": "org.checkerframework:checker-qual:3.43.0", + "org.checkerframework:checker-qual:3.48.1": "org.checkerframework:checker-qual:3.43.0", + "org.codehaus.plexus:plexus-utils:3.1.1": "org.codehaus.plexus:plexus-utils:3.3.0", + "org.scala-lang.modules:scala-collection-compat_2.13:2.1.4": "org.scala-lang.modules:scala-collection-compat_2.13:2.8.1", + "org.scala-lang.modules:scala-collection-compat_2.13:2.11.0": "org.scala-lang.modules:scala-collection-compat_2.13:2.8.1", + "org.scala-lang:scala-library:2.13.0": "org.scala-lang:scala-library:2.13.13", + "org.scala-lang:scala-library:2.13.1": "org.scala-lang:scala-library:2.13.13", + "org.scala-lang:scala-library:2.13.10": "org.scala-lang:scala-library:2.13.13", + "org.scala-lang:scala-library:2.13.12": "org.scala-lang:scala-library:2.13.13", + "org.scala-lang:scala-library:2.13.3": "org.scala-lang:scala-library:2.13.13", + "org.scala-lang:scala-library:2.13.8": "org.scala-lang:scala-library:2.13.13" + }, "dependencies": { "com.github.nawforce:scala-json-rpc-upickle-json-serializer_2.13": [ "com.github.nawforce:scala-json-rpc_2.13", @@ -1196,13 +1228,14 @@ ], "com.github.spotbugs:spotbugs": [ "com.github.spotbugs:spotbugs-annotations", + "com.github.stephenc.jcip:jcip-annotations", "com.google.code.gson:gson", "jaxen:jaxen", - "net.jcip:jcip-annotations", "net.sf.saxon:Saxon-HE", "org.apache.bcel:bcel", "org.apache.commons:commons-lang3", "org.apache.commons:commons-text", + "org.apache.logging.log4j:log4j-core", "org.dom4j:dom4j", "org.ow2.asm:asm", "org.ow2.asm:asm-analysis", @@ -1224,9 +1257,6 @@ "com.google.http-client:google-http-client", "com.google.http-client:google-http-client-jackson2" ], - "com.google.code.gson:gson": [ - "com.google.errorprone:error_prone_annotations" - ], "com.google.flogger:flogger": [ "org.checkerframework:checker-compat-qual" ], @@ -1259,9 +1289,11 @@ "com.google.http-client:google-http-client" ], "com.google.protobuf:protobuf-java-util": [ + "com.google.code.findbugs:jsr305", "com.google.code.gson:gson", "com.google.errorprone:error_prone_annotations", "com.google.guava:guava", + "com.google.j2objc:j2objc-annotations", "com.google.protobuf:protobuf-java" ], "com.google.summit:summit-ast": [ @@ -1378,8 +1410,10 @@ "io.grpc:grpc-api": [ "com.google.code.findbugs:jsr305", "com.google.errorprone:error_prone_annotations", - "com.google.guava:guava", - "io.grpc:grpc-context" + "com.google.guava:guava" + ], + "io.grpc:grpc-context": [ + "io.grpc:grpc-api" ], "io.grpc:grpc-core": [ "com.google.android:annotations", @@ -1387,15 +1421,19 @@ "com.google.errorprone:error_prone_annotations", "com.google.guava:guava", "io.grpc:grpc-api", + "io.grpc:grpc-context", "io.perfmark:perfmark-api", "org.codehaus.mojo:animal-sniffer-annotations" ], "io.grpc:grpc-netty": [ "com.google.errorprone:error_prone_annotations", "com.google.guava:guava", + "io.grpc:grpc-api", "io.grpc:grpc-core", + "io.grpc:grpc-util", "io.netty:netty-codec-http2", "io.netty:netty-handler-proxy", + "io.netty:netty-transport-native-unix-common", "io.perfmark:perfmark-api" ], "io.grpc:grpc-protobuf": [ @@ -1412,17 +1450,26 @@ "io.grpc:grpc-api" ], "io.grpc:grpc-services": [ + "com.google.code.gson:gson", "com.google.errorprone:error_prone_annotations", "com.google.guava:guava", "com.google.protobuf:protobuf-java-util", "io.grpc:grpc-core", "io.grpc:grpc-protobuf", - "io.grpc:grpc-stub" + "io.grpc:grpc-stub", + "io.grpc:grpc-util" ], "io.grpc:grpc-stub": [ + "com.google.errorprone:error_prone_annotations", "com.google.guava:guava", "io.grpc:grpc-api" ], + "io.grpc:grpc-util": [ + "com.google.guava:guava", + "io.grpc:grpc-api", + "io.grpc:grpc-core", + "org.codehaus.mojo:animal-sniffer-annotations" + ], "io.methvin:directory-watcher": [ "net.java.dev.jna:jna", "org.slf4j:slf4j-api" @@ -1492,36 +1539,31 @@ "io.netty:netty-tcnative-boringssl-static:jar:linux-x86_64", "io.netty:netty-tcnative-boringssl-static:jar:osx-aarch_64", "io.netty:netty-tcnative-boringssl-static:jar:osx-x86_64", - "io.netty:netty-tcnative-boringssl-static:jar:windows-x86_64", - "io.netty:netty-tcnative-classes" + "io.netty:netty-tcnative-boringssl-static:jar:windows-x86_64" ], "io.netty:netty-tcnative-boringssl-static:jar:linux-x86_64": [ "io.netty:netty-tcnative-boringssl-static:jar:linux-aarch_64", "io.netty:netty-tcnative-boringssl-static:jar:osx-aarch_64", "io.netty:netty-tcnative-boringssl-static:jar:osx-x86_64", - "io.netty:netty-tcnative-boringssl-static:jar:windows-x86_64", - "io.netty:netty-tcnative-classes" + "io.netty:netty-tcnative-boringssl-static:jar:windows-x86_64" ], "io.netty:netty-tcnative-boringssl-static:jar:osx-aarch_64": [ "io.netty:netty-tcnative-boringssl-static:jar:linux-aarch_64", "io.netty:netty-tcnative-boringssl-static:jar:linux-x86_64", "io.netty:netty-tcnative-boringssl-static:jar:osx-x86_64", - "io.netty:netty-tcnative-boringssl-static:jar:windows-x86_64", - "io.netty:netty-tcnative-classes" + "io.netty:netty-tcnative-boringssl-static:jar:windows-x86_64" ], "io.netty:netty-tcnative-boringssl-static:jar:osx-x86_64": [ "io.netty:netty-tcnative-boringssl-static:jar:linux-aarch_64", "io.netty:netty-tcnative-boringssl-static:jar:linux-x86_64", "io.netty:netty-tcnative-boringssl-static:jar:osx-aarch_64", - "io.netty:netty-tcnative-boringssl-static:jar:windows-x86_64", - "io.netty:netty-tcnative-classes" + "io.netty:netty-tcnative-boringssl-static:jar:windows-x86_64" ], "io.netty:netty-tcnative-boringssl-static:jar:windows-x86_64": [ "io.netty:netty-tcnative-boringssl-static:jar:linux-aarch_64", "io.netty:netty-tcnative-boringssl-static:jar:linux-x86_64", "io.netty:netty-tcnative-boringssl-static:jar:osx-aarch_64", - "io.netty:netty-tcnative-boringssl-static:jar:osx-x86_64", - "io.netty:netty-tcnative-classes" + "io.netty:netty-tcnative-boringssl-static:jar:osx-x86_64" ], "io.netty:netty-transport": [ "io.netty:netty-buffer", @@ -1621,7 +1663,7 @@ "net.sourceforge.pmd:pmd-cli", "net.sourceforge.pmd:pmd-core", "net.sourceforge.pmd:pmd-designer", - "net.sourceforge.pmd:pmd-languages-deps:pom", + "net.sourceforge.pmd:pmd-languages-deps", "org.apache.commons:commons-lang3", "org.slf4j:slf4j-simple" ], @@ -1668,7 +1710,7 @@ "net.sourceforge.pmd:pmd-core", "org.antlr:antlr4-runtime" ], - "net.sourceforge.pmd:pmd-languages-deps:pom": [ + "net.sourceforge.pmd:pmd-languages-deps": [ "net.sourceforge.pmd:pmd-apex", "net.sourceforge.pmd:pmd-coco", "net.sourceforge.pmd:pmd-cpp", @@ -1755,14 +1797,16 @@ "net.sourceforge.pmd:pmd-core", "org.antlr:antlr4-runtime" ], + "org.apache.bcel:bcel": [ + "org.apache.commons:commons-lang3" + ], "org.apache.commons:commons-text": [ "org.apache.commons:commons-lang3" ], "org.apache.httpcomponents.client5:httpclient5": [ "commons-codec:commons-codec", "org.apache.httpcomponents.core5:httpcore5", - "org.apache.httpcomponents.core5:httpcore5-h2", - "org.slf4j:slf4j-api" + "org.apache.httpcomponents.core5:httpcore5-h2" ], "org.apache.httpcomponents.core5:httpcore5-h2": [ "org.apache.httpcomponents.core5:httpcore5" @@ -1771,6 +1815,9 @@ "commons-logging:commons-logging", "org.apache.httpcomponents:httpcore" ], + "org.apache.logging.log4j:log4j-core": [ + "org.apache.logging.log4j:log4j-api" + ], "org.apache.maven.doxia:doxia-core": [ "org.apache.commons:commons-lang3", "org.apache.commons:commons-text", @@ -1849,7 +1896,6 @@ ], "org.ow2.asm:asm-commons": [ "org.ow2.asm:asm", - "org.ow2.asm:asm-analysis", "org.ow2.asm:asm-tree" ], "org.ow2.asm:asm-tree": [ @@ -1973,6 +2019,7 @@ "edu.umd.cs.findbugs.classfile.engine.bcel", "edu.umd.cs.findbugs.classfile.impl", "edu.umd.cs.findbugs.config", + "edu.umd.cs.findbugs.cwe", "edu.umd.cs.findbugs.detect", "edu.umd.cs.findbugs.filter", "edu.umd.cs.findbugs.graph", @@ -1997,6 +2044,9 @@ "com.github.spotbugs:spotbugs-annotations": [ "edu.umd.cs.findbugs.annotations" ], + "com.github.stephenc.jcip:jcip-annotations": [ + "net.jcip.annotations" + ], "com.google.android:annotations": [ "android.annotation" ], @@ -2088,7 +2138,8 @@ "com.google.googlejavaformat", "com.google.googlejavaformat.java", "com.google.googlejavaformat.java.filer", - "com.google.googlejavaformat.java.java14", + "com.google.googlejavaformat.java.java17", + "com.google.googlejavaformat.java.java21", "com.google.googlejavaformat.java.javadoc" ], "com.google.guava:failureaccess": [ @@ -2414,13 +2465,8 @@ "io.grpc:grpc-api": [ "io.grpc" ], - "io.grpc:grpc-context": [ - "io.grpc" - ], "io.grpc:grpc-core": [ - "io.grpc.inprocess", - "io.grpc.internal", - "io.grpc.util" + "io.grpc.internal" ], "io.grpc:grpc-netty": [ "io.grpc.netty" @@ -2437,6 +2483,7 @@ "io.grpc.health.v1", "io.grpc.protobuf.services", "io.grpc.protobuf.services.internal", + "io.grpc.reflection.v1", "io.grpc.reflection.v1alpha", "io.grpc.services" ], @@ -2444,6 +2491,9 @@ "io.grpc.stub", "io.grpc.stub.annotations" ], + "io.grpc:grpc-util": [ + "io.grpc.util" + ], "io.methvin:directory-watcher": [ "io.methvin.watcher", "io.methvin.watcher.changeset", @@ -2610,10 +2660,8 @@ "org.junit.experimental.theories", "org.junit.experimental.theories.internal", "org.junit.experimental.theories.suppliers", - "org.junit.function", "org.junit.internal", "org.junit.internal.builders", - "org.junit.internal.management", "org.junit.internal.matchers", "org.junit.internal.requests", "org.junit.internal.runners", @@ -2640,9 +2688,6 @@ "com.sun.jna.ptr", "com.sun.jna.win32" ], - "net.jcip:jcip-annotations": [ - "net.jcip.annotations" - ], "net.sf.saxon:Saxon-HE": [ "net.sf.saxon", "net.sf.saxon.dom", @@ -3093,6 +3138,7 @@ "org.apache.commons.text.io", "org.apache.commons.text.lookup", "org.apache.commons.text.matcher", + "org.apache.commons.text.numbers", "org.apache.commons.text.similarity", "org.apache.commons.text.translate" ], @@ -3339,6 +3385,72 @@ "org.apache.http.ssl", "org.apache.http.util" ], + "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.maven.doxia:doxia-core": [ "org.apache.maven.doxia", "org.apache.maven.doxia.document", @@ -3396,14 +3508,12 @@ "org.checkerframework.checker.interning.qual", "org.checkerframework.checker.lock.qual", "org.checkerframework.checker.mustcall.qual", - "org.checkerframework.checker.nonempty.qual", "org.checkerframework.checker.nullness.qual", "org.checkerframework.checker.optional.qual", "org.checkerframework.checker.propkey.qual", "org.checkerframework.checker.regex.qual", "org.checkerframework.checker.signature.qual", "org.checkerframework.checker.signedness.qual", - "org.checkerframework.checker.sqlquotes.qual", "org.checkerframework.checker.tainting.qual", "org.checkerframework.checker.units.qual", "org.checkerframework.common.aliasing.qual", @@ -3631,6 +3741,7 @@ "org.junit.platform.commons.function", "org.junit.platform.commons.logging", "org.junit.platform.commons.support", + "org.junit.platform.commons.support.conversion", "org.junit.platform.commons.util" ], "org.junit.platform:junit-platform-engine": [ @@ -3641,7 +3752,8 @@ "org.junit.platform.engine.support.descriptor", "org.junit.platform.engine.support.discovery", "org.junit.platform.engine.support.filter", - "org.junit.platform.engine.support.hierarchical" + "org.junit.platform.engine.support.hierarchical", + "org.junit.platform.engine.support.store" ], "org.junit.platform:junit-platform-launcher": [ "org.junit.platform.launcher", @@ -3653,7 +3765,13 @@ ], "org.junit.platform:junit-platform-reporting": [ "org.junit.platform.reporting.legacy", - "org.junit.platform.reporting.legacy.xml" + "org.junit.platform.reporting.legacy.xml", + "org.junit.platform.reporting.open.xml", + "org.junit.platform.reporting.shadow.org.opentest4j.reporting.events.api", + "org.junit.platform.reporting.shadow.org.opentest4j.reporting.events.core", + "org.junit.platform.reporting.shadow.org.opentest4j.reporting.events.java", + "org.junit.platform.reporting.shadow.org.opentest4j.reporting.events.root", + "org.junit.platform.reporting.shadow.org.opentest4j.reporting.schema" ], "org.junit.vintage:junit-vintage-engine": [ "org.junit.vintage.engine", @@ -3721,8 +3839,7 @@ "org.scala-lang.modules:scala-collection-compat_2.13": [ "scala.collection.compat", "scala.collection.compat.immutable", - "scala.util.control.compat", - "scala.util.matching.compat" + "scala.util.control.compat" ], "org.scala-lang.modules:scala-parallel-collections_2.13": [ "scala.collection", @@ -3880,6 +3997,7 @@ "com.github.pathikrit:better-files_2.13", "com.github.spotbugs:spotbugs", "com.github.spotbugs:spotbugs-annotations", + "com.github.stephenc.jcip:jcip-annotations", "com.google.android:annotations", "com.google.api.grpc:proto-google-common-protos", "com.google.auth:google-auth-library-credentials", @@ -3938,6 +4056,7 @@ "io.grpc:grpc-protobuf-lite", "io.grpc:grpc-services", "io.grpc:grpc-stub", + "io.grpc:grpc-util", "io.methvin:directory-watcher", "io.methvin:directory-watcher-better-files_2.13", "io.netty:netty-buffer", @@ -3969,7 +4088,6 @@ "junit:junit", "me.tongfei:progressbar", "net.java.dev.jna:jna", - "net.jcip:jcip-annotations", "net.sf.saxon:Saxon-HE", "net.sourceforge.pmd:pmd-ant", "net.sourceforge.pmd:pmd-apex", @@ -3991,7 +4109,7 @@ "net.sourceforge.pmd:pmd-jsp", "net.sourceforge.pmd:pmd-julia", "net.sourceforge.pmd:pmd-kotlin", - "net.sourceforge.pmd:pmd-languages-deps:pom", + "net.sourceforge.pmd:pmd-languages-deps", "net.sourceforge.pmd:pmd-lua", "net.sourceforge.pmd:pmd-matlab", "net.sourceforge.pmd:pmd-modelica", @@ -4017,6 +4135,8 @@ "org.apache.httpcomponents.core5:httpcore5-h2", "org.apache.httpcomponents:httpclient", "org.apache.httpcomponents:httpcore", + "org.apache.logging.log4j:log4j-api", + "org.apache.logging.log4j:log4j-core", "org.apache.maven.doxia:doxia-core", "org.apache.maven.doxia:doxia-logging-api", "org.apache.maven.doxia:doxia-module-xdoc", @@ -4104,12 +4224,14 @@ "com.google.googlejavaformat:google-java-format": { "java.util.spi.ToolProvider": [ "com.google.googlejavaformat.java.GoogleJavaFormatToolProvider" + ], + "javax.tools.Tool": [ + "com.google.googlejavaformat.java.GoogleJavaFormatTool" ] }, "io.grpc:grpc-core": { "io.grpc.LoadBalancerProvider": [ - "io.grpc.internal.PickFirstLoadBalancerProvider", - "io.grpc.util.SecretRoundRobinLoadBalancerProvider$Provider" + "io.grpc.internal.PickFirstLoadBalancerProvider" ], "io.grpc.NameResolverProvider": [ "io.grpc.internal.DnsNameResolverProvider" @@ -4117,7 +4239,11 @@ }, "io.grpc:grpc-netty": { "io.grpc.ManagedChannelProvider": [ - "io.grpc.netty.NettyChannelProvider" + "io.grpc.netty.NettyChannelProvider", + "io.grpc.netty.UdsNettyChannelProvider" + ], + "io.grpc.NameResolverProvider": [ + "io.grpc.netty.UdsNameResolverProvider" ], "io.grpc.ServerProvider": [ "io.grpc.netty.NettyServerProvider" @@ -4128,6 +4254,12 @@ "io.grpc.protobuf.services.internal.HealthCheckingRoundRobinLoadBalancerProvider" ] }, + "io.grpc:grpc-util": { + "io.grpc.LoadBalancerProvider": [ + "io.grpc.util.OutlierDetectionLoadBalancerProvider", + "io.grpc.util.SecretRoundRobinLoadBalancerProvider$Provider" + ] + }, "io.netty:netty-common": { "reactor.blockhound.integration.BlockHoundIntegration": [ "io.netty.util.internal.Hidden$NettyBlockHoundIntegration" @@ -4311,6 +4443,26 @@ "groovy.grape.GrabAnnotationTransformation" ] }, + "org.apache.logging.log4j:log4j-api": { + "org.apache.logging.log4j.util.PropertySource": [ + "org.apache.logging.log4j.util.EnvironmentPropertySource", + "org.apache.logging.log4j.util.SystemPropertiesPropertySource" + ] + }, + "org.apache.logging.log4j:log4j-core": { + "javax.annotation.processing.Processor": [ + "org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor" + ], + "org.apache.logging.log4j.core.util.ContextDataProvider": [ + "org.apache.logging.log4j.core.impl.ThreadContextDataProvider" + ], + "org.apache.logging.log4j.message.ThreadDumpMessage$ThreadInfoFactory": [ + "org.apache.logging.log4j.core.message.ExtendedThreadInfoFactory" + ], + "org.apache.logging.log4j.spi.Provider": [ + "org.apache.logging.log4j.core.impl.Log4jProvider" + ] + }, "org.jline:jline": { "org.jline.terminal.spi.JansiSupport": [ "org.jline.terminal.impl.jansi.JansiSupportImpl" @@ -4324,16 +4476,41 @@ "org.junit.jupiter.engine.JupiterTestEngine" ] }, + "org.junit.platform:junit-platform-engine": { + "org.junit.platform.engine.discovery.DiscoverySelectorIdentifierParser": [ + "org.junit.platform.engine.discovery.ClassSelector$IdentifierParser", + "org.junit.platform.engine.discovery.ClasspathResourceSelector$IdentifierParser", + "org.junit.platform.engine.discovery.ClasspathRootSelector$IdentifierParser", + "org.junit.platform.engine.discovery.DirectorySelector$IdentifierParser", + "org.junit.platform.engine.discovery.FileSelector$IdentifierParser", + "org.junit.platform.engine.discovery.IterationSelector$IdentifierParser", + "org.junit.platform.engine.discovery.MethodSelector$IdentifierParser", + "org.junit.platform.engine.discovery.ModuleSelector$IdentifierParser", + "org.junit.platform.engine.discovery.NestedClassSelector$IdentifierParser", + "org.junit.platform.engine.discovery.NestedMethodSelector$IdentifierParser", + "org.junit.platform.engine.discovery.PackageSelector$IdentifierParser", + "org.junit.platform.engine.discovery.UniqueIdSelector$IdentifierParser", + "org.junit.platform.engine.discovery.UriSelector$IdentifierParser" + ] + }, "org.junit.platform:junit-platform-launcher": { "org.junit.platform.launcher.TestExecutionListener": [ "org.junit.platform.launcher.listeners.UniqueIdTrackingListener" ] }, + "org.junit.platform:junit-platform-reporting": { + "org.junit.platform.launcher.TestExecutionListener": [ + "org.junit.platform.reporting.open.xml.OpenTestReportGeneratingListener" + ] + }, "org.junit.vintage:junit-vintage-engine": { "org.junit.platform.engine.TestEngine": [ "org.junit.vintage.engine.VintageTestEngine" ] } }, + "skipped": [ + "net.sourceforge.pmd:pmd-languages-deps" + ], "version": "2" } diff --git a/java/private/contrib_rules_jvm_deps.zip b/java/private/contrib_rules_jvm_deps.zip index ea61551ae62c58e2a5f6ece386cc5ea5aa4b3ca6..2cbc45ed3d47857846938df56138014d389e73fb 100644 GIT binary patch delta 27171 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 delta 18905 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 { private final String packageName; private final String className; + /** * Copied from the KnowTypeSolvers, this is the bazel dependency string where this package/class * will be found: The dependency name will be of the form: - diff --git a/java/test/com/github/bazel_contrib/contrib_rules_jvm/javaparser/generators/ClasspathParserTest.java b/java/test/com/github/bazel_contrib/contrib_rules_jvm/javaparser/generators/ClasspathParserTest.java index 9f360242..063cbf27 100644 --- a/java/test/com/github/bazel_contrib/contrib_rules_jvm/javaparser/generators/ClasspathParserTest.java +++ b/java/test/com/github/bazel_contrib/contrib_rules_jvm/javaparser/generators/ClasspathParserTest.java @@ -408,6 +408,7 @@ private TreeSet treeSet(T... values) { static class JavaSource extends SimpleJavaFileObject { String fileSource; + @SuppressFBWarnings public JavaSource(Path path) { // The superclass requires that the path points at a filesystem not a jar, so we make up a // sketchy fake path for it. diff --git a/java/test/com/github/bazel_contrib/contrib_rules_jvm/junit5/BUILD.bazel b/java/test/com/github/bazel_contrib/contrib_rules_jvm/junit5/BUILD.bazel index 27b1bd99..d0b99661 100644 --- a/java/test/com/github/bazel_contrib/contrib_rules_jvm/junit5/BUILD.bazel +++ b/java/test/com/github/bazel_contrib/contrib_rules_jvm/junit5/BUILD.bazel @@ -35,6 +35,7 @@ java_test_suite( deps = [ "//java/src/com/github/bazel_contrib/contrib_rules_jvm/junit5", artifact("com.github.spotbugs:spotbugs-annotations", "contrib_rules_jvm_deps"), + artifact("junit:junit", "contrib_rules_jvm_tests"), artifact("org.junit.jupiter:junit-jupiter-api", "contrib_rules_jvm_tests"), artifact("org.junit.jupiter:junit-jupiter-params", "contrib_rules_jvm_tests"), artifact("org.junit.platform:junit-platform-engine", "contrib_rules_jvm_tests"), @@ -54,6 +55,7 @@ java_test_suite( runner = "junit5", deps = [ "//java/src/com/github/bazel_contrib/contrib_rules_jvm/junit5", + artifact("junit:junit", "contrib_rules_jvm_tests"), ] + junit5_vintage_deps("contrib_rules_jvm_tests"), ) @@ -81,6 +83,7 @@ java_test( deps = [ "//java/src/com/github/bazel_contrib/contrib_rules_jvm/junit5", "//java/test/com/github/bazel_contrib/contrib_rules_jvm/junit5/sample:sharding-test-tests", + artifact("junit:junit", "contrib_rules_jvm_tests"), artifact("org.junit.jupiter:junit-jupiter-api", "contrib_rules_jvm_tests"), artifact("org.junit.platform:junit-platform-engine", "contrib_rules_jvm_tests"), ] + junit5_deps("contrib_rules_jvm_tests"), diff --git a/java/test/com/github/bazel_contrib/contrib_rules_jvm/junit5/TestRunningSecurityManagerTest.java b/java/test/com/github/bazel_contrib/contrib_rules_jvm/junit5/TestRunningSecurityManagerTest.java index 4cddf801..ce6e9170 100644 --- a/java/test/com/github/bazel_contrib/contrib_rules_jvm/junit5/TestRunningSecurityManagerTest.java +++ b/java/test/com/github/bazel_contrib/contrib_rules_jvm/junit5/TestRunningSecurityManagerTest.java @@ -17,6 +17,7 @@ void shouldStifleSystemExitCalls() { } @Test + @SuppressFBWarnings() void shouldDelegateToExistingSecurityManagerIfPresent() { SecurityManager permissive = new TestRunningSecurityManager(); Permission permission = new RuntimePermission("example.permission"); diff --git a/tools/freeze-deps.py b/tools/freeze-deps.py index a29b8dcf..3a85a491 100755 --- a/tools/freeze-deps.py +++ b/tools/freeze-deps.py @@ -54,7 +54,7 @@ base = output_base.decode(encoding=sys.stdin.encoding) # Figure out the mangled repo name -cmd = ["bazel", "cquery", "--output=starlark", "--starlark:expr=target.label.workspace_name", "@{name}//:outdated".format(name = args.repo)] +cmd = ["bazel", "cquery", "--output=starlark", "--starlark:expr=target.label.workspace_name", "@{name}//:pin".format(name = args.repo)] base_dir = subprocess.check_output(cmd, cwd=cwd, stderr=subprocess.DEVNULL).decode('utf-8').strip() root = Path(base) / "external" / base_dir