Skip to content

Updating Gradle and Bnd Version

Ethan Fritz edited this page Jan 11, 2021 · 6 revisions

Updating Gradle and Bnd Version

Relevant sources:

  1. Build open-liberty at the integration branch and copy build.image/wlp into a temporary directory, such as build.image/wlp-integration.

  2. Checkout a new branch to make version updates to. Modify files above to new versions of the tools. Run a search on the workspace for biz.aQute.bnd to update projects that have bnd buildpath entries.

  3. Build open-liberty again and fix errors from upgrading.

  4. Run a compare tool such as Beyond Compare on build.image/wlp and build.image/wlp-integration. Manifest files aren't readily comparable because they wrap lines, so they will need to be passed through a sort first. I've created a utility script to do that. Backup the directories you intend to run it on in case you want to revert back to a useable wlp.

https://github.com/OpenLiberty/open-liberty/tree/integration/dev/wlp-gradle/utility/build.gradle

cp -r build.image/wlp build.image/wlp.backup
cp -r build.image/wlp-integration build.image/wlp-integration.backup
./gradlew -b wlp-gradle/utility/build.gradle sortWlpBundleManifests -PworkspaceDir=${OL_HOME}/dev/build.image/wlp/lib
./gradlew -b wlp-gradle/utility/build.gradle sortWlpBundleManifests -PworkspaceDir=${OL_HOME}/dev/build.image/wlp-integration/lib
  1. Make corrections in *.bnd files or *.gradle scripts to get the build outputs to match.

  2. This step requires SFTP access to libertyfs, which can be done by anyone on CD/CSI. Download the latest gradle-*-bin.zip from https://gradle.org/releases/ and SFTP it into libertyfs.hursley.ibm.com/liberty/prereqs/gradle.

  3. When submitting a personal build for Gradle updates, manually request a build and set the build definition's gradle.version property to the latest version. After delivery into integration, the Liberty Official Release Build - Static definition needs gradle.version set to the latest version. The reason for this property is that iFix build definitions created by copying the release definition need to remain at an unchanged version.

Clone this wiki locally