Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-4575

Remove Gradle wrapper from source distribution

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • avatica-1.17.0, 1.26.0
    • avatica-1.18.0, 1.27.0
    • avatica, build
    • 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

          Activity

            People

              julianhyde Julian Hyde
              julianhyde Julian Hyde
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1h
                  1h