Commit Graph

287 Commits

Author SHA1 Message Date
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
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
Peter Palaga
031c263232 Fixup #716 Calculate java home from java command (#721)
* Add a test
* Simplify the stream processing

Co-authored-by: Guillaume Nodet <gnodet@gmail.com>
2022-12-14 00:35:10 +01:00
James Z.M. Gao
1249211b49 Build mostly static native image, loose linux glibc requirement to 2.12 (#730) 2022-12-13 23:01:31 +01:00
Guillaume Nodet
bc021d0577 Fix daemon JVM start options (follow-up to #749) (#751) 2022-12-09 23:58:13 +01:00
Guillaume Nodet
a14a1eb80f Reformat 2022-11-22 15:44:53 +01:00
Guillaume Nodet
5a8f29cf6f Switch master to 1.0.0-SNAPSHOT 2022-11-19 16:17:44 +01:00
James Z.M. Gao
c94ee72a30 Calculate java home from java command (#716) 2022-10-16 20:26:35 +02:00
Guillaume Nodet
f2224cb563 Next is 0.9.0-SNAPSHOT 2022-10-04 09:06:03 +02:00
Guillaume Nodet
2bba2d6a4d [release] Release 0.8.2 2022-10-04 09:05:56 +02:00
Guillaume Nodet
da369cfe0d Next is 0.9.0-SNAPSHOT 2022-10-04 07:51:14 +02:00
Guillaume Nodet
a9f7d1156f [release] Release 0.8.2 2022-10-04 07:51:08 +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
c310e3d206 Fix the bash completion template (#670, #682) (#698) 2022-09-30 22:42:27 +02:00
Konrad Windszus
874e26cfe8 Update GraalVM to 22.2.0 (#689)
* Update GraalVM to 22.2.0

* Upgrade graalvm to 22.2.0 and the maven plugin to its latest version

Co-authored-by: Guillaume Nodet <gnodet@gmail.com>
2022-09-20 10:10:22 +02:00
Guillaume Nodet
309d0c7eff Next is 0.9.0-SNAPSHOT 2022-09-08 11:39:54 +02:00