slachiewicz commented on code in PR #898:
URL: https://github.com/apache/incubator-xtable/pull/898#discussion_r3835768237
##########
pom.xml:
##########
@@ -702,6 +706,38 @@
</resourceBundles>
</configuration>
</execution>
+ <!--
+ Renders the bundled jar's LICENSE for the shaded modules.
+ Must run before process-resource-bundles, or that
execution
+ copies its own META-INF/LICENSE verbatim and the render
is
+ skipped.
+ -->
+ <execution>
+ <id>process-bundled-resources</id>
Review Comment:
HBase is the precedent I modeled this on, and you found the exact machinery.
Two more projects use the same pattern for shaded jars: Apache Ratis
(`ratis-resource-bundle` is a direct copy of the HBase setup) and
`hbase-connectors`. Beyond shaded jars, the `supplemental-models.xml` +
velocity mechanism is standard ASF tooling — Karaf, TomEE, CXF, ServiceMix,
James, Qpid Broker-J, AsterixDB and Maven's own distribution all render LICENSE
from it.
One correction on the hand-maintained side: `dev/check-license` in Spark and
Iceberg is an Apache RAT run — it checks source headers, not bundled LICENSE
content. Spark's `LICENSE-binary` and Kafka's `licenses/` are hand-maintained
with no automated validation at all. The real precedent for #895's model is
Flink, whose `flink-ci-tools` LicenseChecker diffs shade output against
hand-maintained NOTICE files.
So the field splits roughly: HBase/Ratis generate, Flink hand-maintains with
strict validation, Spark/Kafka/Hudi/Iceberg hand-maintain with none — and
XTable's history shows what the last option leads to. Either #898 or #895 would
put us in the top two groups. Note `validate_bundled_license_texts.py` stays as
the validation layer in both.
*This comment was created with AI assistance.*
--
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]