fix: Revert build to Maven 3.9.x compatibility#1699
Merged
Conversation
Convert all POMs from Maven 4.1.0 model to 4.0.0 model:
- Change POM namespace from 4.1.0 to 4.0.0 and add modelVersion
- Replace <subprojects> with <modules>
- Replace empty <parent/> with full parent references
- Add explicit groupId to intra-project dependencies
- Add reactor modules to dependencyManagement with ${project.version}
- Use ${revision} CI-friendly version with flatten-maven-plugin
- Configure nisse translation table to map dynamicVersion to revision
- Add .mvn/maven.config for Maven 3.x nisse configuration
- Update mvx to use Maven 3.9.14
- Update enforcer to require Maven 3.9.0+
Zero-commit versioning via nisse is preserved.
Version hint tags like `4.1.0-SNAPSHOT` match the workflow's tag pattern and would accidentally trigger a release. Add an early check that rejects tags containing `-` (e.g. SNAPSHOT, RC, beta).
Remove deprecated '--' separators and add missing -B flag.
mergify bot
added a commit
to ArcadeData/arcadedb
that referenced
this pull request
Mar 23, 2026
Bumps `jline.version` from 3.30.6 to 4.0.7. Updates `org.jline:jline-terminal` from 3.30.6 to 4.0.7 Release notes *Sourced from [org.jline:jline-terminal's releases](https://github.com/jline/jline3/releases).* > JLine 4.0.7 > ----------- > > 🐛 Bug Fixes > ----------- > > * Suppress dumb terminal warning when no streams are TTYs ([#1703](https://github.com/jline/jline3/pull/1703)) [`@gnodet`](https://github.com/gnodet) > + In CI environments (like GitHub Actions), the "Unable to create a system terminal" warning is no longer emitted when falling back to a dumb terminal is expected because no TTY is available > > **Full Changelog**: <jline/jline3@4.0.6...4.0.7> > > JLine 4.0.6 > ----------- > > 🔧 Build > ------- > > * Simplify versioning by using nisse property directly ([#1702](https://github.com/jline/jline3/pull/1702)) [`@gnodet`](https://github.com/gnodet) > > 📦 Dependency updates > -------------------- > > * Bump org.codehaus.mojo:exec-maven-plugin from 3.5.1 to 3.6.3 ([#1700](https://github.com/jline/jline3/pull/1700)) [`@dependabot`](https://github.com/dependabot) > > **Full Changelog**: <jline/jline3@4.0.5...4.0.6> > > JLine 4.0.5 > ----------- > > What's Changed > -------------- > > * fix: Revert build to Maven 3.9.x compatibility by [`@gnodet`](https://github.com/gnodet) in [jline/jline3#1699](https://github.com/jline/jline3/pull/1699) > * chore: Bump release-drafter/release-drafter from 6 to 7 by [`@dependabot`](https://github.com/dependabot)[bot] in [jline/jline3#1698](https://github.com/jline/jline3/pull/1698) > > **Full Changelog**: <jline/jline3@4.0.4...4.0.5> > > JLine 4.0.4 > ----------- > > Bug Fixes > --------- > > * Disable grapheme cluster mode probe (DECRQM) on Windows `PosixSysTerminal` to prevent escape sequence `[?2027$p` from leaking into subprocess output on Cygwin/MSYSTEM environments ([#1696](https://github.com/jline/jline3/issues/1696)) > + This is a follow-up to the 4.0.3 fix which was insufficient — the `isSystemStream()` check was unreliable on Windows MSYSTEM environments > > Full Changelog > -------------- > > <jline/jline3@4.0.3...4.0.4> > > JLine 4.0.3 > ----------- > > Bugfix release fixing output corruption on Windows when using Cygwin/MSYSTEM (Git Bash). > > ### Bug Fixes > > * **Fix grapheme cluster probe corrupting output on Windows** — On Windows with Cygwin/MSYSTEM (Git Bash), the DECRQM mode 2027 probe (`\e[?2027$p`) was written to a raw `FileDescriptor` (stdout/stderr) rather than a real PTY device. When the output was piped (e.g. subprocess with captured output), this escape sequence leaked into the process output, corrupting downstream consumers. The probe is now skipped when the `ExecPty` output stream is not connected to a real terminal. Interactive Cygwin/MSYSTEM terminals that support mode 2027 are unaffected. ([#1695](https://github.com/jline/jline3/issues/1695)) > > JLine 4.0.2 > ----------- > > Bugfix release fixing Maven 3/Gradle compatibility and JNI terminal provider issues. > > > **Note:** Users of 4.0.0 and 4.0.1 should upgrade to 4.0.2. Both prior releases had broken consumer POMs that prevented Maven 3 and Gradle from resolving JLine dependencies. ... (truncated) Commits * [`beabe4e`](jline/jline3@beabe4e) Merge pull request [#1703](https://github.com/jline/jline3/issues/1703) from jline/fix/suppress-dumb-terminal-warning-no-tty * [`b3bf72f`](jline/jline3@b3bf72f) fix: Suppress dumb terminal warning when no streams are TTYs * [`3ba42a8`](jline/jline3@3ba42a8) Merge pull request [#1700](https://github.com/jline/jline3/issues/1700) from jline/dependabot/maven/master/org.codehaus.mojo... * [`372a1bb`](jline/jline3@372a1bb) Merge pull request [#1702](https://github.com/jline/jline3/issues/1702) from jline/fix/simplify-nisse-setup * [`03b7d96`](jline/jline3@03b7d96) fix: Simplify versioning by using nisse property directly * [`8b6bd46`](jline/jline3@8b6bd46) chore: Bump org.codehaus.mojo:exec-maven-plugin from 3.5.1 to 3.6.3 * [`ee52d32`](jline/jline3@ee52d32) Merge pull request [#1698](https://github.com/jline/jline3/issues/1698) from jline/dependabot/github\_actions/master/release-... * [`bd76b2b`](jline/jline3@bd76b2b) Merge pull request [#1699](https://github.com/jline/jline3/issues/1699) from jline/fix/maven3-compat * [`b33c819`](jline/jline3@b33c819) fix: Clean up mvx command syntax in release workflow * [`d783438`](jline/jline3@d783438) fix: Guard release workflow against SNAPSHOT hint tags * Additional commits viewable in [compare view](jline/jline3@jline-3.30.6...4.0.7) Updates `org.jline:jline-reader` from 3.30.6 to 4.0.7 Release notes *Sourced from [org.jline:jline-reader's releases](https://github.com/jline/jline3/releases).* > JLine 4.0.7 > ----------- > > 🐛 Bug Fixes > ----------- > > * Suppress dumb terminal warning when no streams are TTYs ([#1703](https://github.com/jline/jline3/pull/1703)) [`@gnodet`](https://github.com/gnodet) > + In CI environments (like GitHub Actions), the "Unable to create a system terminal" warning is no longer emitted when falling back to a dumb terminal is expected because no TTY is available > > **Full Changelog**: <jline/jline3@4.0.6...4.0.7> > > JLine 4.0.6 > ----------- > > 🔧 Build > ------- > > * Simplify versioning by using nisse property directly ([#1702](https://github.com/jline/jline3/pull/1702)) [`@gnodet`](https://github.com/gnodet) > > 📦 Dependency updates > -------------------- > > * Bump org.codehaus.mojo:exec-maven-plugin from 3.5.1 to 3.6.3 ([#1700](https://github.com/jline/jline3/pull/1700)) [`@dependabot`](https://github.com/dependabot) > > **Full Changelog**: <jline/jline3@4.0.5...4.0.6> > > JLine 4.0.5 > ----------- > > What's Changed > -------------- > > * fix: Revert build to Maven 3.9.x compatibility by [`@gnodet`](https://github.com/gnodet) in [jline/jline3#1699](https://github.com/jline/jline3/pull/1699) > * chore: Bump release-drafter/release-drafter from 6 to 7 by [`@dependabot`](https://github.com/dependabot)[bot] in [jline/jline3#1698](https://github.com/jline/jline3/pull/1698) > > **Full Changelog**: <jline/jline3@4.0.4...4.0.5> > > JLine 4.0.4 > ----------- > > Bug Fixes > --------- > > * Disable grapheme cluster mode probe (DECRQM) on Windows `PosixSysTerminal` to prevent escape sequence `[?2027$p` from leaking into subprocess output on Cygwin/MSYSTEM environments ([#1696](https://github.com/jline/jline3/issues/1696)) > + This is a follow-up to the 4.0.3 fix which was insufficient — the `isSystemStream()` check was unreliable on Windows MSYSTEM environments > > Full Changelog > -------------- > > <jline/jline3@4.0.3...4.0.4> > > JLine 4.0.3 > ----------- > > Bugfix release fixing output corruption on Windows when using Cygwin/MSYSTEM (Git Bash). > > ### Bug Fixes > > * **Fix grapheme cluster probe corrupting output on Windows** — On Windows with Cygwin/MSYSTEM (Git Bash), the DECRQM mode 2027 probe (`\e[?2027$p`) was written to a raw `FileDescriptor` (stdout/stderr) rather than a real PTY device. When the output was piped (e.g. subprocess with captured output), this escape sequence leaked into the process output, corrupting downstream consumers. The probe is now skipped when the `ExecPty` output stream is not connected to a real terminal. Interactive Cygwin/MSYSTEM terminals that support mode 2027 are unaffected. ([#1695](https://github.com/jline/jline3/issues/1695)) > > JLine 4.0.2 > ----------- > > Bugfix release fixing Maven 3/Gradle compatibility and JNI terminal provider issues. > > > **Note:** Users of 4.0.0 and 4.0.1 should upgrade to 4.0.2. Both prior releases had broken consumer POMs that prevented Maven 3 and Gradle from resolving JLine dependencies. ... (truncated) Commits * [`beabe4e`](jline/jline3@beabe4e) Merge pull request [#1703](https://github.com/jline/jline3/issues/1703) from jline/fix/suppress-dumb-terminal-warning-no-tty * [`b3bf72f`](jline/jline3@b3bf72f) fix: Suppress dumb terminal warning when no streams are TTYs * [`3ba42a8`](jline/jline3@3ba42a8) Merge pull request [#1700](https://github.com/jline/jline3/issues/1700) from jline/dependabot/maven/master/org.codehaus.mojo... * [`372a1bb`](jline/jline3@372a1bb) Merge pull request [#1702](https://github.com/jline/jline3/issues/1702) from jline/fix/simplify-nisse-setup * [`03b7d96`](jline/jline3@03b7d96) fix: Simplify versioning by using nisse property directly * [`8b6bd46`](jline/jline3@8b6bd46) chore: Bump org.codehaus.mojo:exec-maven-plugin from 3.5.1 to 3.6.3 * [`ee52d32`](jline/jline3@ee52d32) Merge pull request [#1698](https://github.com/jline/jline3/issues/1698) from jline/dependabot/github\_actions/master/release-... * [`bd76b2b`](jline/jline3@bd76b2b) Merge pull request [#1699](https://github.com/jline/jline3/issues/1699) from jline/fix/maven3-compat * [`b33c819`](jline/jline3@b33c819) fix: Clean up mvx command syntax in release workflow * [`d783438`](jline/jline3@d783438) fix: Guard release workflow against SNAPSHOT hint tags * Additional commits viewable in [compare view](jline/jline3@jline-3.30.6...4.0.7) Updates `org.jline:jline-terminal-jni` from 3.30.6 to 4.0.7 Release notes *Sourced from [org.jline:jline-terminal-jni's releases](https://github.com/jline/jline3/releases).* > JLine 4.0.7 > ----------- > > 🐛 Bug Fixes > ----------- > > * Suppress dumb terminal warning when no streams are TTYs ([#1703](https://github.com/jline/jline3/pull/1703)) [`@gnodet`](https://github.com/gnodet) > + In CI environments (like GitHub Actions), the "Unable to create a system terminal" warning is no longer emitted when falling back to a dumb terminal is expected because no TTY is available > > **Full Changelog**: <jline/jline3@4.0.6...4.0.7> > > JLine 4.0.6 > ----------- > > 🔧 Build > ------- > > * Simplify versioning by using nisse property directly ([#1702](https://github.com/jline/jline3/pull/1702)) [`@gnodet`](https://github.com/gnodet) > > 📦 Dependency updates > -------------------- > > * Bump org.codehaus.mojo:exec-maven-plugin from 3.5.1 to 3.6.3 ([#1700](https://github.com/jline/jline3/pull/1700)) [`@dependabot`](https://github.com/dependabot) > > **Full Changelog**: <jline/jline3@4.0.5...4.0.6> > > JLine 4.0.5 > ----------- > > What's Changed > -------------- > > * fix: Revert build to Maven 3.9.x compatibility by [`@gnodet`](https://github.com/gnodet) in [jline/jline3#1699](https://github.com/jline/jline3/pull/1699) > * chore: Bump release-drafter/release-drafter from 6 to 7 by [`@dependabot`](https://github.com/dependabot)[bot] in [jline/jline3#1698](https://github.com/jline/jline3/pull/1698) > > **Full Changelog**: <jline/jline3@4.0.4...4.0.5> > > JLine 4.0.4 > ----------- > > Bug Fixes > --------- > > * Disable grapheme cluster mode probe (DECRQM) on Windows `PosixSysTerminal` to prevent escape sequence `[?2027$p` from leaking into subprocess output on Cygwin/MSYSTEM environments ([#1696](https://github.com/jline/jline3/issues/1696)) > + This is a follow-up to the 4.0.3 fix which was insufficient — the `isSystemStream()` check was unreliable on Windows MSYSTEM environments > > Full Changelog > -------------- > > <jline/jline3@4.0.3...4.0.4> > > JLine 4.0.3 > ----------- > > Bugfix release fixing output corruption on Windows when using Cygwin/MSYSTEM (Git Bash). > > ### Bug Fixes > > * **Fix grapheme cluster probe corrupting output on Windows** — On Windows with Cygwin/MSYSTEM (Git Bash), the DECRQM mode 2027 probe (`\e[?2027$p`) was written to a raw `FileDescriptor` (stdout/stderr) rather than a real PTY device. When the output was piped (e.g. subprocess with captured output), this escape sequence leaked into the process output, corrupting downstream consumers. The probe is now skipped when the `ExecPty` output stream is not connected to a real terminal. Interactive Cygwin/MSYSTEM terminals that support mode 2027 are unaffected. ([#1695](https://github.com/jline/jline3/issues/1695)) > > JLine 4.0.2 > ----------- > > Bugfix release fixing Maven 3/Gradle compatibility and JNI terminal provider issues. > > > **Note:** Users of 4.0.0 and 4.0.1 should upgrade to 4.0.2. Both prior releases had broken consumer POMs that prevented Maven 3 and Gradle from resolving JLine dependencies. ... (truncated) Commits * [`beabe4e`](jline/jline3@beabe4e) Merge pull request [#1703](https://github.com/jline/jline3/issues/1703) from jline/fix/suppress-dumb-terminal-warning-no-tty * [`b3bf72f`](jline/jline3@b3bf72f) fix: Suppress dumb terminal warning when no streams are TTYs * [`3ba42a8`](jline/jline3@3ba42a8) Merge pull request [#1700](https://github.com/jline/jline3/issues/1700) from jline/dependabot/maven/master/org.codehaus.mojo... * [`372a1bb`](jline/jline3@372a1bb) Merge pull request [#1702](https://github.com/jline/jline3/issues/1702) from jline/fix/simplify-nisse-setup * [`03b7d96`](jline/jline3@03b7d96) fix: Simplify versioning by using nisse property directly * [`8b6bd46`](jline/jline3@8b6bd46) chore: Bump org.codehaus.mojo:exec-maven-plugin from 3.5.1 to 3.6.3 * [`ee52d32`](jline/jline3@ee52d32) Merge pull request [#1698](https://github.com/jline/jline3/issues/1698) from jline/dependabot/github\_actions/master/release-... * [`bd76b2b`](jline/jline3@bd76b2b) Merge pull request [#1699](https://github.com/jline/jline3/issues/1699) from jline/fix/maven3-compat * [`b33c819`](jline/jline3@b33c819) fix: Clean up mvx command syntax in release workflow * [`d783438`](jline/jline3@d783438) fix: Guard release workflow against SNAPSHOT hint tags * Additional commits viewable in [compare view](jline/jline3@jline-3.30.6...4.0.7) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
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
Fixes #1690
jgit.dynamicVersion→revision)${revision}CI-friendly versioning withflatten-maven-pluginfor clean installed/deployed POMs.mvn/maven.configfor nisse configuration (Maven 3.x doesn't read.mvn/maven-user.properties)Key changes
4.1.0→4.0.0,<subprojects>→<modules>, explicit<parent>blocks<groupId>on intra-project dependencies<dependencyManagement>(Maven 3.x doesn't auto-resolve reactor versions)Test plan
mvx mvn install -DskipTestssucceeds with Maven 3.9.144.0.1-1-SNAPSHOTfrom git tags${revision}leaking)