Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
avatica-1.17.0, 1.26.0
-
None
Description
Apache release policy does not allow binary files in source releases, and in particular not JAR files. Calcite and Avatica source code includes the Gradle wrapper, which requires gradle/wrapper/gradle-wrapper.jar. The policy exempts a few build tools, but the Gradle wrapper is not among them. A request to expand the list (see LEGAL-288) was denied.
In my opinion, the list should be expanded to include gradle-wrapper.jar, but that is not current policy.
I propose to solve this by removing the Gradle wrapper from the source distribution and amending site/_docs/howto.md to explain that people building from a source distribution (not from Git) need to install a particular version of Gradle first. The list of files to be removed from the source distribution is as follows:
- gradlew
- gradlew.bat
- gradle/wrapper/gradle-wrapper.jar
- gradle/wrapper/gradle-wrapper.properties
These files would not be removed from Git.
In future, anyone upgrading Gradle would also need to edit the version in site/_docs/howto.md.
(Note that OFBIZ-10145 is another solution to this problem. In my opinion, it is an inferior solution for our case. It is more complicated for people building from Git, and would require us to maintain the shell scripts that replace the functionality of gradle-wrapper.jar.)
This change needs to be applied to both Calcite and Avatica.
Attachments
Issue Links
- is related to
-
OFBIZ-10145 Remove the Gradle wrapper from our release packages and add a step to our build notes
- Closed
-
LEGAL-288 Can the allowed embedded build tools be expanded?
- Closed
- relates to
-
CALCITE-5197 Bump gradle to 7.4.2 and add checksum autoupdate
- Closed
-
SDAP-424 Inclusion of precompiled code (gradle-wrapper.jar) in release
- Closed
-
CALCITE-2925 Exclude maven-wrapper.jar from source distribution
- Closed
-
LEGAL-570 Can gradle-wrapper.jar be included into "INCLUDING BUILD TOOLS" list?
- Closed
- links to