Skip to content

Feat: Pull out maven-executor into its own project - #12004

Merged
cstamas merged 4 commits into
apache:masterfrom
cstamas:pull-executor-out
May 29, 2026
Merged

Feat: Pull out maven-executor into its own project#12004
cstamas merged 4 commits into
apache:masterfrom
cstamas:pull-executor-out

Conversation

@cstamas

@cstamas cstamas commented Apr 30, 2026

Copy link
Copy Markdown
Member

The main goal of maven-executor is ability to execute Maven 3/4 in "embedded" and "forked" mode, and has not related with Maven release lifecycle itself (and is dependency-less as well). So, let's move it out into own project.

https://github.com/apache/maven-executor

The new library executes Maven in:

  • forked or embedded mode, but introduces other providers as well
  • supports Maven 3 and 4
  • the main maven-executor module is Java 8, dependency-less library (is MR-JAR, and on 9+ is modular and provides ToolProvider SPI integration as well)

The main goal of maven-executor is ability to execute Maven 3/4
in "embedded" and "forked" mode, and has nothing to do with Maven
release lifecycle itself (and is dependency-less as well).
@cstamas cstamas self-assigned this Apr 30, 2026
@cstamas cstamas added the enhancement New feature or request label Apr 30, 2026
@cstamas
cstamas marked this pull request as ready for review April 30, 2026 10:24
Comment thread .mvn/maven.config
@hboutemy

hboutemy commented May 8, 2026

Copy link
Copy Markdown
Member

question: what about maven-verifier and maven-invoker shared components vs maven-executor https://maven.apache.org/shared/index.html ?
if we have a third shared component, we should a t least make visible about the 3 choices, isn't it?

@cstamas

cstamas commented May 8, 2026

Copy link
Copy Markdown
Member Author

Re site, I did not do anything, and I agree, we need visibility.

Re projects, there were some issues:
apache/maven-verifier#186
apache/maven-invoker#164

@hboutemy

hboutemy commented May 8, 2026

Copy link
Copy Markdown
Member

oh, if maven-executor is expected to be the replacement for maven-invoker and maven-verifier, let's make it a shared component and document it from the start, please

and I suppose there are also related issues or PRs in related plugins https://maven.apache.org/plugins/ like maven-invoker-plugin and/or maven-verifier-plugin?

@cstamas

cstamas commented May 8, 2026

Copy link
Copy Markdown
Member Author

Yes, Maven project was inconsistent (or maybe "organic") in this respect, had wildly different projects meant to perform pretty much same thing, but there were huge differences in capabilities (fork-only vs fork-embedded) and APIs (CLI-like vs fully mimic Maven CLI).

The idea of maven-executor is to remain simple, does not stand in a way (ie. no need to release if new Maven CLI option is added) and offer fork-embed (and even more, see docker based ones) running options, without any need for "client code" to change, is just matter of configuration.

@slawekjaranowski

Copy link
Copy Markdown
Member

😄 my old mail - https://lists.apache.org/thread/20m5llon639s2vvps4o8qm9crpb2hg8n

@cstamas

cstamas commented May 29, 2026

Copy link
Copy Markdown
Member Author

maven-executor is now Java 8 baseline with MR-JAR version (9) for module-info and ToolProvider SPI support

@cstamas
cstamas merged commit 15d19f2 into apache:master May 29, 2026
41 of 42 checks passed
@cstamas
cstamas deleted the pull-executor-out branch May 29, 2026 19:50
@github-actions github-actions Bot added this to the 4.1.0 milestone May 29, 2026
cstamas added a commit that referenced this pull request May 29, 2026
The main goal of `maven-executor` is ability to execute Maven 3/4 in "embedded" and "forked" mode, and has not related with Maven release lifecycle itself (and is dependency-less as well). So, let's move it out into own project.

https://github.com/apache/maven-executor

The new library executes Maven in:
* forked or embedded mode, but introduces other providers as well
* supports Maven 3 and 4
* the main `maven-executor` module is Java 8, dependency-less library (is MR-JAR, and on 9+ is modular and provides ToolProvider SPI integration as well)

Backport from master: 15d19f2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants