rdblue opened a new pull request, #16163: URL: https://github.com/apache/iceberg/pull/16163
This removes the Open API runtime Jar from build and deploy. This Jar was added by #11279. This is an alternative to recent PRs that are attempting to fix the LICENSE and NOTICE documentation, #15872 and #16143. Looking at that PR, the original runtime was about 50 MB, with a 100+ MB version that was rejected for having too much bundled. The Jar is now 4x larger: 200+ MB. I'm not confident that the original LICENSE and NOTICE were handled correctly; they were auto-generated from license-report, but had to be merged with the root and had a [LGPL dependency](https://github.com/apache/iceberg/pull/11279#issuecomment-2442559693) at some point. I also don't think that the LICENSE was ever thoroughly checked. [One comment](https://github.com/apache/iceberg/pull/11279#issuecomment-2446974737) says "I did some checking and didn't find any red flags" but it doesn't look like there was a thorough review. Rather than minimizing dependencies and reviewing the LICENSE and NOTICE content, I think that this artifact should be removed from the build. If I understand correctly, it was created in order to build a Docker image (#11283), but a Docker image doesn't require a runtime Jar. It just needs a `lib/` directory with the necessary dependencies, which is a better way to distribute transitive dependencies with their own license documentation. I also don't think that there is a reasonable use for this runtime Jar. Runtime Jars are a substantial amount of work -- to minimize dependencies and document them -- and we produce runtime Jars when it is a big help to downstream users. For example, adding Iceberg to Spark is much, much easier. We do not distribute runtime Jars for downstream projects that use build systems. Because this is integration test code, we can reasonably assume that the downstream consumers are using a build system and are able to use that to maintain their own version-managed classpath. This is also test code because we decided not to distribute an example REST service implementation in the project. I think that this runtime Jar should be removed. Projects using it for testing can use their builds to integrate it and produce the classpath. We may want a Docker image for cross-project testing within the Iceberg community, but that should be built differently. -- 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]
