Skip to content

Upgrade jcabi parent to 1.44.0 and refresh dependencies#60

Closed
bibonix wants to merge 1 commit intojcabi:masterfrom
bibonix:deps-upgrade
Closed

Upgrade jcabi parent to 1.44.0 and refresh dependencies#60
bibonix wants to merge 1 commit intojcabi:masterfrom
bibonix:deps-upgrade

Conversation

@bibonix
Copy link
Copy Markdown

@bibonix bibonix commented Apr 25, 2026

This PR refreshes the project to the latest stable artifacts the
jcabi parent already exposes:

dependency / parent from to
com.jcabi:jcabi (parent POM) 1.38.0 1.44.0
org.apache.commons:commons-lang3 3.13.0 3.20.0
org.projectlombok:lombok 1.18.36 1.18.46

jcabi-aspects was already at 0.26.0, the latest release.

Code change

commons-lang3 3.20 deprecates the static
StringUtils.equalsIgnoreCase(CharSequence, CharSequence). The single
call site in URN#validate was switched to plain
String#equalsIgnoreCase, since URN.PREFIX and nid are both
String. Without this change the new deprecation warning would fail
the build under the -Werror compiler flag set by the parent.

Verification

mvn --batch-mode clean install -Pqulice
[INFO] Tests run: 28, Failures: 0, Errors: 0, Skipped: 1
[INFO] BUILD SUCCESS

Notes about qulice 0.26.0

I attempted to bump the linter to 0.26.0 (the parent stays on
0.25.1) but that release ships two new checks that would each
require an architectural rewrite rather than a code clean-up:

  • ConstructorsCodeFreeCheck rejects every method call inside a
    constructor (regex text.matches(...), String.format(...),
    URN.encode(...) and the private validate() helper), which
    forces the validation/normalisation logic out of every public
    URN(...) constructor. Since these constructors are part of the
    public API and validation can't be deferred without a behavioural
    change, this is left out of scope.
  • QualifyInnerClassCheck adds the root class itself to its
    "nested" set, so any new URN(...) inside URN.java (e.g. the
    static factory URN.create) is reported. This looks like a bug in
    the check rather than a code smell to fix here.

The local qulice-maven-plugin version override was therefore left at
0.25.1, which matches what the upgraded parent provides anyway.

- Bump parent jcabi to 1.44.0 (was 1.38.0)
- Bump commons-lang3 to 3.20.0 (was 3.13.0)
- Bump lombok to 1.18.46 (was 1.18.36)
- Replace StringUtils.equalsIgnoreCase deprecated in commons-lang3 3.20
  with String#equalsIgnoreCase to keep the build warning-free under
  -Werror
@bibonix bibonix closed this Apr 25, 2026
@bibonix
Copy link
Copy Markdown
Author

bibonix commented Apr 25, 2026

Closing as redundant — master already contains these exact upgrades via #59. Will pivot to other improvements.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant