dejan2609 commented on PR #23826:
URL: https://github.com/apache/kafka/pull/23826#issuecomment-6203945824

   **Note: I opted for two commits in order to enable easier testing.**
   
   ___
   
   
   **Test case 1. (this PR):**
   - python3 committer-tools/verify_license.py
   ```
   dejan@home:~/kafka$ git log -2 --oneline 
   aa07abf3e1a (HEAD -> KAFKA-21287, origin/KAFKA-21287) KAFKA-21287: Verify 
'licenses' folder contents in verify_license.py
   a78db4f3885 KAFKA-21287: Fix 'licenses' folder contents and 'LICENSE-binary' 
file references
   dejan@home:~/kafka$ python3 committer-tools/verify_license.py
   Using project directory: /home/dejan/kafka
   Running './gradlew clean releaseTarGz'
   
   > Configure project :
   Starting build with version 4.5.0-SNAPSHOT (commit id aa07abf3) using Gradle 
9.7.1, Java 17 and Scala 2.13.18
   Build properties: ignoreFailures=false, maxParallelForks=8, 
maxScalacThreads=8, maxTestRetries=0
   ```
   build results:
   ```
   All libs from ./libs are present in the LICENSE file.
   
   No extra dependencies in the LICENSE file.
   
   All license files referenced in the LICENSE file are present in ./licenses.
   
   All files in ./licenses are referenced in the LICENSE file.
   ```
   
   <details>
   
   <summary>build results in more details</summary>
   
   ```
   Deprecated Gradle features were used in this build, making it incompatible 
with Gradle 10.
   
   You can use '--warning-mode all' to show the individual deprecation warnings 
and determine if they come from your own scripts or plugins.
   
   For more on this, please refer to 
https://docs.gradle.org/9.7.1/userguide/command_line_interface.html#sec:command_line_warnings
 in the Gradle documentation.
   
   BUILD SUCCESSFUL in 2m 45s
   242 actionable tasks: 236 executed, 6 up-to-date
   Consider enabling configuration cache to speed up this build: 
https://docs.gradle.org/9.7.1/userguide/configuration_cache_enabling.html
   Tarball created at: 
/home/dejan/kafka/core/build/distributions/kafka_2.13-4.5.0-SNAPSHOT.tgz
   Tarball extracted to: /tmp/tmp9ski6be3
   Tarball extracted to: /tmp/tmp9ski6be3/kafka_2.13-4.5.0-SNAPSHOT
   
   Dependencies from libs (extracted from jar names):
    - HdrHistogram-2.2.2
    - aopalliance-repackaged-3.0.6
    - argparse4j-0.7.0
    - caffeine-3.2.4
    - classgraph-4.8.196
    - commons-beanutils-1.11.0
    - commons-collections-3.2.2
    - commons-digester-2.1
    - commons-logging-1.4.0
    - commons-net-3.13.0
    - commons-validator-1.11.0
    - hash4j-0.22.0
    - hk2-api-3.0.6
    - hk2-locator-3.0.6
    - hk2-utils-3.0.6
    - jackson-annotations-2.22
    - jackson-core-2.22.3
    - jackson-databind-2.22.3
    - jackson-dataformat-csv-2.22.3
    - jackson-dataformat-yaml-2.22.3
    - jackson-datatype-jdk8-2.22.3
    - jackson-jakarta-rs-base-2.22.3
    - jackson-jakarta-rs-json-provider-2.22.3
    - jackson-module-blackbird-2.22.3
    - jackson-module-jakarta-xmlbind-annotations-2.22.3
    - jakarta.activation-2.0.1
    - jakarta.activation-api-2.1.0
    - jakarta.annotation-api-2.1.1
    - jakarta.inject-api-2.0.1
    - jakarta.servlet-api-6.0.0
    - jakarta.validation-api-3.0.2
    - jakarta.ws.rs-api-3.1.0
    - jakarta.xml.bind-api-3.0.1
    - javassist-3.30.2-GA
    - jersey-client-3.1.10
    - jersey-common-3.1.10
    - jersey-container-servlet-3.1.10
    - jersey-container-servlet-core-3.1.10
    - jersey-hk2-3.1.10
    - jersey-server-3.1.10
    - jetty-alpn-client-12.0.39
    - jetty-client-12.0.39
    - jetty-ee10-servlet-12.0.39
    - jetty-ee10-servlets-12.0.39
    - jetty-http-12.0.39
    - jetty-io-12.0.39
    - jetty-security-12.0.39
    - jetty-server-12.0.39
    - jetty-session-12.0.39
    - jetty-util-12.0.39
    - jline-native-3.30.17
    - jline-reader-3.30.17
    - jline-terminal-3.30.17
    - jopt-simple-5.0.4
    - jose4j-0.9.6
    - jspecify-1.0.0
    - log4j-1.2-api-2.25.5
    - log4j-api-2.25.5
    - log4j-core-2.25.5
    - log4j-slf4j-impl-2.25.5
    - lz4-java-1.11.4
    - maven-artifact-3.9.16
    - metrics-core-2.2.0
    - opentelemetry-proto-1.3.2-alpha
    - osgi-resource-locator-1.0.3
    - pcollections-4.0.2
    - plexus-utils-3.6.1
    - protobuf-java-3.25.5
    - re2j-1.8
    - rocksdbjni-10.10.1.1
    - scala-library-2.13.18
    - scala-logging_2.13-3.9.6
    - scala-reflect-2.13.18
    - slf4j-api-1.7.36
    - snakeyaml-2.5
    - snappy-java-1.1.10.11
    - swagger-annotations-2.2.55
    - zstd-jni-1.5.7-17
   
   Dependencies extracted from LICENSE file:
    - HdrHistogram-2.2.2
    - aopalliance-repackaged-3.0.6
    - argparse4j-0.7.0
    - caffeine-3.2.4
    - classgraph-4.8.196
    - commons-beanutils-1.11.0
    - commons-collections-3.2.2
    - commons-digester-2.1
    - commons-logging-1.4.0
    - commons-net-3.13.0
    - commons-validator-1.11.0
    - hash4j-0.22.0
    - hk2-api-3.0.6
    - hk2-locator-3.0.6
    - hk2-utils-3.0.6
    - jackson-annotations-2.22
    - jackson-core-2.22.3
    - jackson-databind-2.22.3
    - jackson-dataformat-csv-2.22.3
    - jackson-dataformat-yaml-2.22.3
    - jackson-datatype-jdk8-2.22.3
    - jackson-jakarta-rs-base-2.22.3
    - jackson-jakarta-rs-json-provider-2.22.3
    - jackson-module-blackbird-2.22.3
    - jackson-module-jakarta-xmlbind-annotations-2.22.3
    - jakarta.activation-2.0.1
    - jakarta.activation-api-2.1.0
    - jakarta.annotation-api-2.1.1
    - jakarta.inject-api-2.0.1
    - jakarta.servlet-api-6.0.0
    - jakarta.validation-api-3.0.2
    - jakarta.ws.rs-api-3.1.0
    - jakarta.xml.bind-api-3.0.1
    - javassist-3.30.2-GA
    - jersey-client-3.1.10
    - jersey-common-3.1.10
    - jersey-container-servlet-3.1.10
    - jersey-container-servlet-core-3.1.10
    - jersey-hk2-3.1.10
    - jersey-server-3.1.10
    - jetty-alpn-client-12.0.39
    - jetty-client-12.0.39
    - jetty-ee10-servlet-12.0.39
    - jetty-ee10-servlets-12.0.39
    - jetty-http-12.0.39
    - jetty-io-12.0.39
    - jetty-security-12.0.39
    - jetty-server-12.0.39
    - jetty-session-12.0.39
    - jetty-util-12.0.39
    - jline-native-3.30.17
    - jline-reader-3.30.17
    - jline-terminal-3.30.17
    - jopt-simple-5.0.4
    - jose4j-0.9.6
    - jspecify-1.0.0
    - log4j-1.2-api-2.25.5
    - log4j-api-2.25.5
    - log4j-core-2.25.5
    - log4j-slf4j-impl-2.25.5
    - lz4-java-1.11.4
    - maven-artifact-3.9.16
    - metrics-core-2.2.0
    - opentelemetry-proto-1.3.2-alpha
    - osgi-resource-locator-1.0.3
    - pcollections-4.0.2
    - plexus-utils-3.6.1
    - protobuf-java-3.25.5
    - re2j-1.8
    - rocksdbjni-10.10.1.1
    - scala-library-2.13.18
    - scala-logging_2.13-3.9.6
    - scala-reflect-2.13.18
    - slf4j-api-1.7.36
    - snakeyaml-2.5
    - snappy-java-1.1.10.11
    - swagger-annotations-2.2.55
    - zstd-jni-1.5.7-17
   
   All libs from ./libs are present in the LICENSE file.
   
   No extra dependencies in the LICENSE file.
   
   All license files referenced in the LICENSE file are present in ./licenses.
   
   All files in ./licenses are referenced in the LICENSE file.
   ```
   
   </details>
   
   ___
   
   **Test case 2.** (trunk + commit `aa07abf3e1a` `KAFKA-21287: Verify 
'licenses' folder contents in verify_license.py`)
   
   - git checkout trunk
   - git cherry-pick aa07abf3e1a
   - python3 committer-tools/verify_license.py
   ```
   dejan@home:~/kafka$ git cherry-pick aa07abf3e1a
   [trunk aeadec49b81] KAFKA-21287: Verify 'licenses' folder contents in 
verify_license.py
    Date: Thu Oct 15 16:42:39 2026 +0200
    1 file changed, 35 insertions(+), 4 deletions(-)
   dejan@home:~/kafka$ git log -2 --oneline 
   aeadec49b81 (HEAD -> trunk) KAFKA-21287: Verify 'licenses' folder contents 
in verify_license.py
   b2f85364e44 (upstream/trunk, upstream/HEAD) KAFKA-14302: Advance restored 
offsets after changelog catch-up (#23298)
   dejan@home:~/kafka$ python3 committer-tools/verify_license.py
   Using project directory: /home/dejan/kafka
   Running './gradlew clean releaseTarGz'
   
   > Configure project :
   Starting build with version 4.5.0-SNAPSHOT (commit id aeadec49) using Gradle 
9.7.1, Java 17 and Scala 2.13.18
   Build properties: ignoreFailures=false, maxParallelForks=8, 
maxScalacThreads=8, maxTestRetries=0
   ```
   build results:
   ```
   All libs from ./libs are present in the LICENSE file.
   
   No extra dependencies in the LICENSE file.
   
   The following files are referenced in the LICENSE file but not present in 
./licenses. These should be added to the licenses folder:
    - jakarta-BSD-3-clause
   
   The following files in ./licenses are not referenced in the LICENSE file. 
These should be removed from the licenses folder:
    - eclipse-distribution-license-1.0
    - jsr305-BSD-3-clause
    - mock-oauth2-server-MIT
    - paranamer-BSD-3-clause
   
   ```
   
   
   <details>
   
   <summary>build results in more details</summary>
   
   ```
   Deprecated Gradle features were used in this build, making it incompatible 
with Gradle 10.
   
   You can use '--warning-mode all' to show the individual deprecation warnings 
and determine if they come from your own scripts or plugins.
   
   For more on this, please refer to 
https://docs.gradle.org/9.7.1/userguide/command_line_interface.html#sec:command_line_warnings
 in the Gradle documentation.
   
   BUILD SUCCESSFUL in 2m 26s
   242 actionable tasks: 236 executed, 6 up-to-date
   Consider enabling configuration cache to speed up this build: 
https://docs.gradle.org/9.7.1/userguide/configuration_cache_enabling.html
   Tarball created at: 
/home/dejan/kafka/core/build/distributions/kafka_2.13-4.5.0-SNAPSHOT.tgz
   Tarball extracted to: /tmp/tmpmpr95zjq
   Tarball extracted to: /tmp/tmpmpr95zjq/kafka_2.13-4.5.0-SNAPSHOT
   
   Dependencies from libs (extracted from jar names):
    - HdrHistogram-2.2.2
    - aopalliance-repackaged-3.0.6
    - argparse4j-0.7.0
    - caffeine-3.2.4
    - classgraph-4.8.196
    - commons-beanutils-1.11.0
    - commons-collections-3.2.2
    - commons-digester-2.1
    - commons-logging-1.4.0
    - commons-net-3.13.0
    - commons-validator-1.11.0
    - hash4j-0.22.0
    - hk2-api-3.0.6
    - hk2-locator-3.0.6
    - hk2-utils-3.0.6
    - jackson-annotations-2.22
    - jackson-core-2.22.3
    - jackson-databind-2.22.3
    - jackson-dataformat-csv-2.22.3
    - jackson-dataformat-yaml-2.22.3
    - jackson-datatype-jdk8-2.22.3
    - jackson-jakarta-rs-base-2.22.3
    - jackson-jakarta-rs-json-provider-2.22.3
    - jackson-module-blackbird-2.22.3
    - jackson-module-jakarta-xmlbind-annotations-2.22.3
    - jakarta.activation-2.0.1
    - jakarta.activation-api-2.1.0
    - jakarta.annotation-api-2.1.1
    - jakarta.inject-api-2.0.1
    - jakarta.servlet-api-6.0.0
    - jakarta.validation-api-3.0.2
    - jakarta.ws.rs-api-3.1.0
    - jakarta.xml.bind-api-3.0.1
    - javassist-3.30.2-GA
    - jersey-client-3.1.10
    - jersey-common-3.1.10
    - jersey-container-servlet-3.1.10
    - jersey-container-servlet-core-3.1.10
    - jersey-hk2-3.1.10
    - jersey-server-3.1.10
    - jetty-alpn-client-12.0.39
    - jetty-client-12.0.39
    - jetty-ee10-servlet-12.0.39
    - jetty-ee10-servlets-12.0.39
    - jetty-http-12.0.39
    - jetty-io-12.0.39
    - jetty-security-12.0.39
    - jetty-server-12.0.39
    - jetty-session-12.0.39
    - jetty-util-12.0.39
    - jline-native-3.30.17
    - jline-reader-3.30.17
    - jline-terminal-3.30.17
    - jopt-simple-5.0.4
    - jose4j-0.9.6
    - jspecify-1.0.0
    - log4j-1.2-api-2.25.5
    - log4j-api-2.25.5
    - log4j-core-2.25.5
    - log4j-slf4j-impl-2.25.5
    - lz4-java-1.11.4
    - maven-artifact-3.9.16
    - metrics-core-2.2.0
    - opentelemetry-proto-1.3.2-alpha
    - osgi-resource-locator-1.0.3
    - pcollections-4.0.2
    - plexus-utils-3.6.1
    - protobuf-java-3.25.5
    - re2j-1.8
    - rocksdbjni-10.10.1.1
    - scala-library-2.13.18
    - scala-logging_2.13-3.9.6
    - scala-reflect-2.13.18
    - slf4j-api-1.7.36
    - snakeyaml-2.5
    - snappy-java-1.1.10.11
    - swagger-annotations-2.2.55
    - zstd-jni-1.5.7-17
   
   Dependencies extracted from LICENSE file:
    - HdrHistogram-2.2.2
    - aopalliance-repackaged-3.0.6
    - argparse4j-0.7.0
    - caffeine-3.2.4
    - classgraph-4.8.196
    - commons-beanutils-1.11.0
    - commons-collections-3.2.2
    - commons-digester-2.1
    - commons-logging-1.4.0
    - commons-net-3.13.0
    - commons-validator-1.11.0
    - hash4j-0.22.0
    - hk2-api-3.0.6
    - hk2-locator-3.0.6
    - hk2-utils-3.0.6
    - jackson-annotations-2.22
    - jackson-core-2.22.3
    - jackson-databind-2.22.3
    - jackson-dataformat-csv-2.22.3
    - jackson-dataformat-yaml-2.22.3
    - jackson-datatype-jdk8-2.22.3
    - jackson-jakarta-rs-base-2.22.3
    - jackson-jakarta-rs-json-provider-2.22.3
    - jackson-module-blackbird-2.22.3
    - jackson-module-jakarta-xmlbind-annotations-2.22.3
    - jakarta.activation-2.0.1
    - jakarta.activation-api-2.1.0
    - jakarta.annotation-api-2.1.1
    - jakarta.inject-api-2.0.1
    - jakarta.servlet-api-6.0.0
    - jakarta.validation-api-3.0.2
    - jakarta.ws.rs-api-3.1.0
    - jakarta.xml.bind-api-3.0.1
    - javassist-3.30.2-GA
    - jersey-client-3.1.10
    - jersey-common-3.1.10
    - jersey-container-servlet-3.1.10
    - jersey-container-servlet-core-3.1.10
    - jersey-hk2-3.1.10
    - jersey-server-3.1.10
    - jetty-alpn-client-12.0.39
    - jetty-client-12.0.39
    - jetty-ee10-servlet-12.0.39
    - jetty-ee10-servlets-12.0.39
    - jetty-http-12.0.39
    - jetty-io-12.0.39
    - jetty-security-12.0.39
    - jetty-server-12.0.39
    - jetty-session-12.0.39
    - jetty-util-12.0.39
    - jline-native-3.30.17
    - jline-reader-3.30.17
    - jline-terminal-3.30.17
    - jopt-simple-5.0.4
    - jose4j-0.9.6
    - jspecify-1.0.0
    - log4j-1.2-api-2.25.5
    - log4j-api-2.25.5
    - log4j-core-2.25.5
    - log4j-slf4j-impl-2.25.5
    - lz4-java-1.11.4
    - maven-artifact-3.9.16
    - metrics-core-2.2.0
    - opentelemetry-proto-1.3.2-alpha
    - osgi-resource-locator-1.0.3
    - pcollections-4.0.2
    - plexus-utils-3.6.1
    - protobuf-java-3.25.5
    - re2j-1.8
    - rocksdbjni-10.10.1.1
    - scala-library-2.13.18
    - scala-logging_2.13-3.9.6
    - scala-reflect-2.13.18
    - slf4j-api-1.7.36
    - snakeyaml-2.5
    - snappy-java-1.1.10.11
    - swagger-annotations-2.2.55
    - zstd-jni-1.5.7-17
   
   All libs from ./libs are present in the LICENSE file.
   
   No extra dependencies in the LICENSE file.
   
   The following files are referenced in the LICENSE file but not present in 
./licenses. These should be added to the licenses folder:
    - jakarta-BSD-3-clause
   
   The following files in ./licenses are not referenced in the LICENSE file. 
These should be removed from the licenses folder:
    - eclipse-distribution-license-1.0
    - jsr305-BSD-3-clause
    - mock-oauth2-server-MIT
    - paranamer-BSD-3-clause
   
   ```
   
   </details>
   
   :bulb: Idea: break the build in case that discrepancies are found ?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to