rmoff opened a new pull request, #18019:
URL: https://github.com/apache/iceberg/pull/18019

   This makes the Kafka Connect runtime distribution's `LICENSE` and `NOTICE` 
files
   account for every third-party jar it bundles, so the artifact meets the ASF
   requirements for a released distribution. It continues the work Ryan started 
in
   #16147; the structural commits here are taken directly from that PR, with his
   authorship preserved.
   
   ### What this changes
   
   The runtime no longer builds a Hive distribution, and it depends on the
   `iceberg-aws-bundle`, `iceberg-gcp-bundle` and `iceberg-azure-bundle` 
artifacts
   rather than hand-picking the individual cloud SDK dependencies. Depending on 
the
   bundles means the runtime ships the same set of cloud jars they do, so its 
LICENSE
   and NOTICE content can be copied from the bundles' own files and stay in 
sync with
   them over time. `runtime-deps.txt` is regenerated for the new dependency set.
   
   With that in place, `main/LICENSE` is reconciled against the jars actually 
present
   in the built distribution. The `jsr305` entry is removed (it is now excluded 
from
   the runtime), along with several entries for jars that are no longer bundled.
   Entries are added for third parties that were bundled but previously 
unaccounted
   for, including full licence text for the non-Apache ones: Bouncy Castle 
(MIT), and
   the MSV, RELAX NG Datatype (BSD) and isorelax (CDDL) components shaded inside
   Woodstox. Cloud-related entries are copied verbatim from the aws/gcp/azure 
bundle
   LICENSE files.
   
   `main/NOTICE` is reconciled the same way. It carries the required 
attributions for
   the bundled jars: the cloud notices are copied verbatim from the bundle 
NOTICE
   files, and the substantive non-cloud notices are added (Apache Hadoop's
   export-control notice, Apache Commons Math, Jakarta Activation, 
grpc-netty-shaded,
   and Jackson including its Schubfach attribution). Notices that contain only 
the
   standard "developed at The Apache Software Foundation" boilerplate are 
omitted, as
   they are already covered by the top-level Apache Iceberg attribution at the 
head of
   the file.
   
   ### Notes for reviewers
   
   A few decisions are worth calling out:
   
   - Removing the Hive distribution is user-facing. A follow-up can add it back 
with
     its own `runtime-deps.txt` if it is still wanted.
   - The `hadoop-shaded-guava` and `hadoop-shaded-protobuf` jars are 
deliberately not
     given their own LICENSE entries. Their shaded contents (Guava and Protobuf)
     already have entries, which matches how the distribution already handles
     `grpc-netty-shaded` — it lists gRPC and Netty rather than the shaded 
wrapper. I am
     happy to add explicit `(bundled by ...)` sub-entries instead if that is 
preferred.
   - isorelax is copied from `gcp-bundle` with its full CDDL text. That differs 
from
     the URL-pointer style used for the directly-bundled CDDL dependencies 
(jaxb and
     friends); I matched the bundle rather than the local convention, but am 
happy to
     trim it to a pointer for consistency.
   - OpenTelemetry and Bouncy Castle (which has relicensed to MIT) were bundled 
but
     unaccounted for before this change, so this PR also closes those 
pre-existing gaps.
   - The non-Hive distribution grows from roughly 239 to 253 bundled jars, 
because the
     full cloud bundles carry a few more artifacts than the previous 
hand-picked set.
   - Trimming the Hadoop dependencies the distribution may not need is 
deliberately
     left out of this PR; it changes runtime behaviour and belongs in a 
separate,
     tested change.
   
   ### Verification
   
   The distribution builds (`distZip`) and `checkRuntimeDeps` passes, 
confirming the
   manifest matches the resolved runtime classpath. The Kafka Connect 
integration
   tests pass (13 of 13) against the built distribution, exercising the
   cloud-bundle-based runtime end to end. LICENSE and NOTICE coverage was 
audited jar
   by jar against the artifacts actually present in the built zip.
   
   ---
   
   Prepared with Claude (Opus 4.8), human-driven and reviewed.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


-- 
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]

Reply via email to