-
Notifications
You must be signed in to change notification settings - Fork 623
Updating Gradle and Bnd Version
-
Build open-liberty at the integration branch and copy
build.image/wlpinto 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.bndto 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/wlpandbuild.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.zipfrom 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.versionproperty to the latest version. After delivery into integration, theLiberty Official Release Build - Staticdefinition needsgradle.versionset 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.