Commit Graph

302 Commits

Author SHA1 Message Date
Tamas Cservenak
f32d00003a Fix deprecation warning about JAnsi Terminal (#1017)
And use JNI (and FFM) instead.

Changes:
* use DefaultClient from master (thanks @gnodet !)
* drop jansi (as DefaultClient should not depend on it)
* introduce two new jline3 terminal backends: jni and ffm (used on Java 22+)
* tested/verified (thanks @wendigo )
2024-06-13 21:48:27 +02:00
Tamas Cservenak
62ac4196f9 Backport of "Default value must be handled" (#1000)
Default must be manually handled, i missed this.

Fixes #912

Backport of #953 to mvnd-1.x
2024-05-22 16:37:49 +02:00
Guillaume Nodet
76c3cb57cc Switch back to support only Maven 3.9.x 2024-04-23 21:48:29 +02:00
Tamas Cservenak
8bb26402c1 Cumulative update of GH flow (#950)
Changes:
* Cumulative update of GH flow
* Graal update
* Add concurrency
* Add -V to see what maven is used
* Use same Java version for def build
* Apply @gzm55 advice
2024-04-19 15:23:45 +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
f05de78d08 Next is 1.0-m9-SNAPSHOT 2023-10-26 07:45:20 +02:00
Guillaume Nodet
0f4bdb6df5 [release] Release 1.0-m8 2023-10-26 07:45:11 +02:00
Guillaume Nodet
dc4179fc3b Switch to Maven 4.0.0-alpha-8 (#895) 2023-10-25 17:03:53 +02:00
Guillaume Nodet
15d622e185 Next is 1.0-m8-SNAPSHOT 2023-07-11 07:13:39 +02:00
Guillaume Nodet
b2ef5d8199 [release] Release 1.0-m7 2023-07-11 06:59:21 +02:00
Guillaume Nodet
f8adf1b770 Switch to slf4j simple logger (fixes #835) (#868) 2023-07-10 15:16:32 +02:00
Guillaume Nodet
c4aaed6909 Fix interpolation of environment variables in config properties (fixes #693) (#866) 2023-07-03 17:36:32 +02:00
Florian LOPES
5d5fb2fc62 fix(log-typo): Fix minor typo in javaHomeFromPath warn log (#856) 2023-06-16 11:18:13 +02:00
Guillaume Nodet
b00e7978a8 Fix broken detection of mvnd home on alpine linux (fixes #849) (#848)
* Fix for musl dynamic loader
* Add caching for mvnd.home and java.home
* Add IT for alpine linux
2023-05-18 07:37:14 +02:00
James Z.M. Gao
99a5cfba7f native image: hardening csu for old glibc (#827)
Workround of return-to-csu problem for old glibc, use non-initialized
static variables instead of the stack ones. See workround 2 of
https://i.blackhat.com/briefings/asia/2018/asia-18-Marco-return-to-csu-a-new-method-to-bypass-the-64-bit-Linux-ASLR-wp.pdf
2023-04-06 10:57:51 +02:00
Guillaume Nodet
5093ced94b Remove plexus-utils and commons-xxx references (#833) 2023-04-06 10:52:45 +02:00
Guillaume Nodet
538a5c1369 Next is 1.0-m7-SNAPSHOT 2023-03-23 10:16:45 +01:00
Guillaume Nodet
47d4c6b9c3 [release] Release 1.0-m6 2023-03-23 09:59:27 +01:00
James Z.M. Gao
da20df03cd Make native mvnd only require glibc 2.12 on ubuntu 22.04 (#825, fixes #823)
The modern glibc from 2.34 had two breaking changes: move all api in lib{pthread,dl,rt}.so into libc.so, new static start up code breaking the runtime compatibility for old glibc (<2.34). See https://developers.redhat.com/articles/2021/12/17/why-glibc-234-removed-libpthread for more info.

This commit has 3 changes to overcome these changes:
- override gcc path to redefine glibc symbols on the fly in the generated .o by graalvm when linking
- provide a dynamic startup code to support both old and modern runtime glibc
- add needed dynamic libraries: lib{pthread,rt,dl}.so.
2023-03-23 09:02:38 +01:00
Guillaume Nodet
34b7ee35cf Next is 1.0-m6-SNAPSHOT 2023-03-22 08:58:41 +01:00
Guillaume Nodet
71146dab82 [release] Release 1.0-m5 2023-03-22 08:58:28 +01:00
Guillaume Nodet
eba51d2d7e Fix mvnd home detection based on executable path 2023-03-15 12:43:39 +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
Petr Široký
e1815e52a3 Minor clean-up in OsUtils
* fix typo in method names
 * add a test for the other *toHumanReadable method
 * replace StringBuilder usage with simple concatenation
   where applicable (for fixed length strings)
2023-03-12 23:08:32 +01:00
Petr Široký
50653ae7d9 logging: use format specifiers instead of string concatenation 2023-03-12 23:08:32 +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
45496afeae Make sure to print the completion script to the standard output stream (fix #785) (#791) 2023-02-14 17:07:07 +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
11c6567bdd Next is 1.0.0-m5-SNAPSHOT 2023-01-28 14:41:03 +01:00
Guillaume Nodet
f01c3ff97a [release] Release 1.0.0-m4 2023-01-28 14:35:11 +01:00
Guillaume Nodet
19dca434d1 Fix code style 2023-01-28 14:33:26 +01:00
Guillaume Nodet
8e92805e30 Next is 1.0.0-m4-SNAPSHOT 2023-01-28 14:27:02 +01:00
Guillaume Nodet
35d3e842af [release] Release 1.0.0-m3 2023-01-28 14:26:51 +01:00
Guillaume Nodet
4833e6f73f Discover mvnd.home by looking for the mvnd-daemon jar in lib or lib/ext 2023-01-28 14:15:58 +01:00
Guillaume Nodet
44ea9d84ff Next is 1.0.0-m3-SNAPSHOT 2023-01-28 10:16:22 +01:00
Guillaume Nodet
cef086fb3d [release] Release 1.0.0-m2 2023-01-28 10:16:08 +01:00
Guillaume Nodet
9d9f9c62f2 Workaround for MNG-7673 2023-01-28 02:11:14 +01:00
Guillaume Nodet
e10aecd5f7 Fix displayed version 2023-01-24 18:26:02 +01:00
Guillaume Nodet
b0ea852798 Fix discovery of mvnd.home using the executable 2023-01-24 11:36:39 +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
19cc6c42b7 Make connection timeouts configurable, fixes #772 (#778) 2023-01-23 19:56:49 +01:00
Guillaume Nodet
f3c336adb9 Fix spotless config to include all java files (#768) 2023-01-10 18:39:29 +01:00
Guillaume Nodet
554e82a6a1 Next is 1.0.0-SNAPSHOT 2022-12-16 12:57:35 +01:00
Guillaume Nodet
7586cf2b0c [release] Release 1.0.0-m1 2022-12-16 12:08:31 +01:00
Guillaume Nodet
89841adbcb Upgrade to maven parent 39 and reformat accordingly 2022-12-16 11:38:47 +01:00
Guillaume Nodet
55236739f8 Add a mvnd.rawStreams property (#719) 2022-12-16 11:33:59 +01:00
Guillaume Nodet
c91c0e8352 Fix code style 2022-12-16 10:26:29 +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