chore: bump resourceServerVersion 1.5.2 → 1.5.3#2964
Merged
bjagg merged 3 commits intoApr 29, 2026
Conversation
Problem: resource-server 1.5.3 was just released (today), but uPortal master still pins 1.5.2. Per docs/developer/other/RELEASE.md, "resourceServerVersion ... Should use the latest version in uPortal." Goal: consume the just-released resource-server in the upcoming 5.17.3 release. Changes: - gradle.properties: resourceServerVersion 1.5.2 → 1.5.3. Notes: 1.5.3's payload (vs 1.5.2) is uportal-portlet-parent 44 → 48 + redundant pom-entry cleanup, plus a batch of dep hygiene bumps (commons-codec/io/compress, maven-plugin-api, checkstyle, javadoc, esbuild, foundation, actions/checkout, setup-java). No API changes.
… split Problem: After bumping resourceServerVersion 1.5.2 → 1.5.3, the :uPortal-webapp:aggregateRespondrSkins task fails with NoSuchMethodError: 'java.lang.CharSequence org.apache.commons.lang3.StringUtils.getIfEmpty(java.lang.CharSequence, java.util.function.Supplier)' at org.apache.commons.lang3.SystemProperties.getProperty(...) at org.apache.commons.lang3.SystemProperties.getUserName(...) The cause is a classloader split. resource-server 1.5.3 transitively brings commons-compress 1.28.0 onto the buildscript classpath, which in turn pulls commons-lang3 3.18.0. commons-compress 1.28 calls into commons-lang3 SystemProperties (introduced in 3.13), which itself calls StringUtils.getIfEmpty(T, Supplier<T>) (added in 3.10). Gradle 6.9.4 bundles commons-lang3 3.7 on its parent classloader and that wins the StringUtils class resolution, so the SystemProperties method body invokes a method that doesn't exist in 3.7. Boom. Goal: keep aggregateRespondrSkins working without dragging Gradle's internal lang3 forward (out of scope) and without rolling back the resource-server release. Side note: uPortal's runtime classpath is unaffected — this conflict is purely buildscript-scope. Changes: - uPortal-webapp/build.gradle: in the buildscript block, force commons-compress to commonsCompressVersion (1.27.1) via resolutionStrategy. 1.27.x doesn't touch SystemProperties, so the classloader split never matters. Notes: a longer-term cleanup would be to bump Gradle (it ships much newer commons-lang3 in 7.x+) or replace commons-compress's role here entirely. For now this is a one-line constraint that keeps the release moving.
…-io 2.22
Problem: After bumping resource-server to 1.5.3, this test fails
locally and in CI:
org.apereo.portal.portlet.container.cache.LimitingTeeOutputStreamTest
> testContentExceedsClearBuffer FAILED
java.lang.IndexOutOfBoundsException at LimitingTeeOutputStreamTest.java:77
Line 77 was `stream.write(content, 5, content.length)`. With
content.length = 21, that's "write 21 bytes starting at offset 5",
which reads up to byte index 26 in a 21-byte array — invalid per the
OutputStream.write(byte[], int, int) contract.
The bug existed before this PR. resource-server 1.5.3 transitively
bumps commons-io 2.20.0 → 2.22.0, and 2.22's NullOutputStream is
stricter about bounds checking than 2.20's, which is what unmasked
the latent test bug.
Goal: make the test reflect what was clearly intended — write the
remaining 16 bytes after the first 5, exceeding the maxBytes=20
threshold so the limit-reached callback fires.
Changes:
- LimitingTeeOutputStreamTest.java:77: `content.length` →
`content.length - 5` so the call is in-bounds.
Notes: also folds in the buildscript force from the previous commit
(needed for aggregateRespondrSkins). Together they unblock the
resource-server 1.5.3 bump in this PR. Verified: full
:uPortal-webapp:test now passes (297 / 0 / 78 skipped).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Pre-5.17.3-release bump: consume the just-released
resource-server:1.5.3instead of1.5.2.Why
Per docs/developer/other/RELEASE.md:
resource-server:1.5.3was released to Maven Central earlier today. Bumping here so the upcoming uPortal 5.17.3 release consumes the latest.What's in 1.5.3 vs 1.5.2
uportal-portlet-parent:44 → :48plus pruning of redundant<dependencyManagement>entries inherited from the new parentTest plan
🤖 Generated with Claude Code