Skip to content

add maven wrapper#341

Merged
infeo merged 2 commits intodevelopfrom
feature/maven-wrapper
Mar 4, 2026
Merged

add maven wrapper#341
infeo merged 2 commits intodevelopfrom
feature/maven-wrapper

Conversation

@infeo
Copy link
Member

@infeo infeo commented Mar 4, 2026

No description provided.

@infeo infeo added this to the 2.10.0 milestone Mar 4, 2026
@infeo infeo self-assigned this Mar 4, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 4, 2026

Walkthrough

Adds Maven Wrapper support: a .mvn/wrapper/maven-wrapper.properties file and two wrapper scripts (mvnw and mvnw.cmd) that resolve Java, download/unpack the configured Maven distribution, verify checksums, and execute Maven. Updates multiple GitHub Actions workflows and the README to invoke Maven via ./mvnw (instead of mvn). No changes to project source code or public API declarations.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~70 minutes

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive No pull request description was provided by the author, making it impossible to assess relevance to the changeset. Add a description explaining the purpose and benefits of adding the Maven wrapper to the project.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'add maven wrapper' accurately summarizes the main change in the pull request, which adds Maven wrapper scripts and configuration files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/maven-wrapper

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.

Copy link
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

🧹 Nitpick comments (1)
README.md (1)

103-106: Consider adding a Windows wrapper command example.

The build instruction currently shows only ./mvnw. Adding a Windows variant (mvnw.cmd / .\mvnw.cmd) would make onboarding clearer across platforms.

📝 Suggested doc addition
 To build the project, run
 ```bash
 ./mvnw clean install

+On Windows (PowerShell), use:
+powershell +.\mvnw.cmd clean install +

</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @README.md around lines 103 - 106, Update the README build instructions that
currently show only "./mvnw clean install" to include the Windows wrapper
variant; add a short line after the existing Unix example noting the Windows
PowerShell command ".\mvnw.cmd clean install" so Windows users know to invoke
the mvnw.cmd wrapper instead of ./mvnw.


</details>

</blockquote></details>

</blockquote></details>

<details>
<summary>🤖 Prompt for all review comments with AI agents</summary>

Verify each finding against the current code and only fix it if needed.

Inline comments:
In @mvnw.cmd:

  • Around line 1-189: The mvnw.cmd file uses LF-only endings which breaks Windows
    batch parsing; convert mvnw.cmd to CRLF line endings and commit the normalized
    file, ensuring the batch header and labels (for example the initial @REM lines
    and the power-shell transition marker ": end batch / begin powershell #>") are
    preserved; also add a .gitattributes entry that forces CRLF for the wrapper
    batch (i.e., configure .gitattributes to set mvnw.cmd to use CRLF EOL) so future
    checkouts keep CRLF.

Nitpick comments:
In @README.md:

  • Around line 103-106: Update the README build instructions that currently show
    only "./mvnw clean install" to include the Windows wrapper variant; add a short
    line after the existing Unix example noting the Windows PowerShell command
    ".\mvnw.cmd clean install" so Windows users know to invoke the mvnw.cmd wrapper
    instead of ./mvnw.

</details>

---

<details>
<summary>ℹ️ Review info</summary>

<details>
<summary>⚙️ Run configuration</summary>

**Configuration used**: Organization UI

**Review profile**: CHILL

**Plan**: Pro

**Run ID**: `b4238cb2-ee1b-4110-bdeb-300d9bfafb50`

</details>

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between 7ca120f57d6766dcfed7b39db8dabad6a014487e and 161c4acf91665114d791705695d9d75e75aa1791.

</details>

<details>
<summary>📒 Files selected for processing (8)</summary>

* `.github/workflows/build.yml`
* `.github/workflows/codeql-analysis.yml`
* `.github/workflows/publish-central.yml`
* `.github/workflows/publish-github.yml`
* `.mvn/wrapper/maven-wrapper.properties`
* `README.md`
* `mvnw`
* `mvnw.cmd`

</details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

Copy link
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: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@mvnw`:
- Around line 153-156: The script currently short-circuits when $MAVEN_HOME
exists and calls exec_maven, but it doesn't verify the cached Maven binary;
update the check around MAVEN_HOME to also verify that
"$MAVEN_HOME/bin/$MVN_CMD" exists and is executable before calling exec_maven,
and if not executable emit a clear error and exit (or remove/refresh the cache)
so the wrapper will proceed to download; apply the same validation to the other
identical block that references MAVEN_HOME (the block around the later 292-295
region) so both paths perform the bin/$MVN_CMD executable check before skipping
download.
- Around line 111-118: Before redirecting the properties file into the
while-read loop, add an explicit readability check for
"$scriptDir/.mvn/wrapper/maven-wrapper.properties" and call die() with a clear
message if the file is missing or not readable; then proceed to parse
distributionUrl and distributionSha256Sum with the existing while loop that uses
trim, and keep the existing validation that ensures distributionUrl is set (the
symbols to locate are distributionUrl, distributionSha256Sum, trim, die, and
scriptDir).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: ee80d132-d18d-4b11-82e5-57178d76c7fc

📥 Commits

Reviewing files that changed from the base of the PR and between 161c4ac and cbd2a76.

📒 Files selected for processing (1)
  • mvnw

@infeo infeo merged commit e48461c into develop Mar 4, 2026
8 of 9 checks passed
@infeo infeo deleted the feature/maven-wrapper branch March 4, 2026 17:45
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