build!: upgrade Gradle 6.9.4 to 8.5#681
build!: upgrade Gradle 6.9.4 to 8.5#681ChristianMurphy wants to merge 1 commit intouPortal-Project:masterfrom
Conversation
Blocker for the Spring 5/6 migration — uPortal-start must
track the same Gradle version as the upstream framework.
Changes:
- Wrapper upgraded from 6.9.4 → 8.5 (jar, scripts, properties)
- compile → implementation, runtime → runtimeOnly,
testCompile → testImplementation across all 18 overlay
build files
- archiveName → archiveFileName.set() (deprecated property
removed in Gradle 8)
- Removed 'maven' plugin from overlays/build.gradle
(superseded by maven-publish in the framework)
- testCompile with closure → testImplementation (cas overlay)
- configurations.jdbc as dependency → extendsFrom jdbc
on implementation and impexp (Gradle 8 disallows adding
a Configuration object as a dependency)
- WarOverlayPlugin: configurations.runtime →
configurations.runtimeClasspath (runtime removed in
Gradle 8)
- PortalShellInvoker: project.getProperty('libsDir') →
new File(buildDir, 'libs') (libsDir property removed
in Gradle 8)
- buildSrc/build.gradle: compile → implementation
- overlays/uPortal: configurations.runtime →
configurations.runtimeClasspath for skin prep task
Verified: portalInit + tomcatStart succeed,
81 Playwright E2E tests pass.
There was a problem hiding this comment.
Pull request overview
This PR upgrades Gradle from version 6.9.4 to 8.5, which is a blocker for the Spring 5/6 migration. The upgrade requires updating deprecated Gradle APIs across 18 overlay build files and related build infrastructure.
Changes:
- Gradle wrapper upgraded from 6.9.4 to 8.5 (properties, scripts, and JAR)
- All deprecated dependency configurations updated:
compile→implementation,runtime→runtimeOnly,testCompile→testImplementation - Configuration inheritance pattern changed from direct configuration-as-dependency to
extendsFromfor JDBC driver sharing - Deprecated Gradle properties replaced:
archiveName→archiveFileName.set(),configurations.runtime→configurations.runtimeClasspath, removedlibsDirproperty
Reviewed changes
Copilot reviewed 25 out of 26 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| gradle/wrapper/gradle-wrapper.properties | Updated distribution URL from Gradle 6.9.4 to 8.5 |
| gradle/wrapper/gradle-wrapper.jar | Binary wrapper JAR updated for Gradle 8.5 |
| gradlew | Unix wrapper script updated with Gradle 8.5 improvements |
| gradlew.bat | Windows wrapper script updated with Gradle 8.5 improvements |
| overlays/build.gradle | Removed deprecated 'maven' plugin; added extendsFrom for jdbc configuration sharing |
| overlays/uPortal/build.gradle | Updated runtime → runtimeOnly, archiveName → archiveFileName.set() |
| overlays/resource-server/build.gradle | Updated all runtime → runtimeOnly, archiveName → archiveFileName.set() |
| overlays/pluto-testsuite/build.gradle | Updated runtime → runtimeOnly, archiveName → archiveFileName.set() |
| overlays/jasig-widget-portlets/build.gradle | Updated runtime → runtimeOnly, removed compile configurations.jdbc |
| overlays/esup-filemanager/build.gradle | Updated runtime → runtimeOnly, archiveName → archiveFileName.set() |
| overlays/cas/build.gradle | Updated all configurations: runtime → runtimeOnly, compile → implementation, testCompile → testImplementation |
| overlays/cas-proxy-test-portlet/build.gradle | Updated runtime → runtimeOnly, archiveName → archiveFileName.set() |
| overlays/basiclti-portlet/build.gradle | Updated runtime → runtimeOnly, archiveName → archiveFileName.set() |
| overlays/WebProxyPortlet/build.gradle | Updated runtime → runtimeOnly, archiveName → archiveFileName.set() |
| overlays/SimpleContentPortlet/build.gradle | Updated runtime → runtimeOnly, removed compile/impexp configurations.jdbc |
| overlays/ResourceServingWebapp/build.gradle | Updated runtime → runtimeOnly, archiveName → archiveFileName.set() |
| overlays/NotificationPortlet/build.gradle | Updated runtime → runtimeOnly, removed compile configurations.jdbc |
| overlays/NewsReaderPortlet/build.gradle | Updated runtime → runtimeOnly, removed compile/impexp configurations.jdbc |
| overlays/FunctionalTestsPortlet/build.gradle | Updated runtime → runtimeOnly, archiveName → archiveFileName.set() |
| overlays/FeedbackPortlet/build.gradle | Updated runtime → runtimeOnly, removed compile configurations.jdbc |
| overlays/CalendarPortlet/build.gradle | Updated runtime → runtimeOnly, removed compile/impexp configurations.jdbc |
| overlays/BookmarksPortlet/build.gradle | Updated runtime → runtimeOnly, removed compile configurations.jdbc |
| overlays/Announcements/build.gradle | Updated runtime → runtimeOnly, removed compile/impexp configurations.jdbc |
| buildSrc/build.gradle | Updated compile → implementation |
| buildSrc/src/main/groovy/scaldingspoon/gradle/WarOverlayPlugin.groovy | Updated configurations.runtime → configurations.runtimeClasspath |
| buildSrc/src/main/groovy/org/apereo/portal/start/shell/PortalShellInvoker.groovy | Replaced project.getProperty('libsDir') with new File(buildDir, 'libs') |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| dependencies { | ||
| runtime "org.jasig.portal:uPortal-webapp:${uPortalVersion}@war" | ||
| compile configurations.jdbc | ||
| runtimeOnly "org.jasig.portal:uPortal-webapp:${uPortalVersion}@war" | ||
| } |
There was a problem hiding this comment.
The prepareSkinResources task still references configurations.runtime on lines 111-112, but this configuration was removed in Gradle 8. These references should be updated to use configurations.runtimeClasspath for consistency with the other changes in this PR and to ensure compatibility with Gradle 8.
Checklist
Description of change
Blocker for the Spring 5/6 migration — uPortal-start must track the same Gradle version as the upstream framework.
Changes:
Verified: portalInit + tomcatStart succeed,
81 Playwright E2E tests pass.