-
Notifications
You must be signed in to change notification settings - Fork 602
Updating Gradle and Bnd Version
Relevant sources:
- https://github.com/OpenLiberty/open-liberty/blob/integration/dev/.gradle-wrapper/gradle-wrapper.properties
- https://github.com/OpenLiberty/open-liberty/blob/integration/dev/gradle.properties
- https://github.com/OpenLiberty/open-liberty/blob/integration/dev/cnf/oss_dependencies.maven
-
Build open-liberty at the integration branch and copy
build.image/wlp
into a temporary directory, such asbuild.image/wlp-integration
. -
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. -
Build open-liberty again and fix errors from upgrading.
-
Run a compare tool such as Beyond Compare on
build.image/wlp
andbuild.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
-
Make corrections in *.bnd files or *.gradle scripts to get the build outputs to match.
-
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 intolibertyfs.hursley.ibm.com/liberty/prereqs/gradle
. -
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, theLiberty Official Release Build - Static
definition needsgradle.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.