Commit Graph

75 Commits

Author SHA1 Message Date
Slawomir Jaranowski
bdb4fcd7a3 [MNG-8315] Fix MAVEN_PROJECTBASEDIR in mvn.cmd when .mvn is at drive root
Some checks failed
Early Access / Default build (without GraalVM) (push) Has been cancelled
Early Access / Build with GraalVM on ${{ matrix.os }} (macos-13) (push) Has been cancelled
Early Access / Build with GraalVM on ${{ matrix.os }} (macos-latest) (push) Has been cancelled
Early Access / Build with GraalVM on ${{ matrix.os }} (ubuntu-latest) (push) Has been cancelled
Early Access / Build with GraalVM on ${{ matrix.os }} (windows-latest) (push) Has been cancelled
Early Access / Site build (push) Has been cancelled
2025-06-12 23:16:39 +02:00
Jermaine Hua
7b309de9ab Support core extension more configuration (#1216)
Fixes #1163

Signed-off-by: crazyhzm <crazyhzm@apache.org>
2024-12-17 13:50:43 +01:00
Guillaume Nodet
083a28b7af Fixes --verbose/--debug options (fixes #1208) 2024-11-26 10:02:05 +01:00
Stefan Oehme
a7537fc233 Update m2.conf to match Maven 4.x
So calling the `mvn` executable from a daemon distribution behaves more like vanilla Maven 4.x
2024-11-19 08:32:07 +01:00
Guillaume Nodet
a032544164 Improve log and leverage the new infrastructure in Maven (#1164) 2024-10-15 18:15:15 +02:00
Tamas Cservenak
ef981d5f5b Client diag option, GraalVM updates (#1042)
Changes:
* add client --diag option
* update graalvm toolchain
* update GH actions
2024-06-20 17:54:54 +02:00
Guillaume Nodet
42b230c10c Upgrade to Maven 4.0.0-beta-1 (#974) 2024-05-03 21:10:04 +02:00
Guillaume Nodet
a6b275db59 Split Maven 3 and 4 support and switch to version 2.0-SNAPSHOT (fixes #973) (#970) 2024-04-26 10:38:39 +02:00
Tamas Cservenak
a1ac6660ec Ignore smart-builder core extension, if present. (#916)
Add new daemon param to ignore some extensions, make default to ignore takari-smart-builder as it is used by mvnd itself as well.

Fixes #912
2024-04-17 22:04:35 +02:00
Guillaume Nodet
f8adf1b770 Switch to slf4j simple logger (fixes #835) (#868) 2023-07-10 15:16:32 +02:00
Guillaume Nodet
0e65449f59 Reuse maven scripts and get closer to stock maven 2023-03-15 11:29:29 +01:00
Guillaume Nodet
0e057cb12b Make sure mvnd's plexus-interactivity is not in the maven classloader, fixes #807
* the logging framework is extracted into its own jar and moved in the mvn/lib/ directory
* the other daemon jars are moved into the mvn/lib/mvnd directory and not used by maven at all
This makes maven class loader almost identical to the stock maven classloader, but for the logging framework
2023-03-14 13:53:24 +01:00
Guillaume Nodet
4d24010f55 Prompter prompt should not prepend the projectId when there's only one project, fixes #816
Also make sure the daemon prompter log only goes to the daemon log
2023-03-14 13:52:47 +01:00
Guillaume Nodet
c7fd921e45 Fix mvnd scripts 2023-03-10 17:20:15 +01:00
Guillaume Nodet
f6de618454 Fix JUL logging (#792) 2023-03-10 17:19:42 +01:00
Guillaume Nodet
d771375870 Move back mvn script into the mvn/bin folder to avoid conflicts, fixes #787 (#803) 2023-03-10 12:59:04 +01:00
Guillaume Nodet
95b40a3d8a Provide distributions for both maven 3.9.x and 4.0.x (#796) 2023-03-08 00:03:49 +01:00
Stefan Oehme
0b55c8f3e6 Add property to disable model caching
This is mostly for the integration tests of the Gradle Enterprise Maven extension,
which heavily test dependency resolution and reuse the same GAVs in many test,
e.g. a:b:1.0. It would be a lot of effort to rewrite all those tests and a shame
to restart the daemon every time. So I wanted to ask if you'd consider this flag
to disable the caching altogether.
2023-03-02 22:42:36 +01:00
Stefan Oehme
1bcfc29d45 Make Classworld setup more alike to vanilla Maven (#784)
Use the plexus Launcher to start the daemon server, just like we would
launch a normal Maven process.

This improves compatibility with any extensions or plugins that assume that
their ClassLoader is a ClassRealm.
2023-02-14 17:06:34 +01:00
Guillaume Nodet
9d9f9c62f2 Workaround for MNG-7673 2023-01-28 02:11:14 +01:00
Guillaume Nodet
1feeb7f13d Regen bash completion 2023-01-27 17:55:47 +01:00
Guillaume Nodet
6b4674e6af Fix executable bit on the mvnd-bash-completion script (#756) 2023-01-24 11:55:36 +01:00
James Z.M. Gao
6f28a189b6 Try native image then fallback to pure java version (#717)
* Add script mvnd-auto to auto select native or pure java mvnd

* Move fallback logic into main entry script

1. rename native binary to 'mvnd-native-<os>-<arch>'
2. add environment switch MVND_ENTRY_FALLBACK, default 'true' enables
   the fallback logic, set to 'false' to force execute the native mvnd.
3. rename mvnd.sh to mvnd

* change entry name on windows

* Add script mvnd-persist-native for moving the native image to the default entry path

* improve platform detect

* fix error on dash

* rollback default entry to the native image

* use MVND_CLIENT switch to control the selection of mvnd client

* improve comment docs as suggestion
2023-01-24 10:51:56 +01:00
Guillaume Nodet
4f90d558b2 Attempt at moving mvn as first class citizen in mvnd distribution, #392 (#769) 2023-01-24 10:50:40 +01:00
Guillaume Nodet
cc74f52211 Typo 2023-01-06 13:23:03 +01:00
Guillaume Nodet
55236739f8 Add a mvnd.rawStreams property (#719) 2022-12-16 11:33:59 +01:00
Guillaume Nodet
7a788bb86f Add an option to specify the debug address and display info when starting (fixes #737) (#753) 2022-12-16 08:39:39 +01:00
James Z.M. Gao
f8d047bdae Use muti-release jar to fallback mvnd-client to original maven (#722)
* Use muti-release jar to fallback mvnd-client to original maven

The mvnd-client is built to a muti-release jar. The default version of
    DefaultClient is compiled against the same target version as the
   embedded maven (4.x, so JDK 1.8) which only invoke the MavenCli.main(). 
The java-11 version is the full qualified mvnd-client.

* update cmd scripts

* embedded maven now works under JDK 1.8

Build SimpleAppender for JDK 1.8 since it is the log appender only
   for the embedded maven

Co-authored-by: Guillaume Nodet <gnodet@gmail.com>
2022-12-14 17:41:02 +01:00
Guillaume Nodet
895381b43f Switch to maven 4.0.0-alpha-2 (#718) 2022-11-19 16:56:26 +01:00
James Z.M. Gao
e50eedf018 Sync entry scripts with maven 3.8.6 (#711) 2022-10-16 21:31:47 +02:00
Guillaume Nodet
aacd3eb4cc Handle the multimodule project directory as early as possible in the client (fixes #694) (#697) 2022-10-03 22:46:09 +02:00
Guillaume Nodet
5dce72ef33 Add tar.gz binaries in the release (#692) 2022-09-20 10:09:02 +02:00
Guillaume Nodet
77a14f956b Improve Intellij integration, fixes #664 (#684) 2022-09-08 08:00:40 +02:00
Guillaume Nodet
10a5240802 Add missing function for mvnd-bash-completion, fixes #670 (#682) 2022-09-07 14:59:09 +02:00
Guillaume Nodet
b3aeb8899a Revert "Remove unused logback-client.xml file (#603)" (#658)
This reverts commit 7463d65d56.
2022-06-20 10:32:46 +02:00
Guillaume Nodet
1327fe2af4 Cleanup (#650)
* Improve reproducibility of builds by using digest on docker images
* Inline the manifest Multi-Release entry
* Remove unused files
* Switch the groupId to org.apache.maven.daemon and use maven parent pom
* Fix distribution
* Fix ITs
* Fix native build for windows
2022-06-15 08:09:12 +02:00
Guillaume Nodet
50bfcf8c15 Use maven-mvnd as a distribution name (#638) 2022-05-04 12:02:10 +02:00
Tamas Cservenak
d2365ee166 Mvnd with file locking (#508)
* Update mvnd to include Maven Resolver 1.7

As mvnd itself is Java8 lang level, it is completely
okay to up resolver to 1.7 (that is java8 as well).
The only reason why Maven 3.8.x CANNOT use resolver
1.7 is that it is still Java7 level.

* Move missing piece to SPI

* Add global exclusions

* Example of mvnd using file locking (of resolver)

* Drop irrelevant

* Upgrade to released 1.7.3

Co-authored-by: Guillaume Nodet <gnodet@gmail.com>
2022-04-11 13:29:42 +02:00
Guillaume Nodet
7463d65d56 Remove unused logback-client.xml file (#603) 2022-03-03 13:22:06 +01:00
Guillaume Nodet
10d80d434a Add missing mvnDebug scripts (#605) 2022-03-03 13:21:53 +01:00
Piotr Findeisen
4b4288bef9 Fix user's pronoun in mvnd.properties comment (#585) 2022-01-19 16:00:34 +01:00
Guillaume Nodet
62d580b930 Daemon reuse ignores differences in .mvn/jvm.config, fixes #576 (#580) 2022-01-13 10:01:33 +01:00
Tamas Cservenak
807409d507 Update mvnd to include Maven Resolver 1.7 (#507)
As mvnd itself is Java8 lang level, it is completely
okay to up resolver to 1.7 (that is java8 as well).
The only reason why Maven 3.8.x CANNOT use resolver
1.7 is that it is still Java7 level.
2021-11-26 17:34:10 +01:00
Guillaume Nodet
4eda0d54cf Regen bash completion 2021-10-20 08:30:17 +02:00
Jeff Smits
adbe953463 Add thread stack size (-Xss) option (#489) 2021-10-19 11:44:22 +02:00
Guillaume Nodet
0fc2a0d06b Regen completion 2021-09-07 16:27:43 +02:00
Guillaume Nodet
b6ca242d1e Regen #440 2021-09-02 13:50:47 +02:00
Guillaume Nodet
b67ab81c3d Allow unix domain sockets for client/daemon connection (not used by default) 2021-08-31 08:43:31 +02:00
Guillaume Nodet
4b75fec3e1 Use unix sockets and native compilation for the ipc sync context 2021-08-31 08:43:30 +02:00
Guillaume Nodet
d36a226112 The JDK_JAVA_OPTIONS environment variable is not honoured, fixes #429 2021-06-17 13:55:11 +02:00