Skip to content

Deps: parent POM 55 and others#105

Open
cstamas wants to merge 5 commits into
mainfrom
parent-55
Open

Deps: parent POM 55 and others#105
cstamas wants to merge 5 commits into
mainfrom
parent-55

Conversation

@cstamas
Copy link
Copy Markdown
Member

@cstamas cstamas commented May 28, 2026

Changes:

  • parent POM 55
  • wrapper uses 3.9.16
  • apply new Modernizer rules (coming with parent POM 55)
  • slight update and tidy up of dependencies

Summary by CodeRabbit

  • Chores

    • Updated Maven wrapper to 3.9.16 and extension to 0.9.2
    • Bumped parent POM to version 55
    • Upgraded dependencies: tamboui (0.3.0), domtrip (1.5.2), jline (3.30.13), ASM (9.10.1), JUnit Jupiter (6.1.0)
  • Refactor

    • Modernized string formatting across the codebase
    • Adjusted console-related dependency declarations and exclusions; updated shading exclusions
    • Removed unused imports and simplified collection usages
  • Tests

    • Updated test output generation to use the new string formatting approach

Review Change Stack

@cstamas cstamas self-assigned this May 28, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 28, 2026

Warning

Review limit reached

@gnodet, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 40 minutes. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 657e2655-3665-45cb-b08b-3475e4414bd9

📥 Commits

Reviewing files that changed from the base of the PR and between 5349674 and f327728.

📒 Files selected for processing (3)
  • pilot-core/src/main/java/eu/maveniverse/maven/pilot/SearchTui.java
  • pilot-core/src/test/java/eu/maveniverse/maven/pilot/HelpOverlayTest.java
  • pilot-core/src/test/java/eu/maveniverse/maven/pilot/SearchTuiTest.java
📝 Walkthrough

Walkthrough

Bumps Maven extension and wrapper versions, updates parent POM and managed dependency versions, refactors CLI jline dependency declarations and shade exclusions, replaces String.format with String.formatted across code and tests, and migrates some Collections usages to List.of with minor input-handling fixes.

Changes

Build Tooling and Code Modernization

Layer / File(s) Summary
Maven toolchain and parent POM updates
.mvn/extensions.xml, .mvn/wrapper/maven-wrapper.properties, pom.xml
Maven extension version upgraded to 0.9.2, wrapper distribution set to Maven 3.9.16, parent POM bumped to 55, project properties updated (tamboui, domtrip, jline), ASM version → 9.10.1, and jline/junit-jupiter entries added/updated in dependencyManagement.
jline dependency refactoring and shade config
pilot-cli/pom.xml
maven-embedder now excludes org.jline:* and the module declares org.jline:jline + org.jline:jline-console-ui; shade plugin now excludes module-info.class.
String formatting API modernization
pilot-core/.../HelpOverlay.java, pilot-core/.../PomTui.java, pilot-core/.../UnifiedDiff.java, pilot-core/.../RecordingDemoTest.java, pilot-plugin/.../PomMojo.java
Replaces String.format(...) usages with the String.formatted(...) instance method in several rendering and test locations without changing output formatting.
Collections to List API migration and input handling
pilot-plugin/.../MojoHelper.java, pilot-core/.../SearchTui.java
Removes unused Collections imports, changes Collections.emptyList()List.of() and Collections.singletonList("")List.of(""), and uses key.string() for search/table character input handling.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • maveniverse/pilot#34: Also modifies .mvn/wrapper/maven-wrapper.properties for Maven wrapper distribution updates.
  • maveniverse/pilot#15: Also bumps the Maven extension version in .mvn/extensions.xml.

Suggested labels

enhancement

Poem

🐰 A little hop, a tiny tweak,
Versions climb while builds won't squeak.
String.formatted hums in code so neat,
Collections shrink to List.of's beat.
Maven's gears now spin in sync — hooray, a treat!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 54.55% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main objective of the changeset: updating the parent POM to version 55 and related dependency updates, which is the primary change across all modified files.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch parent-55

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@cstamas cstamas requested a review from gnodet May 28, 2026 13:30
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 28, 2026

Actionable comments posted: 0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pilot-core/src/main/java/eu/maveniverse/maven/pilot/SearchTui.java`:
- Line 367: SearchTui's change to key.string() means the remaining uses of
KeyEvent.character() must be migrated to key.string() across SearchController,
ToolPanel, SearchInput, PilotShell, and DependenciesTui; replace calls to
key.character() with key.string() and where the code performs char-based
comparisons or arithmetic (e.g., digit checks, Character.toLowerCase, numeric
offsets, switch-on-char) convert the returned string to a char via
string.charAt(0) (or use string.codePointAt(0) for full Unicode codepoint logic)
before applying Character methods or arithmetic; update the referenced
methods/blocks in SearchController (char checks around line ~76), ToolPanel
(~670), SearchInput (~105), PilotShell (around ~293, ~376-378, ~401-409), and
DependenciesTui (~513-514) to use key.string() + .charAt(0) (or codePointAt
where appropriate) so comparisons and digit arithmetic behave identically.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 84b4fb44-3dd0-4c55-8e0d-cfa8a3abd083

📥 Commits

Reviewing files that changed from the base of the PR and between 21413d8 and 5349674.

📒 Files selected for processing (1)
  • pilot-core/src/main/java/eu/maveniverse/maven/pilot/SearchTui.java

}
if (key.code() == KeyCode.CHAR) {
searchBuffer.insert(cursorPos, key.character());
searchBuffer.insert(cursorPos, key.string());
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Find all remaining usages of key.character() in the codebase

# Search for key.character() calls
echo "=== Searching for key.character() usages ==="
rg -nP '\bkey\.character\(\)' --type=java -C2

# Also check for KeyEvent variable names with character() calls
echo -e "\n=== Searching for any .character() on KeyEvent-like variables ==="
rg -nP '\b\w+\.character\(\)' --type=java -g '**/*Tui.java' -g '**/*Input.java' -g '**/*Controller.java' -C2

Repository: maveniverse/pilot

Length of output: 6943


Complete the KeyEvent.character()key.string() migration across the codebase

  • SearchTui.java is updated (lines ~367 and ~428), but remaining key.character() usages still exist in:
    • SearchController.java (~line 76)
    • ToolPanel.java (~line 670)
    • SearchInput.java (~line 105)
    • PilotShell.java (~lines 293, 376-378, 401-409)
    • DependenciesTui.java (~lines 513-514)
  • Those remaining call sites need to switch to key.string(), with proper conversion where the code currently relies on a char for comparisons/arithmetic (digits / Character.toLowerCase, etc.).
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pilot-core/src/main/java/eu/maveniverse/maven/pilot/SearchTui.java` at line
367, SearchTui's change to key.string() means the remaining uses of
KeyEvent.character() must be migrated to key.string() across SearchController,
ToolPanel, SearchInput, PilotShell, and DependenciesTui; replace calls to
key.character() with key.string() and where the code performs char-based
comparisons or arithmetic (e.g., digit checks, Character.toLowerCase, numeric
offsets, switch-on-char) convert the returned string to a char via
string.charAt(0) (or use string.codePointAt(0) for full Unicode codepoint logic)
before applying Character methods or arithmetic; update the referenced
methods/blocks in SearchController (char checks around line ~76), ToolPanel
(~670), SearchInput (~105), PilotShell (around ~293, ~376-378, ~401-409), and
DependenciesTui (~513-514) to use key.string() + .charAt(0) (or codePointAt
where appropriate) so comparisons and digit arithmetic behave identically.

gnodet and others added 2 commits May 28, 2026 17:42
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@sonarqubecloud
Copy link
Copy Markdown

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.

2 participants