-
Notifications
You must be signed in to change notification settings - Fork 599
Updating Gradle and Bnd Version
-
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. Modify files below to point to the new version. Run a search on the workspace for
biz.aQute.bnd
to update projects that have bnd buildpath entries.
When updating open-liberty:
- https://github.com/OpenLiberty/open-liberty/blob/integration/dev/gradle.properties#L16
- https://github.com/OpenLiberty/open-liberty/blob/integration/dev/cnf/oss_dependencies.maven
When updating WS-CD-Open:
- https://github.ibm.com/websphere/WS-CD-Open/blob/integration/dev/gradle.properties#L6
- https://github.ibm.com/websphere/WS-CD-Open/blob/integration/cnf/oss_dependencies.maven
-
Build open-liberty again and fix any 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 to get the build outputs matching.
- Checkout a new branch to make version updates. Modify files below to point to the new version.
When updating open-liberty, open a PR to change:
When updating WS-CD-Open, open a PR to change:
Update default version in build scripts. A build that hasn't set the gradle.version
property will use this version, and only Release and iFix builds will have set gradle.version
.
- https://github.ibm.com/websphere/WS-CD-Open/blob/integration/dev/prereq.published/build.xml#L26
- https://github.ibm.com/websphere/rtc-build-launcher/blob/integration/BuildLauncher/build-liberty-laos-ghe.xml#L570
-
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 to libertyfs at/liberty/prereqs/gradle
. This change is so internal builds can pull from our internal network and not the public gradle.org server. -
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.