Commit Graph

161 Commits

Author SHA1 Message Date
Guillaume Nodet
2b8076d1ed Support redirecting input from client to daemon, #541 (#581)
The implementation currently switches on the redirection when the daemon actually starts reading the System.in stream using InputStream.read() or InputStream.available().
2022-12-13 23:59:35 +01:00
Guillaume Nodet
2a8d18d119 Display plugin's goal prefix and version instead of artifactId (#748)
* Display plugin's goal prefix and version instead of artifactId
* Default to groupId:artifactId if goalPrefix is not present
2022-12-13 23:58:58 +01:00
Guillaume Nodet
25b5117749 Clean up some warnings during the build (#750) 2022-12-13 23:00:11 +01:00
Guillaume Nodet
bc021d0577 Fix daemon JVM start options (follow-up to #749) (#751) 2022-12-09 23:58:13 +01:00
Stefan Oehme
866a7c6f3f Add more discriminating properties to the daemon
The local repo and maven settings are both used while resolving core extensions,
which happens during daemon startup. Thus these two also need to be discriminating
properties, as the core extensions themselves are discriminating.
2022-12-08 23:02:02 +01:00
Guillaume Nodet
a14a1eb80f Reformat 2022-11-22 15:44:53 +01:00
James Z.M. Gao
c94ee72a30 Calculate java home from java command (#716) 2022-10-16 20:26:35 +02:00
Nicolas Filotto
e1e5c088af Release the read lock in a finally block (#703) 2022-10-16 20:14:54 +02:00
Thorsten Heit
a8e72a1b25 Fix for JUnit test failing on Windows (fixes #695) 2022-10-03 08:08:32 +02:00
Tamas Cservenak
641ad93da3 Fixes module id coloring on Maven transfer. (#686)
* Fixes module id coloring on Maven transfer.

The module id coloring was not consistent during transfer
and it caused "vibrating" effect.

* PR comments
2022-09-20 10:09:49 +02:00
Guillaume Nodet
0299a38264 Simplify the InterpolationHelper, use 'env.' to align with maven #676 2022-08-30 11:30:15 +02:00
Guillaume Nodet
5e59c40453 Ability to configure the daemon storage location, fixes #673 (#678) 2022-08-29 23:15:15 +02:00
Guillaume Nodet
dc69f258be Use interpolation when loading properties, fixes #676 (#677) 2022-08-29 22:12:15 +02:00
Guillaume Nodet
1ec11ab348 Make mvnd coloring more consistent with maven, fixes #653 (#654) 2022-06-20 11:28:11 +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
e51416f7f2 Allow to the registry to be resized to avoid registry corruption (#645) (#646) 2022-06-15 08:06:33 +02:00
Guillaume Nodet
ff7bbbe458 Move BuildProperties to the client (#630) 2022-05-02 13:13:07 +02:00
Guillaume Nodet
73f4d50bcb Remove default values for heap options (#610)
* Set default max heap size to null

Let the JVM decide the max heap size instead of using hardcoded defaults
to match the behaviour of vanilla Maven.

* Add ITs for verifying max heap behaviour

- By default no max heap should be set
- If configured via jvm.config then max heap should be set but not mvnd.maxHeapSize
- If configured via mvnd.maxHeapSize then max heap should be set

* Remove defaults memory options

* Add missing test project

* Fix too small heap size

* Fix tests

Co-authored-by: Ashhar Hasan <hashhar_dev@outlook.com>
2022-04-26 13:22:37 +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
4cea5d3078 Handle BufferUnderflowException as a possible registry corruption (#614) 2022-04-11 13:18:42 +02:00
Jesse Glick
2ab4cd8083 Only check /proc/self if apparently on Linux (always fall back to VM name) 2022-03-22 23:34:42 +01:00
Jesse Glick
86d1c3661b Make DaemonRegistry.getProcessId0 more robust 2022-03-22 23:34:42 +01:00
Guillaume Nodet
62d580b930 Daemon reuse ignores differences in .mvn/jvm.config, fixes #576 (#580) 2022-01-13 10:01:33 +01:00
Guillaume Nodet
1de326c59e Remove unused subclass in the Environment enum value (#582) 2022-01-12 13:17:54 +01:00
Guillaume Nodet
4c99b52e03 Make sure the maven.home and maven.conf properties are correctly set when the JVM is started, fixes #553 2022-01-11 08:12:18 +01:00
Guillaume Nodet
09cb99fd48 Improve the doc text of mvnd.pluginRealmEvictPattern option, fixes #533 (#534) 2022-01-03 08:31:32 +01:00
Guillaume Nodet
06fa4fd227 Fix url cache (fixes #532 and #527) 2022-01-03 08:30:41 +01:00
Guillaume Nodet
47c99e8b0e Do not print a warning if mvnd is launched outside of a terminal, see #513 2021-12-07 08:59:19 +01:00
Guillaume Nodet
ad703938ac Fix client not responding when using help with an output redirection, fixes #519 (#521) 2021-12-06 16:40:21 +01:00
Guillaume Nodet
69c975fcd0 Provide a local (semaphore based) sync context and use it as the default (#480)
* Provide a local (semaphore based) sync context and use it as the default
* Use a ReentrantLock
* Update daemon/src/main/java/org/mvndaemon/mvnd/sync/MvndSyncContextFactory.java
Co-authored-by: Peter Palaga <ppalaga@redhat.com>
* Improve lock acquisition
Co-authored-by: Peter Palaga <ppalaga@redhat.com>
2021-10-20 10:23:13 +02:00
Jeff Smits
adbe953463 Add thread stack size (-Xss) option (#489) 2021-10-19 11:44:22 +02:00
Guillaume Nodet
30e1747d84 The maven.multiModuleProjectDirectory is badly set when using -f [path-to-pom], fixes #484 2021-10-06 15:18:00 +02:00
Guillaume Nodet
8697cd6151 Add missing value in message ordering, fixes #486 2021-10-04 15:22:38 +02:00
Guillaume Nodet
db30a78841 Disable the IPC sync context factory by default (can be enabled using the new environment option) 2021-09-06 13:04:39 +02:00
Guillaume Nodet
ee49cb3414 Provide a way to remove decoration on the standard out/err streams, fixes #356 2021-09-02 14:37:19 +02:00
Guillaume Nodet
230edac5ae Provide an early display of build failures (fixes #361)
Also fix ordering of messages when projects are skipped at the end
2021-09-01 15:55:38 +02:00
Guillaume Nodet
c95ae1d012 Provide an eviction pattern to get rid of classloaders for bad behaving plugins, #440 (#448) 2021-08-31 11:27:18 +02:00
Guillaume Nodet
f450097fce Disable failing test 2021-08-31 08:44:54 +02:00
Guillaume Nodet
aa89bd64ba Introduce a SocketFamily instead 2021-08-31 08:44:53 +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
b0a199f209 Make sure the client env vars are correctly propagated to system properties 2021-08-31 08:41:37 +02:00
Guillaume Nodet
4616514b6f Merge pull request #436 from gnodet/i429
The JDK_JAVA_OPTIONS environment variable is not honoured, fixes #429
2021-06-18 16:01:12 +02:00
sky
6de7605e45 Attempt to fix bad registry errors, fixes #432 and #433
Fix a possible write a long string in case where the string length is <= 1024 but the encoded size if > 1024.
Truncate long strings and warn instead of throwing an exception which could lead to an invalid registry.
Since the registry data is invalid, the content is emptied to guarantee the next registry will work correct.
This fix is based on #435 provided by @lanmaoxinqing, many thanks !
2021-06-18 14:48:10 +02:00
Guillaume Nodet
d36a226112 The JDK_JAVA_OPTIONS environment variable is not honoured, fixes #429 2021-06-17 13:55:11 +02:00
Guillaume Nodet
c29c8ab4ae The client should reserve lines to avoid hops in the output display, fixes #414 2021-05-19 11:46:40 +02:00
Guillaume Nodet
9bcee2977b Fix client problems on WIndows, fixes #387 2021-05-19 11:13:09 +02:00
Guillaume Nodet
c7de207001 Fix fo WSL 2 2021-05-06 18:12:35 +02:00
Guillaume Nodet
585b5a9546 Add the --color option as an alias to -Dstyle.color, fixes #376 2021-04-28 11:53:58 +02:00
Guillaume Nodet
bbbd3a06e8 Merge pull request #391 from Syquel/bugfix/390_token
#390 Restrict usage of mvnd daemons to the current user by utilizing a token check
2021-04-28 09:21:23 +02:00
Guillaume Nodet
b847f602c6 Merge pull request #396 from gnodet/i389
Use a proper property different from the maven-buildtime-extension on…
2021-04-27 14:35:16 +02:00