From d0a5611241e9d4f190dbba886c9c7247d982c713 Mon Sep 17 00:00:00 2001 From: Natalie Ng Date: Mon, 9 Nov 2026 21:47:58 +0000 Subject: [PATCH] Make release prep output stable to reduce diff noise - UpdateVersionTask now rewrites only the `version=` line in gradle.properties instead of using Properties.store(), which reordered keys (in a JDK-dependent order) and added a timestamp comment. - copyLicenses now sorts the entries in third_party/LICENSES.{xml,html,json} by dependency name. The license-report plugin emits them in a nondeterministic order, which reshuffled ~80-130 lines on every release even when no dependency changed. - Removes the stale timestamp comment from gradle.properties and commits the sorted license reports so the next release prep starts from a clean baseline. Verified by running `./gradlew prepareRelease -PnewVersion=48.1.2` twice: the second run produces no diff, and updateVersion/updateVersionToNextSnapshot change only the version line. Change-Id: Idf80af67546f99ab4d7b5ffbe5629b11438a02d3 --- .../groovy/com.google.api-ads.release.gradle | 15 +- google-ads/build.gradle | 47 +++ gradle.properties | 1 - third_party/LICENSES.html | 318 +++++++++--------- third_party/LICENSES.json | 2 +- third_party/LICENSES.xml | 252 +++++++------- 6 files changed, 344 insertions(+), 291 deletions(-) diff --git a/buildSrc/src/main/groovy/com.google.api-ads.release.gradle b/buildSrc/src/main/groovy/com.google.api-ads.release.gradle index 1202a4178f..98617330f4 100644 --- a/buildSrc/src/main/groovy/com.google.api-ads.release.gradle +++ b/buildSrc/src/main/groovy/com.google.api-ads.release.gradle @@ -40,10 +40,17 @@ abstract class UpdateVersionTask extends DefaultTask { if (!newVersion.matches(VERSION_REGEX)) { throw new GradleException("Invalid format for -PnewVersion. Expecting: ${VERSION_REGEX}") } - def toSet = new Properties() - propertiesFile.withInputStream { toSet.load(it) } - toSet.version = newVersion - propertiesFile.withOutputStream { toSet.store(it, "See LICENSE for license terms") } + // Rewrites only the version line. Properties.store() would reorder keys + // (in a JDK-dependent order) and add a timestamp comment, creating noisy + // diffs in release PRs. Matches the canonical `version=` form because + // the Kokoro release script reads it with `sed 's/^version=//'`. + def lines = propertiesFile.readLines() + def versionIndex = lines.findIndexOf { it.startsWith('version=') } + if (versionIndex < 0) { + throw new GradleException("No version property found in ${propertiesFile}") + } + lines[versionIndex] = "version=${newVersion}" + propertiesFile.text = lines.join('\n') + '\n' } } diff --git a/google-ads/build.gradle b/google-ads/build.gradle index ec29e20cc4..c1bdce66b4 100644 --- a/google-ads/build.gradle +++ b/google-ads/build.gradle @@ -18,8 +18,10 @@ */ +import groovy.json.JsonOutput import groovy.json.JsonSlurper +import java.util.regex.Pattern import java.util.stream.Collectors import static nl.javadude.gradle.plugins.license.DownloadLicensesExtension.license @@ -168,6 +170,12 @@ Googlers, there is a company policy for this available internally.""") } } +// Entry patterns for the com.github.hierynomus.license-report 0.16.1 output +// format. Each entry begins with the dependency name, so sorting the entry text +// orders entries by dependency name (matching the JSON sort in copyLicenses). +final Pattern XML_LICENSE_ENTRY = ~/(?s) .*?<\/dependency>\R/ +final Pattern HTML_LICENSE_ENTRY = ~/(?s) \s*.*?<\/tr>\R/ + task copyLicenses(type: Copy) { description = "Copies licenses from build directory to third_party" dependsOn 'verifyLicenses' @@ -196,7 +204,46 @@ task copyLicenses(type: Copy) { "Failed to locate files to copy from. Expected: 3 but was: " + inputs.sourceFiles.toList()) } + + // The license-report plugin emits dependencies in a nondeterministic + // order. Sorts each report by dependency name so that diffs of + // third_party only show actual dependency changes. + def thirdPartyDir = tasks.generateThirdPartyDirectory.thirdPartyDir + sortLicenseReportEntries(new File(thirdPartyDir, 'LICENSES.xml'), XML_LICENSE_ENTRY) + sortLicenseReportEntries(new File(thirdPartyDir, 'LICENSES.html'), HTML_LICENSE_ENTRY) + def jsonFile = new File(thirdPartyDir, 'LICENSES.json') + def json = new JsonSlurper().parse(jsonFile) + json.dependencies = json.dependencies.sort(false) { it.name } + jsonFile.text = JsonOutput.toJson(json) + } +} + +/** + * Sorts the contiguous entries matching entryPattern in a license report file, + * leaving the text before the first entry and after the last entry untouched. + * Fails if the entries aren't contiguous, so that an unexpected change in the + * report format can't silently corrupt the report. + */ +def sortLicenseReportEntries(File file, Pattern entryPattern) { + String text = file.text + def matcher = entryPattern.matcher(text) + List entries = [] + int start = -1 + int end = -1 + while (matcher.find()) { + if (start < 0) { + start = matcher.start() + } else if (matcher.start() != end) { + throw new GradleException( + "Unexpected content between license entries in ${file}") + } + end = matcher.end() + entries << matcher.group() + } + if (entries.isEmpty()) { + throw new GradleException("No license entries found in ${file}") } + file.text = text.substring(0, start) + entries.sort().join('') + text.substring(end) } task copyThirdPartySources(type: Copy) { diff --git a/gradle.properties b/gradle.properties index e6f8868291..0e9b425eed 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,4 @@ #See LICENSE for license terms -#Thu Oct 29 16:19:14 EDT 2026 org.gradle.caching=true org.gradle.parallel=true org.gradle.console=rich diff --git a/third_party/LICENSES.html b/third_party/LICENSES.html index 371c467c33..5f27eccde7 100644 --- a/third_party/LICENSES.html +++ b/third_party/LICENSES.html @@ -50,24 +50,24 @@

License text URL

- org.jspecify:jspecify:1.0.0 - jspecify-1.0.0.jar + com.google.android:annotations:4.1.1.4 + annotations-4.1.1.4.jar Apache License, Version 2.0 Show license agreement - io.grpc:grpc-googleapis:1.83.0 - grpc-googleapis-1.83.0.jar + com.google.api.grpc:proto-google-common-protos:2.78.0 + proto-google-common-protos-2.78.0.jar Apache License, Version 2.0 Show license agreement - com.google.auth:google-auth-library-oauth2-http:1.54.0 - google-auth-library-oauth2-http-1.54.0.jar + com.google.api:api-common:2.70.0 + api-common-2.70.0.jar 3-Clause BSD License Show license agreement @@ -82,155 +82,131 @@

License text URL

- io.grpc:grpc-protobuf-lite:1.83.0 - grpc-protobuf-lite-1.83.0.jar - Apache License, Version 2.0 + com.google.api:gax-httpjson:2.87.0 + gax-httpjson-2.87.0.jar + 3-Clause BSD License - Show license agreement + Show license agreement - io.grpc:grpc-stub:1.83.0 - grpc-stub-1.83.0.jar - Apache License, Version 2.0 + com.google.api:gax:2.87.0 + gax-2.87.0.jar + 3-Clause BSD License - Show license agreement + Show license agreement - io.grpc:grpc-protobuf:1.83.0 - grpc-protobuf-1.83.0.jar - Apache License, Version 2.0 + com.google.auth:google-auth-library-credentials:1.54.0 + google-auth-library-credentials-1.54.0.jar + 3-Clause BSD License - Show license agreement + Show license agreement - com.google.code.gson:gson:2.14.0 - gson-2.14.0.jar - Apache License, Version 2.0 + com.google.auth:google-auth-library-oauth2-http:1.54.0 + google-auth-library-oauth2-http-1.54.0.jar + 3-Clause BSD License - Show license agreement + Show license agreement - com.google.android:annotations:4.1.1.4 - annotations-4.1.1.4.jar + com.google.auto.service:auto-service-annotations:1.0.1 + auto-service-annotations-1.0.1.jar Apache License, Version 2.0 Show license agreement - com.google.re2j:re2j:1.8 - re2j-1.8.jar - Go License - - Show license agreement - - - - com.google.api.grpc:proto-google-common-protos:2.78.0 - proto-google-common-protos-2.78.0.jar + com.google.auto.service:auto-service:1.0.1 + auto-service-1.0.1.jar Apache License, Version 2.0 Show license agreement - org.codehaus.mojo:animal-sniffer-annotations:1.27 - animal-sniffer-annotations-1.27.jar - MIT License - - Show license agreement - - - - com.google.api:gax-httpjson:2.87.0 - gax-httpjson-2.87.0.jar - 3-Clause BSD License - - Show license agreement - - - - org.threeten:threetenbp:1.7.0 - threetenbp-1.7.0.jar - 3-Clause BSD License + com.google.auto.value:auto-value-annotations:1.11.0 + auto-value-annotations-1.11.0.jar + Apache License, Version 2.0 - Show license agreement + Show license agreement - com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava - listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar + com.google.auto:auto-common:1.2 + auto-common-1.2.jar Apache License, Version 2.0 Show license agreement - com.google.api:api-common:2.70.0 - api-common-2.70.0.jar - 3-Clause BSD License + com.google.code.findbugs:jsr305:3.0.2 + jsr305-3.0.2.jar + Apache License, Version 2.0 - Show license agreement + Show license agreement - org.threeten:threeten-extra:1.8.0 - threeten-extra-1.8.0.jar - 3-Clause BSD License + com.google.code.gson:gson:2.14.0 + gson-2.14.0.jar + Apache License, Version 2.0 - Show license agreement + Show license agreement - io.grpc:grpc-xds:1.83.0 - grpc-xds-1.83.0.jar + com.google.errorprone:error_prone_annotations:2.50.0 + error_prone_annotations-2.50.0.jar Apache License, Version 2.0 Show license agreement - io.perfmark:perfmark-api:0.27.0 - perfmark-api-0.27.0.jar + com.google.guava:failureaccess:1.0.3 + failureaccess-1.0.3.jar Apache License, Version 2.0 - Show license agreement + Show license agreement - dev.cel:common:0.13.0 - common-0.13.0.jar + com.google.guava:guava:33.6.0-jre + guava-33.6.0-jre.jar Apache License, Version 2.0 - Show license agreement + Show license agreement - org.slf4j:slf4j-api:1.7.25 - slf4j-api-1.7.25.jar - MIT License + com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava + listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar + Apache License, Version 2.0 - Show license agreement + Show license agreement - com.google.auto:auto-common:1.2 - auto-common-1.2.jar + com.google.http-client:google-http-client-gson:2.2.0 + google-http-client-gson-2.2.0.jar Apache License, Version 2.0 Show license agreement - com.google.guava:guava:33.6.0-jre - guava-33.6.0-jre.jar + com.google.http-client:google-http-client:2.2.0 + google-http-client-2.2.0.jar Apache License, Version 2.0 - Show license agreement + Show license agreement @@ -250,43 +226,59 @@

License text URL

- io.grpc:grpc-context:1.83.0 - grpc-context-1.83.0.jar + com.google.protobuf:protobuf-java:4.33.6 + protobuf-java-4.33.6.jar + 3-Clause BSD License + + Show license agreement + + + + com.google.re2j:re2j:1.8 + re2j-1.8.jar + Go License + + Show license agreement + + + + com.squareup:javapoet:1.11.1 + javapoet-1.11.1.jar Apache License, Version 2.0 Show license agreement - com.google.auto.value:auto-value-annotations:1.11.0 - auto-value-annotations-1.11.0.jar + commons-codec:commons-codec:1.18.0 + commons-codec-1.18.0.jar Apache License, Version 2.0 Show license agreement - com.google.guava:failureaccess:1.0.3 - failureaccess-1.0.3.jar + dev.cel:common:0.13.0 + common-0.13.0.jar Apache License, Version 2.0 - Show license agreement + Show license agreement - com.google.auto.service:auto-service:1.0.1 - auto-service-1.0.1.jar + dev.cel:protobuf:0.13.0 + protobuf-0.13.0.jar Apache License, Version 2.0 - Show license agreement + Show license agreement - io.grpc:grpc-util:1.83.0 - grpc-util-1.83.0.jar + dev.cel:runtime:0.13.0 + runtime-0.13.0.jar Apache License, Version 2.0 - Show license agreement + Show license agreement @@ -298,195 +290,203 @@

License text URL

- io.grpc:grpc-inprocess:1.83.0 - grpc-inprocess-1.83.0.jar + io.grpc:grpc-api:1.83.0 + grpc-api-1.83.0.jar Apache License, Version 2.0 Show license agreement - org.conscrypt:conscrypt-openjdk-uber:2.6.2 - conscrypt-openjdk-uber-2.6.2.jar + io.grpc:grpc-auth:1.83.0 + grpc-auth-1.83.0.jar Apache License, Version 2.0 Show license agreement - com.google.api:gax:2.87.0 - gax-2.87.0.jar - 3-Clause BSD License + io.grpc:grpc-context:1.83.0 + grpc-context-1.83.0.jar + Apache License, Version 2.0 - Show license agreement + Show license agreement - org.apache.httpcomponents:httpcore:4.4.16 - httpcore-4.4.16.jar + io.grpc:grpc-core:1.83.0 + grpc-core-1.83.0.jar Apache License, Version 2.0 - Show license agreement + Show license agreement - com.google.http-client:google-http-client:2.2.0 - google-http-client-2.2.0.jar + io.grpc:grpc-googleapis:1.83.0 + grpc-googleapis-1.83.0.jar Apache License, Version 2.0 Show license agreement - io.grpc:grpc-netty-shaded:1.83.0 - grpc-netty-shaded-1.83.0.jar + io.grpc:grpc-inprocess:1.83.0 + grpc-inprocess-1.83.0.jar Apache License, Version 2.0 Show license agreement - io.grpc:grpc-core:1.83.0 - grpc-core-1.83.0.jar + io.grpc:grpc-netty-shaded:1.83.0 + grpc-netty-shaded-1.83.0.jar Apache License, Version 2.0 Show license agreement - com.google.code.findbugs:jsr305:3.0.2 - jsr305-3.0.2.jar + io.grpc:grpc-protobuf-lite:1.83.0 + grpc-protobuf-lite-1.83.0.jar Apache License, Version 2.0 Show license agreement - com.google.auth:google-auth-library-credentials:1.54.0 - google-auth-library-credentials-1.54.0.jar - 3-Clause BSD License + io.grpc:grpc-protobuf:1.83.0 + grpc-protobuf-1.83.0.jar + Apache License, Version 2.0 - Show license agreement + Show license agreement - commons-codec:commons-codec:1.18.0 - commons-codec-1.18.0.jar + io.grpc:grpc-services:1.83.0 + grpc-services-1.83.0.jar Apache License, Version 2.0 Show license agreement - io.opencensus:opencensus-contrib-http-util:0.31.1 - opencensus-contrib-http-util-0.31.1.jar + io.grpc:grpc-stub:1.83.0 + grpc-stub-1.83.0.jar Apache License, Version 2.0 Show license agreement - io.grpc:grpc-api:1.83.0 - grpc-api-1.83.0.jar + io.grpc:grpc-util:1.83.0 + grpc-util-1.83.0.jar Apache License, Version 2.0 Show license agreement - io.grpc:grpc-auth:1.83.0 - grpc-auth-1.83.0.jar + io.grpc:grpc-xds:1.83.0 + grpc-xds-1.83.0.jar Apache License, Version 2.0 Show license agreement - com.google.auto.service:auto-service-annotations:1.0.1 - auto-service-annotations-1.0.1.jar + io.opencensus:opencensus-api:0.31.1 + opencensus-api-0.31.1.jar Apache License, Version 2.0 Show license agreement - dev.cel:runtime:0.13.0 - runtime-0.13.0.jar + io.opencensus:opencensus-contrib-http-util:0.31.1 + opencensus-contrib-http-util-0.31.1.jar Apache License, Version 2.0 - Show license agreement + Show license agreement - io.grpc:grpc-services:1.83.0 - grpc-services-1.83.0.jar + io.perfmark:perfmark-api:0.27.0 + perfmark-api-0.27.0.jar Apache License, Version 2.0 Show license agreement - com.squareup:javapoet:1.11.1 - javapoet-1.11.1.jar - Apache License, Version 2.0 + javax.annotation:javax.annotation-api:1.3.2 + javax.annotation-api-1.3.2.jar + CDDL + GPLv2 with classpath exception - Show license agreement + Show license agreement - io.opencensus:opencensus-api:0.31.1 - opencensus-api-0.31.1.jar + org.apache.httpcomponents:httpclient:4.5.14 + httpclient-4.5.14.jar Apache License, Version 2.0 - Show license agreement + Show license agreement - com.google.errorprone:error_prone_annotations:2.50.0 - error_prone_annotations-2.50.0.jar + org.apache.httpcomponents:httpcore:4.4.16 + httpcore-4.4.16.jar Apache License, Version 2.0 - Show license agreement + Show license agreement - org.apache.httpcomponents:httpclient:4.5.14 - httpclient-4.5.14.jar + org.codehaus.mojo:animal-sniffer-annotations:1.27 + animal-sniffer-annotations-1.27.jar + MIT License + + Show license agreement + + + + org.conscrypt:conscrypt-openjdk-uber:2.6.2 + conscrypt-openjdk-uber-2.6.2.jar Apache License, Version 2.0 - Show license agreement + Show license agreement - com.google.http-client:google-http-client-gson:2.2.0 - google-http-client-gson-2.2.0.jar + org.jspecify:jspecify:1.0.0 + jspecify-1.0.0.jar Apache License, Version 2.0 Show license agreement - com.google.protobuf:protobuf-java:4.33.6 - protobuf-java-4.33.6.jar - 3-Clause BSD License + org.slf4j:slf4j-api:1.7.25 + slf4j-api-1.7.25.jar + MIT License - Show license agreement + Show license agreement - javax.annotation:javax.annotation-api:1.3.2 - javax.annotation-api-1.3.2.jar - CDDL + GPLv2 with classpath exception + org.threeten:threeten-extra:1.8.0 + threeten-extra-1.8.0.jar + 3-Clause BSD License - Show license agreement + Show license agreement - dev.cel:protobuf:0.13.0 - protobuf-0.13.0.jar - Apache License, Version 2.0 + org.threeten:threetenbp:1.7.0 + threetenbp-1.7.0.jar + 3-Clause BSD License - Show license agreement + Show license agreement diff --git a/third_party/LICENSES.json b/third_party/LICENSES.json index f4162bdd2f..efec87eb00 100644 --- a/third_party/LICENSES.json +++ b/third_party/LICENSES.json @@ -1 +1 @@ -{"dependencies":[{"name":"org.jspecify:jspecify:1.0.0","file":"jspecify-1.0.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-googleapis:1.83.0","file":"grpc-googleapis-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.auth:google-auth-library-oauth2-http:1.54.0","file":"google-auth-library-oauth2-http-1.54.0.jar","licenses":[{"name":"3-Clause BSD License","url":"https://opensource.org/licenses/BSD-3-Clause"}]},{"name":"com.google.api:gax-grpc:2.87.0","file":"gax-grpc-2.87.0.jar","licenses":[{"name":"3-Clause BSD License","url":"https://opensource.org/licenses/BSD-3-Clause"}]},{"name":"io.grpc:grpc-protobuf-lite:1.83.0","file":"grpc-protobuf-lite-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-stub:1.83.0","file":"grpc-stub-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-protobuf:1.83.0","file":"grpc-protobuf-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.code.gson:gson:2.14.0","file":"gson-2.14.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.android:annotations:4.1.1.4","file":"annotations-4.1.1.4.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.re2j:re2j:1.8","file":"re2j-1.8.jar","licenses":[{"name":"Go License","url":"https://golang.org/LICENSE"}]},{"name":"com.google.api.grpc:proto-google-common-protos:2.78.0","file":"proto-google-common-protos-2.78.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"org.codehaus.mojo:animal-sniffer-annotations:1.27","file":"animal-sniffer-annotations-1.27.jar","licenses":[{"name":"MIT License","url":"https://opensource.org/licenses/mit-license.php"}]},{"name":"com.google.api:gax-httpjson:2.87.0","file":"gax-httpjson-2.87.0.jar","licenses":[{"name":"3-Clause BSD License","url":"https://opensource.org/licenses/BSD-3-Clause"}]},{"name":"org.threeten:threetenbp:1.7.0","file":"threetenbp-1.7.0.jar","licenses":[{"name":"3-Clause BSD License","url":"https://opensource.org/licenses/BSD-3-Clause"}]},{"name":"com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava","file":"listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.api:api-common:2.70.0","file":"api-common-2.70.0.jar","licenses":[{"name":"3-Clause BSD License","url":"https://opensource.org/licenses/BSD-3-Clause"}]},{"name":"org.threeten:threeten-extra:1.8.0","file":"threeten-extra-1.8.0.jar","licenses":[{"name":"3-Clause BSD License","url":"https://opensource.org/licenses/BSD-3-Clause"}]},{"name":"io.grpc:grpc-xds:1.83.0","file":"grpc-xds-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.perfmark:perfmark-api:0.27.0","file":"perfmark-api-0.27.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"dev.cel:common:0.13.0","file":"common-0.13.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.txt"}]},{"name":"org.slf4j:slf4j-api:1.7.25","file":"slf4j-api-1.7.25.jar","licenses":[{"name":"MIT License","url":"http://www.opensource.org/licenses/mit-license.php"}]},{"name":"com.google.auto:auto-common:1.2","file":"auto-common-1.2.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.guava:guava:33.6.0-jre","file":"guava-33.6.0-jre.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.txt"}]},{"name":"com.google.j2objc:j2objc-annotations:3.1","file":"j2objc-annotations-3.1.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.txt"}]},{"name":"com.google.protobuf:protobuf-java-util:4.33.6","file":"protobuf-java-util-4.33.6.jar","licenses":[{"name":"3-Clause BSD License","url":"https://opensource.org/licenses/BSD-3-Clause"}]},{"name":"io.grpc:grpc-context:1.83.0","file":"grpc-context-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.auto.value:auto-value-annotations:1.11.0","file":"auto-value-annotations-1.11.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.guava:failureaccess:1.0.3","file":"failureaccess-1.0.3.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.txt"}]},{"name":"com.google.auto.service:auto-service:1.0.1","file":"auto-service-1.0.1.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-util:1.83.0","file":"grpc-util-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-alts:1.83.0","file":"grpc-alts-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-inprocess:1.83.0","file":"grpc-inprocess-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"org.conscrypt:conscrypt-openjdk-uber:2.6.2","file":"conscrypt-openjdk-uber-2.6.2.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.api:gax:2.87.0","file":"gax-2.87.0.jar","licenses":[{"name":"3-Clause BSD License","url":"https://opensource.org/licenses/BSD-3-Clause"}]},{"name":"org.apache.httpcomponents:httpcore:4.4.16","file":"httpcore-4.4.16.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.txt"}]},{"name":"com.google.http-client:google-http-client:2.2.0","file":"google-http-client-2.2.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-netty-shaded:1.83.0","file":"grpc-netty-shaded-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-core:1.83.0","file":"grpc-core-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.code.findbugs:jsr305:3.0.2","file":"jsr305-3.0.2.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.auth:google-auth-library-credentials:1.54.0","file":"google-auth-library-credentials-1.54.0.jar","licenses":[{"name":"3-Clause BSD License","url":"https://opensource.org/licenses/BSD-3-Clause"}]},{"name":"commons-codec:commons-codec:1.18.0","file":"commons-codec-1.18.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.opencensus:opencensus-contrib-http-util:0.31.1","file":"opencensus-contrib-http-util-0.31.1.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-api:1.83.0","file":"grpc-api-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-auth:1.83.0","file":"grpc-auth-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.auto.service:auto-service-annotations:1.0.1","file":"auto-service-annotations-1.0.1.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"dev.cel:runtime:0.13.0","file":"runtime-0.13.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.txt"}]},{"name":"io.grpc:grpc-services:1.83.0","file":"grpc-services-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.squareup:javapoet:1.11.1","file":"javapoet-1.11.1.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.opencensus:opencensus-api:0.31.1","file":"opencensus-api-0.31.1.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.errorprone:error_prone_annotations:2.50.0","file":"error_prone_annotations-2.50.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"org.apache.httpcomponents:httpclient:4.5.14","file":"httpclient-4.5.14.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.txt"}]},{"name":"com.google.http-client:google-http-client-gson:2.2.0","file":"google-http-client-gson-2.2.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.protobuf:protobuf-java:4.33.6","file":"protobuf-java-4.33.6.jar","licenses":[{"name":"3-Clause BSD License","url":"https://opensource.org/licenses/BSD-3-Clause"}]},{"name":"javax.annotation:javax.annotation-api:1.3.2","file":"javax.annotation-api-1.3.2.jar","licenses":[{"name":"CDDL + GPLv2 with classpath exception","url":"https://github.com/javaee/javax.annotation/blob/master/LICENSE"}]},{"name":"dev.cel:protobuf:0.13.0","file":"protobuf-0.13.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.txt"}]}]} \ No newline at end of file +{"dependencies":[{"name":"com.google.android:annotations:4.1.1.4","file":"annotations-4.1.1.4.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.api.grpc:proto-google-common-protos:2.78.0","file":"proto-google-common-protos-2.78.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.api:api-common:2.70.0","file":"api-common-2.70.0.jar","licenses":[{"name":"3-Clause BSD License","url":"https://opensource.org/licenses/BSD-3-Clause"}]},{"name":"com.google.api:gax-grpc:2.87.0","file":"gax-grpc-2.87.0.jar","licenses":[{"name":"3-Clause BSD License","url":"https://opensource.org/licenses/BSD-3-Clause"}]},{"name":"com.google.api:gax-httpjson:2.87.0","file":"gax-httpjson-2.87.0.jar","licenses":[{"name":"3-Clause BSD License","url":"https://opensource.org/licenses/BSD-3-Clause"}]},{"name":"com.google.api:gax:2.87.0","file":"gax-2.87.0.jar","licenses":[{"name":"3-Clause BSD License","url":"https://opensource.org/licenses/BSD-3-Clause"}]},{"name":"com.google.auth:google-auth-library-credentials:1.54.0","file":"google-auth-library-credentials-1.54.0.jar","licenses":[{"name":"3-Clause BSD License","url":"https://opensource.org/licenses/BSD-3-Clause"}]},{"name":"com.google.auth:google-auth-library-oauth2-http:1.54.0","file":"google-auth-library-oauth2-http-1.54.0.jar","licenses":[{"name":"3-Clause BSD License","url":"https://opensource.org/licenses/BSD-3-Clause"}]},{"name":"com.google.auto.service:auto-service-annotations:1.0.1","file":"auto-service-annotations-1.0.1.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.auto.service:auto-service:1.0.1","file":"auto-service-1.0.1.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.auto.value:auto-value-annotations:1.11.0","file":"auto-value-annotations-1.11.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.auto:auto-common:1.2","file":"auto-common-1.2.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.code.findbugs:jsr305:3.0.2","file":"jsr305-3.0.2.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.code.gson:gson:2.14.0","file":"gson-2.14.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.errorprone:error_prone_annotations:2.50.0","file":"error_prone_annotations-2.50.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.guava:failureaccess:1.0.3","file":"failureaccess-1.0.3.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.txt"}]},{"name":"com.google.guava:guava:33.6.0-jre","file":"guava-33.6.0-jre.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.txt"}]},{"name":"com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava","file":"listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.http-client:google-http-client-gson:2.2.0","file":"google-http-client-gson-2.2.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.http-client:google-http-client:2.2.0","file":"google-http-client-2.2.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"com.google.j2objc:j2objc-annotations:3.1","file":"j2objc-annotations-3.1.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.txt"}]},{"name":"com.google.protobuf:protobuf-java-util:4.33.6","file":"protobuf-java-util-4.33.6.jar","licenses":[{"name":"3-Clause BSD License","url":"https://opensource.org/licenses/BSD-3-Clause"}]},{"name":"com.google.protobuf:protobuf-java:4.33.6","file":"protobuf-java-4.33.6.jar","licenses":[{"name":"3-Clause BSD License","url":"https://opensource.org/licenses/BSD-3-Clause"}]},{"name":"com.google.re2j:re2j:1.8","file":"re2j-1.8.jar","licenses":[{"name":"Go License","url":"https://golang.org/LICENSE"}]},{"name":"com.squareup:javapoet:1.11.1","file":"javapoet-1.11.1.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"commons-codec:commons-codec:1.18.0","file":"commons-codec-1.18.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"dev.cel:common:0.13.0","file":"common-0.13.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.txt"}]},{"name":"dev.cel:protobuf:0.13.0","file":"protobuf-0.13.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.txt"}]},{"name":"dev.cel:runtime:0.13.0","file":"runtime-0.13.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.txt"}]},{"name":"io.grpc:grpc-alts:1.83.0","file":"grpc-alts-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-api:1.83.0","file":"grpc-api-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-auth:1.83.0","file":"grpc-auth-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-context:1.83.0","file":"grpc-context-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-core:1.83.0","file":"grpc-core-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-googleapis:1.83.0","file":"grpc-googleapis-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-inprocess:1.83.0","file":"grpc-inprocess-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-netty-shaded:1.83.0","file":"grpc-netty-shaded-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-protobuf-lite:1.83.0","file":"grpc-protobuf-lite-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-protobuf:1.83.0","file":"grpc-protobuf-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-services:1.83.0","file":"grpc-services-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-stub:1.83.0","file":"grpc-stub-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-util:1.83.0","file":"grpc-util-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.grpc:grpc-xds:1.83.0","file":"grpc-xds-1.83.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.opencensus:opencensus-api:0.31.1","file":"opencensus-api-0.31.1.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.opencensus:opencensus-contrib-http-util:0.31.1","file":"opencensus-contrib-http-util-0.31.1.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"io.perfmark:perfmark-api:0.27.0","file":"perfmark-api-0.27.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"javax.annotation:javax.annotation-api:1.3.2","file":"javax.annotation-api-1.3.2.jar","licenses":[{"name":"CDDL + GPLv2 with classpath exception","url":"https://github.com/javaee/javax.annotation/blob/master/LICENSE"}]},{"name":"org.apache.httpcomponents:httpclient:4.5.14","file":"httpclient-4.5.14.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.txt"}]},{"name":"org.apache.httpcomponents:httpcore:4.4.16","file":"httpcore-4.4.16.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.txt"}]},{"name":"org.codehaus.mojo:animal-sniffer-annotations:1.27","file":"animal-sniffer-annotations-1.27.jar","licenses":[{"name":"MIT License","url":"https://opensource.org/licenses/mit-license.php"}]},{"name":"org.conscrypt:conscrypt-openjdk-uber:2.6.2","file":"conscrypt-openjdk-uber-2.6.2.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"org.jspecify:jspecify:1.0.0","file":"jspecify-1.0.0.jar","licenses":[{"name":"Apache License, Version 2.0","url":"http://opensource.org/licenses/Apache-2.0"}]},{"name":"org.slf4j:slf4j-api:1.7.25","file":"slf4j-api-1.7.25.jar","licenses":[{"name":"MIT License","url":"http://www.opensource.org/licenses/mit-license.php"}]},{"name":"org.threeten:threeten-extra:1.8.0","file":"threeten-extra-1.8.0.jar","licenses":[{"name":"3-Clause BSD License","url":"https://opensource.org/licenses/BSD-3-Clause"}]},{"name":"org.threeten:threetenbp:1.7.0","file":"threetenbp-1.7.0.jar","licenses":[{"name":"3-Clause BSD License","url":"https://opensource.org/licenses/BSD-3-Clause"}]}]} \ No newline at end of file diff --git a/third_party/LICENSES.xml b/third_party/LICENSES.xml index 50c5de3a4e..cb59806285 100644 --- a/third_party/LICENSES.xml +++ b/third_party/LICENSES.xml @@ -1,96 +1,84 @@ - - jspecify-1.0.0.jar + + annotations-4.1.1.4.jar - - grpc-googleapis-1.83.0.jar + + proto-google-common-protos-2.78.0.jar - - google-auth-library-oauth2-http-1.54.0.jar + + api-common-2.70.0.jar gax-grpc-2.87.0.jar - - grpc-protobuf-lite-1.83.0.jar - - - - grpc-stub-1.83.0.jar - - - - grpc-protobuf-1.83.0.jar - - - - gson-2.14.0.jar - - - - annotations-4.1.1.4.jar - - - - re2j-1.8.jar - - - - proto-google-common-protos-2.78.0.jar - - - - animal-sniffer-annotations-1.27.jar - - gax-httpjson-2.87.0.jar - - threetenbp-1.7.0.jar + + gax-2.87.0.jar - - listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar - - - - api-common-2.70.0.jar + + google-auth-library-credentials-1.54.0.jar - - threeten-extra-1.8.0.jar + + google-auth-library-oauth2-http-1.54.0.jar - - grpc-xds-1.83.0.jar + + auto-service-annotations-1.0.1.jar - - perfmark-api-0.27.0.jar + + auto-service-1.0.1.jar - - common-0.13.0.jar - - - - slf4j-api-1.7.25.jar - + + auto-value-annotations-1.11.0.jar + auto-common-1.2.jar + + jsr305-3.0.2.jar + + + + gson-2.14.0.jar + + + + error_prone_annotations-2.50.0.jar + + + + failureaccess-1.0.3.jar + + guava-33.6.0-jre.jar + + listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar + + + + google-http-client-gson-2.2.0.jar + + + + google-http-client-2.2.0.jar + + j2objc-annotations-3.1.jar @@ -99,124 +87,136 @@ protobuf-java-util-4.33.6.jar - - grpc-context-1.83.0.jar + + protobuf-java-4.33.6.jar + + + + re2j-1.8.jar + + + + javapoet-1.11.1.jar - - auto-value-annotations-1.11.0.jar + + commons-codec-1.18.0.jar - - failureaccess-1.0.3.jar - + + common-0.13.0.jar + - - auto-service-1.0.1.jar - + + protobuf-0.13.0.jar + - - grpc-util-1.83.0.jar - + + runtime-0.13.0.jar + grpc-alts-1.83.0.jar - - grpc-inprocess-1.83.0.jar - - - - conscrypt-openjdk-uber-2.6.2.jar + + grpc-api-1.83.0.jar - - gax-2.87.0.jar - - - - httpcore-4.4.16.jar - - - - google-http-client-2.2.0.jar + + grpc-auth-1.83.0.jar - - grpc-netty-shaded-1.83.0.jar + + grpc-context-1.83.0.jar grpc-core-1.83.0.jar - - jsr305-3.0.2.jar + + grpc-googleapis-1.83.0.jar - - google-auth-library-credentials-1.54.0.jar - - - - commons-codec-1.18.0.jar + + grpc-inprocess-1.83.0.jar - - opencensus-contrib-http-util-0.31.1.jar + + grpc-netty-shaded-1.83.0.jar - - grpc-api-1.83.0.jar + + grpc-protobuf-lite-1.83.0.jar - - grpc-auth-1.83.0.jar + + grpc-protobuf-1.83.0.jar - - auto-service-annotations-1.0.1.jar + + grpc-services-1.83.0.jar - - runtime-0.13.0.jar - + + grpc-stub-1.83.0.jar + - - grpc-services-1.83.0.jar + + grpc-util-1.83.0.jar - - javapoet-1.11.1.jar + + grpc-xds-1.83.0.jar opencensus-api-0.31.1.jar - - error_prone_annotations-2.50.0.jar + + opencensus-contrib-http-util-0.31.1.jar + + + + perfmark-api-0.27.0.jar + + javax.annotation-api-1.3.2.jar + + httpclient-4.5.14.jar - - google-http-client-gson-2.2.0.jar + + httpcore-4.4.16.jar + + + + animal-sniffer-annotations-1.27.jar + + + + conscrypt-openjdk-uber-2.6.2.jar - - protobuf-java-4.33.6.jar - + + jspecify-1.0.0.jar + - - javax.annotation-api-1.3.2.jar - + + slf4j-api-1.7.25.jar + - - protobuf-0.13.0.jar - + + threeten-extra-1.8.0.jar + + + + threetenbp-1.7.0.jar + \ No newline at end of file