Commit Graph

362 Commits

Author SHA1 Message Date
Guillaume Nodet
6189475f1b Fix daemon connection race condition (#1078)
The Server was using a SynchrnousQueue to coordinate the main thread
and the background thread that receives the request from the client.
A SynchronousQueue only allows insertions when a corresponding call
to `get` is in progress. However, since the receiver thread is started
before the call to `get`, there was a short time window, where the call
to `queue.offer` could fail and simply return `false`. This return code
was ignored.

A possible solution would have been to call `put` instead of `offer`,
but I decided to replace the queue with a Future, since we only wait
for a single element.

Co-authored-by: Stefan Oehme <st.oehme@gmail.com>
2024-07-19 13:42:11 +02:00
Tamas Cservenak
69e7232ae7 Next is 2.0.0-beta-2-SNAPSHOT 2024-06-20 18:09:45 +02:00
Tamas Cservenak
74cdaf62b2 [release] Release 2.0.0-beta-1 2024-06-20 18:09:44 +02:00
Tamas Cservenak
7caba4d555 Next is 2.0.0-beta-2-SNAPSHOT 2024-06-18 09:11:12 +02:00
Tamas Cservenak
3f5b472022 [release] Release 2.0.0-beta-1 2024-06-18 09:11:10 +02:00
Tamas Cservenak
bc61f6441e [2.x] Pre-release tidy-up (#1011)
Changes:
* no source change
* (build) expel all versions from child modules: they must be all top level depMgmt or pluginMgmt
* (build) Top POM contains GAVs while child modules GA+scope. This tremendously simplifies maintenance.
* (javadoc) fix Javadoc errors
* (build) remove obsolete profiles and mr-JARs, project is 17+

Updates:
* maven wrapper 3.3.2 w/ scripts
2024-06-13 10:05:16 +02:00
Tamas Cservenak
b6e469089b Maven 4 beta-2 (#998)
And fix the build w/ smaller cleanups, plugin updates and backport of `-itr`, `-sadp`.

Changes:
* Maven 4 beta-2 (staged, on vote)
* Maven Wrapper 3.3.1 + script updates
* maven-plugin-tools 3.13.0
* buildhelper-maven-plugin 3.6.0
* graalvm plugin 0.10.2
* provisio 1.0.25
* exec-maven-plugin 3.3.0
* backport `-itr` and `-sadp` (Maven CLI)
2024-05-22 14:45:33 +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
d23e0e88f6 Update to parent POM 42 (#932)
Changes:
* parent POM 42
* unset release where needed (makes com.sun pkg unreachable)
* explicitly index as parent disables "implicit" AP
* remove redundtant stuff
* update dependabot to take care of workflow as well (as mvnd uses own)
2024-04-18 19:40:05 +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
acf64a7fab Small improvements to DaemonPrompter (#898) 2023-10-25 17:03:24 +02:00
Guillaume Nodet
18d0583304 Fix terminal width (fixes #870) (#891) 2023-10-16 14:40:52 +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
bf981d6ce0 Upgrade to takari-smart-builder 0.6.3 (fixes #841) (#844) 2023-07-03 08:35:00 +02:00
Peter Palaga
7d9a39be1a JAVA_HOME should be documented as discriminating #852 2023-05-23 17:30:31 +02:00
Peter Palaga
82e42e6e64 Show which options are discriminating in the output of mvnd --help 2023-05-23 17:30:31 +02:00
Guillaume Nodet
6a3448d9c4 NPE during expiration check (fixes #842) (#843) 2023-05-17 12:57:25 +02:00
Guillaume Nodet
5093ced94b Remove plexus-utils and commons-xxx references (#833) 2023-04-06 10:52:45 +02:00
Guillaume Nodet
eef6c2f16f Sort build times for the whole reactor by decreasing total time (#829) 2023-04-06 10:48:16 +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
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
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ý
50653ae7d9 logging: use format specifiers instead of string concatenation 2023-03-12 23:08:32 +01:00
Guillaume Nodet
c2e4ee2f00 Fix EnvHelper#chDir on JDK 21 (#802) 2023-03-10 10:07:17 +01:00
Guillaume Nodet
65da451ecd Switch back to takari smart builder (#805) 2023-03-10 08:48:08 +01:00
Guillaume Nodet
2113d61baa Avoid possible NPE, fixes #795 (#806) 2023-03-10 08:47:33 +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
Petr Široký
1f99fb8cb7 Run client connection handler inside new thread, fixes #798 (#801)
* Run client connection handler inside new thread, fixes #798
* Execute CI build on ubuntu-22.04
 * ubuntu-18.04 image is now deprecated and there are brownout periods
   being introduced where the builds are failing
 * see https://github.com/actions/runner-images/issues/6002 for more
   details
2023-03-07 14:16:04 +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🅱️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
ddc8ef9a10 Remove duplicate header 2023-02-14 16:53:05 +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
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
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
bf892cd1bf Upgrade to maven 4.0.0-m4 and resolver 1.9.4 2023-01-28 00:07:56 +01:00
Stefan Oehme
74df4b6b53 Fix core export provider (#764)
* Fix core export provider

Since https://github.com/apache/maven/pull/616, the default
CoreExportProvider no longer uses the provided CoreExports,
but instead tries (and fails) to discover them itself.

This change fixes that by providing our own custom instance
of CoreExportProvider. This allows core extension to contribute
exported artifacts and exported packages again, like it used to
do before the Maven 4.x upgrade.

* Add integration tests for API-providing extensions
2023-01-17 11:18:22 +01:00
Guillaume Nodet
f3c336adb9 Fix spotless config to include all java files (#768) 2023-01-10 18:39:29 +01:00
Guillaume Nodet
417ed7ec8b Fix performance problem with mvnd (fixes #758, #760) 2022-12-23 10:22:59 +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