kevinjqliu opened a new pull request, #18663: URL: https://github.com/apache/iceberg/pull/18663
Reconciles Kafka Connect runtime's `hive` distribution `LICENSE` and `NOTICE`. Follow up to #18019 which fixed the `main` distribution. The hive files were last touched in #15449 and are stale. Stacked on #18660, only the last commit is new. `hive/LICENSE` and `hive/NOTICE` are now `main/LICENSE` and `main/NOTICE` verbatim, plus a section at the end for the 95 hive-only deps. `main` files are unchanged. All three hive files are add-only vs main: ```sh cd kafka-connect/kafka-connect-runtime diff main/runtime-deps.txt hive/runtime-deps.txt # 95 added, 0 removed diff main/LICENSE hive/LICENSE # 435 added, 0 removed diff main/NOTICE hive/NOTICE # 307 added, 0 removed ``` So reviewers only need to check the appended sections (`hive/LICENSE` from line 2520, `hive/NOTICE` from line 761). Related to #18658. ### How each added dep is attributed Each of the 95 added `runtime-deps.txt` entries maps to a `hive/LICENSE` entry. Entries at line 2519 or earlier are inherited from main. License claims were checked against the POM and the jar's own LICENSE. Bundled code was found by scanning the jars for shaded packages, native libs and web assets. <details> <summary>runtime-deps.txt additions → hive/LICENSE</summary> | Added deps | # | `hive/LICENSE` entry (line) | License | |---|---|---|---| | hive-common, hive-metastore, hive-serde, hive-shims, hive-shims-0.23/common/scheduler, hive-storage-api | 8 | Apache Hive (2528) | Apache-2.0 | | hadoop-auth, hadoop-client, hadoop-hdfs-client, hadoop-mapreduce-client-*, hadoop-yarn-api/client | 8 | Apache Hadoop (2535) | Apache-2.0 | | hadoop-yarn-common | 1 | Apache Hadoop (2535), jQuery/jQuery UI/DataTables/jsTree (2542) | Apache-2.0, MIT | | libthrift, libfb303 | 2 | Apache Thrift (2576) | Apache-2.0 | | zookeeper, zookeeper-jute | 2 | Apache ZooKeeper (2583) | Apache-2.0 | | curator-client/framework/recipes | 3 | Apache Curator (2590) | Apache-2.0 | | kerb-\*, kerby-\* | 7 | Apache Kerby (2597) | Apache-2.0 | | audience-annotations | 1 | Apache Yetus (2604) | Apache-2.0 | | derby | 1 | Apache Derby (2611) | Apache-2.0 | | jdo-api | 1 | Apache JDO (2618) | Apache-2.0 | | ant, ant-launcher | 2 | Apache Ant (2625) | Apache-2.0 | | commons-configuration2 | 1 | Apache Commons Configuration (2632) | Apache-2.0 | | commons-dbcp | 1 | Apache Commons DBCP (2639) | Apache-2.0 | | commons-lang | 1 | Apache Commons Lang (1079, from main) | Apache-2.0 | | tomcat-embed-core | 1 | Apache Tomcat (2646), Java EE XML schemas (2653) | Apache-2.0, CDDL-1.0 | | tomcat-annotations-api | 1 | Apache Tomcat (2646) | Apache-2.0 | | jta | 1 | JTA (2660) | CDDL-1.0 | | reload4j | 1 | Reload4j (2667) | Apache-2.0 | | slf4j-reload4j | 1 | SLF4J (2366, from main) | MIT | | logback-classic, logback-core | 2 | Logback (2674) | EPL-1.0 (or LGPL-2.1) | | datanucleus-core | 1 | DataNucleus (2693), ASM (2700) | Apache-2.0, BSD-3 | | datanucleus-api-jdo, datanucleus-rdbms, javax.jdo | 3 | DataNucleus (2693) | Apache-2.0 | | jetty-\*, websocket-\* | 12 | Eclipse Jetty (2737) | Apache-2.0 (or EPL-1.0) | | guice | 1 | Google Guice (2744), ASM (2700), cglib (2751) | Apache-2.0, BSD-3 | | javax.inject | 1 | javax.inject (2758) | Apache-2.0 | | aopalliance | 1 | AOP Alliance (2765) | Public Domain | | bonecp | 1 | Jolbox BoneCP (2772) | Apache-2.0 | | joda-time | 1 | Joda-Time (2779) | Apache-2.0 | | nimbus-jose-jwt | 1 | Nimbus JOSE+JWT (2786), JCIP (2793), Gson (843, from main) | Apache-2.0 | | opencsv | 1 | OpenCSV (2800) | Apache-2.0 | | jline:jline | 1 | JLine (2807), Jansi and HawtJNI (2851) | BSD-3, Apache-2.0 | | org.jline:jline | 1 | JLine (2807) | BSD-3 | | antlr-runtime | 1 | ANTLR 3 runtime (2859) | BSD-3 | | javolution | 1 | Javolution (2893), FDLIBM (2907) | BSD, FDLIBM | | metrics-json, metrics-jvm | 2 | Codahale Metrics (1158, from main) | Apache-2.0 | | jackson-jaxrs-base, jackson-jaxrs-json-provider, jackson-module-jaxb-annotations | 3 | Jackson JSON Processor (315, from main) | Apache-2.0 | | netty-all + 15 other netty codec/transport jars | 16 | Netty (1263, from main) | Apache-2.0 | | netty-codec-native-quic | 1 | Netty (1263, from main), quiche (2927) | Apache-2.0, BSD-2 | </details> <details> <summary>hive/NOTICE additions</summary> Every non-ASF NOTICE line in the added jars is in `hive/NOTICE`, either inherited from main or in the appended section. The appended sections are copied verbatim from the jar's `META-INF/NOTICE`. | `hive/NOTICE` entry (line) | Source | |---|---| | netty-codec-native-quic (769) | lines not already in main's Netty NOTICE | | Apache Derby (787) | header and IBM copyrights. Skips NIST tests, Felix, Lucene and json-simple, which are build-only and not in `derby.jar` | | Apache Ant (806) | full | | Apache Tomcat (816) | full | | DataNucleus Core (847) | full | | DataNucleus RDBMS (888) | full | | Eclipse Jetty (931) | full, same NOTICE in all 12 jetty jars | | Google Guice (1053) | full | | Joda-Time (1062) | full | The rest have no NOTICE, ASF boilerplate only, or a NOTICE already covered by main (e.g. the Jackson JAX-RS/JAXB jars carry an older wording of the Jackson NOTICE). </details> ### Testing `./gradlew checkAllRuntimeDeps -DallModules=true` passes. Built `./gradlew :iceberg-kafka-connect:iceberg-kafka-connect-runtime:hiveDistZip -DallModules`, the zip's `doc/LICENSE` and `doc/NOTICE` match `hive/LICENSE` and `hive/NOTICE`, and its `lib/` matches `hive/runtime-deps.txt`. --- **AI Disclosure** - Model: Claude Opus 5.5 - Platform/Tool: GitHub Copilot - Human Oversight: [unknown - human to fill in] - Prompt Summary: Fix the Kafka Connect hive distribution LICENSE and NOTICE on top of the main distribution's, and verify every added runtime dependency is attributed -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
