How to upgrade Guava in Drill

To avoid conflicts with the version of Guava used by Drill and versions used by other dependencies, Guava was shaded.

Update shaded version of guava

  • Set the new version of Guava to guava.version property and to the version of the artifact in drill-shaded/drill-shaded-guava/pom.xml file.
  • Set the same new version of Guava to shaded.guava.version property in the root pom.xml file.
  • Build drill-shaded-guava module.
  • Try to build Drill and resolve compile errors if required.
  • When all errors are resolved and all tests are passed, push shaded artifacts to the Apache repository.
  • After artifacts became available, changes may be merged.

How to publish artifacts to the Apache repository

Prerequisites

Only PMC members have an access for pushing artifacts to the Apache repository.

Setup your development env according to this instruction.

Set passphrase variable without putting it into shell history:

read -s GPG_PASSPHRASE

Deploy artifacts with signatures to the staging repository

Change directory to drill/drill-shaded/drill-shaded-guava.

  • For the case when maven-gpg-plugin plugin wasn’t added to the pom.xml, run

mvn clean verify gpg:sign install:install deploy:deploy -Darguments="-Dgpg.passphrase=${GPG_PASSPHRASE} -Dgpg.keyname=${GPG_KEY_ID}"

  • For the case of configured maven-gpg-plugin plugin, run

mvn deploy -Darguments="-Dgpg.passphrase=${GPG_PASSPHRASE} -Dgpg.keyname=${GPG_KEY_ID}"

Visit repository.apache.org

  • Log in using your Apache credentials
  • Select uploaded staging repository
  • Check that all required jar and pom files are uploaded
  • Verify that every jar and pom file has a corresponding signature file (*.asc)

If something went wrong, press Drop to remove the staging repository.

Close staging repository

Select uploaded staging repository and press Close button.

Verify that all checks are passed and staging repository was closed. Otherwise, drop staging repository and fix errors.

Publish artifacts to the Apache repository

Select uploaded staging repository and press Release button.

Check that artifacts were deployed

Find deployed artifacts at repository.apache.org

Artifacts will become available within 24 hours.