3474 Commits

Author SHA1 Message Date
Guillaume Nodet
7451585a19
Fix reactor loading problems (#1497) 2024-05-03 10:48:38 +02:00
Guillaume Nodet
febfd2b5c9
Resolver updates (#1495) 2024-05-02 18:33:18 +02:00
Guillaume Nodet
64e9447926
Fix consumer pom builder (#1491) 2024-05-02 17:10:38 +02:00
Guillaume Nodet
6fddd97513
Use the new resolver provider (#1483) 2024-04-25 16:13:36 +02:00
Tamas Cservenak
81e2b3c1ee
Make Maven 4.0.0 be beta-1 (#1484) 2024-04-25 10:48:58 +02:00
Guillaume Nodet
5d1cfd47f3 Cleanup dependencies 2024-04-25 07:46:50 +02:00
Slawomir Jaranowski
d0f05ffccf
[MNG-8103] Upgrade default plugin bindings (#1475)
Co-authored-by: Guillaume Nodet <gnodet@gmail.com>
2024-04-23 17:34:45 +02:00
Guillaume Nodet
52c5659b25
Fix nasty concurrency issue in AbstractSession (#1479)
* Register the session explicitely
* Fix thread interrupted
2024-04-23 14:55:57 +02:00
Jonas Rutishauser
aae74dfbee
[MNG-8082] Exceptions of proxied SessionScoped components are not working correctly (#1449)
Signed-off-by: Jonas Rutishauser <jonas.rutishauser@alumni.ethz.ch>
2024-04-23 14:52:20 +02:00
Hervé Boutemy
860310b692 [MNG-8043] document new default types, replacing artifact handlers 2024-04-23 08:12:44 +02:00
Guillaume Nodet
d075fe7e85 [MNG-8084] New model builder and resolver provider 2024-04-12 12:50:18 +02:00
Guillaume Nodet
9be08ccef8 [MNG-8084] Include lifecycle in the API 2024-04-12 12:50:18 +02:00
Guillaume Nodet
8418fb3960 Cache parent artifact resolution 2024-04-03 19:49:40 +02:00
Tamas Cservenak
2594047014
[MNG-8088] Using Resolver with MRESOLVER-512 (#1442)
This makes all the new scopes implemented out of the box, but MNG-8041 still stands (is unsolved).

Related PR https://github.com/apache/maven-resolver/pull/445

---

https://issues.apache.org/jira/browse/MRESOLVER-512
https://issues.apache.org/jira/browse/MNG-8088
2024-03-27 15:46:12 +01:00
Guillaume Nodet
003a5bc06d
[MNG-8084] Make the v4 api usable outside the Maven runtime (#1441) 2024-03-25 11:50:01 +01:00
Guillaume Nodet
52d453caf9
Complete Packaging in v4 api (#1451) 2024-03-25 10:56:37 +01:00
carrychair
267de063ee
remove repetitive words (#1436)
Signed-off-by: carrychair <linghuchong404@gmail.com>
2024-03-18 00:24:53 +00:00
Tamas Cservenak
33788fd7fc [maven-release-plugin] prepare for next development iteration 2024-03-06 20:57:04 +01:00
Tamas Cservenak
0a6a5617fe [maven-release-plugin] prepare release maven-4.0.0-alpha-13 2024-03-06 20:56:36 +01:00
Guillaume Nodet
9780ca1baf
[MNG-8015] Control the type of path where each dependency can be placed (#1401)
Co-authored-by: Martin Desruisseaux <martin.desruisseaux@geomatys.com>
2024-03-01 18:18:13 +01:00
Guillaume Nodet
a3e8da805c
Make LifecycleStarter pluggable (#1424) 2024-02-29 00:56:36 +01:00
Guillaume Nodet
ce15193394
Fix concurrent cache access (#1425) 2024-02-29 00:31:49 +01:00
Guillaume Nodet
5307bcba09
Use SessionData to store ProjectIndex (#1423) 2024-02-29 00:31:09 +01:00
Guillaume Nodet
3c2f8ebdb7
Use v4 api to resolve project dependencies (#1409) 2024-02-29 00:30:57 +01:00
huazhongming
ab6ec5bd74
[MNG-7976] Investigate MNG-6127 IT instability (#1422)
Signed-off-by: crazyhzm <crazyhzm@apache.org>
2024-02-28 15:46:36 +08:00
huazhongming
83949a7384
Use isEmpty instead of length (#1420)
Signed-off-by: crazyhzm <crazyhzm@apache.org>
2024-02-28 15:40:37 +08:00
Tamas Cservenak
cf438ca624
[MNG-8059] Paths everywhere (#1413)
Make execution flow never invoke path.toFile, at least what model-builder and maven-resolver-provider matters. Using new methods from Resolver 2 alpha8 and also adding in relevant maven bits, as half of the work was already done.

---

https://issues.apache.org/jira/browse/MNG-8059
2024-02-26 18:04:44 +01:00
Guillaume Nodet
a31c145ae9
[MNG-8006] Switch property contributors to use a lazy lookup (#1419) 2024-02-20 16:38:09 +01:00
Hervé Boutemy
54c1b2f28a [MNG-8029] improve documentation about mirror settings 2024-02-17 19:40:11 +01:00
Slawomir Jaranowski
972b074656 [MNG-8039] Don't change resolved artifact by DefaultProjectBuilder 2024-02-15 23:17:05 +01:00
Guillaume Nodet
0c529f830a
[MNG-8053] Profile activation by packaging in the POM (#1410) 2024-02-15 09:42:00 +01:00
Guillaume Nodet
fc9a7d8da3 Add missing @Override annotations 2024-02-09 20:20:54 +01:00
Guillaume Nodet
fd825f9b20 ArtifactManager should check for non null artifact early 2024-02-09 18:13:55 +01:00
Guillaume Nodet
07b256ae03 Use role hint when loading a v4 mojo 2024-02-09 18:13:55 +01:00
Guillaume Nodet
ef4b5737a2 [API] Use ProjectScope for accessing compile source roots and resources
# Conflicts:
#	api/maven-api-core/src/main/java/org/apache/maven/api/services/ProjectManager.java
2024-02-09 18:13:31 +01:00
Guillaume Nodet
3f271b8f1b [API] Add a PluginXmlFactory 2024-02-09 18:13:31 +01:00
Guillaume Nodet
05fcfd4591 [DI] Fix constructor bindings, move discovery inside Injector, remove annotation processor 2024-02-09 18:13:31 +01:00
Slawomir Jaranowski
c2ec76c6a7 [MNG-8045] Use DependencyGraphDumper instead of own implementation 2024-02-08 20:13:50 +01:00
Guillaume Nodet
c88afd470f
Clean mdo schemas (#1365)
* fix namespace location
* remove unneeded CDATA
* code formatting
* use {@code xxx}
* generate location tracking classes
* add location tracking to toolchain model
* Fix javadoc
2024-02-07 22:28:01 +01:00
Guillaume Nodet
c813320848
Remove empty dependency scope from the api (#1402) 2024-02-07 14:37:36 +01:00
Tamas Cservenak
76794c0237
[MNG-8043] Dependency properties should be provided by Maven (#1399)
Followup of MRESOLVER-484:
* move off deprecated resolver bits
* introduce non-deprecated replacements
* move existing to code to those new bits

---

https://issues.apache.org/jira/browse/MNG-8043
2024-02-07 10:51:56 +01:00
Guillaume Nodet
a37cf3d37f
[MNG-7954] New dependency injection mechanism (#1393) 2024-02-05 10:45:47 +01:00
Tamas Cservenak
3f9fec2307
[MNG-8026] Maven drives regarding scopes (#1391)
Changes:
* new types for build path, path scope, dependency scope, language
* introduce "extensible enum" and provides registries, SPI providers, etc...
---------
Co-authored-by: Guillaume Nodet <gnodet@gmail.com>
2024-02-05 10:42:51 +01:00
Guillaume Nodet
16fc54da7f
[MNG-8037] Restrict project to the entity being built and make it immutable (#1389)
* Make POM and basedir required on the project
* Remove the API to build projects from artifact coordinate
2024-01-31 00:39:19 +01:00
Tamas Cservenak
20f7cfc361
[MNG-8026] Maven drives regarding scopes (#1392)
Maven should be fully in control regarding dependency scope definitions and their interpretations (and transformations). 
This PR makes following changes:
* no change in behaviour (all works as before), but
* maven codebase contains now all the code related to scopes
* no resolver code is in use that was deprecated (as it was wrong to have it in resolver), see issue [MRESOLVER-471](https://issues.apache.org/jira/browse/MRESOLVER-471)
* this also stops scope definitions duplication as well, they are now defined in one single project: Maven

---

https://issues.apache.org/jira/browse/MNG-8026
2024-01-25 14:58:24 +01:00
Tamas Cservenak
f2595c83d9
[MNG-8023] New method + javadoc on Project (#1387)
Introduce new method that returns POM and project Artifact in sensible manner (so install or deploy and other does not need to figure out anything).

Also, javadoc the class.

---

https://issues.apache.org/jira/browse/MNG-8023
2024-01-23 13:06:56 +01:00
Guillaume Nodet
b6a84fcac6
[MNG-8014] Fix multithreaded builder (#1386) 2024-01-22 18:27:48 +01:00
Tamas Cservenak
6afa4770cb
[MNG-8006] [MNG-8021] SPI to contribute properties and more (#1384)
Create _aether internal_ "extenders" components to serve several purposes:
* extender to meddle with exec request, for example to mediate between effective properties SPI (exec request extender)
* extender to meddle with prepped session and related bits, for example to move out deprecated code from session factory (session extender)

This PR implements M4 API SPI for contributing effective properties and exposes method for effective properties on `Session`.
* `Session` should expose properties service "ready" for interpolation, otherwise each interpolating code (plugin, etc) would need to construct the "effective" ones themselves, repeating same steps over and over again.
* SPI can contribute to user properties
* `Session` exposed properties are all immutable (sans effective, that is computed on each call).
* and lastly, a cleanup: all packages within `o.a.m.internal.aether` are now package protected, to tighten internal encapsulation. New core package `o.a.m.resolver` introduced that contains 2 publicly accessible classes.

---

https://issues.apache.org/jira/browse/MNG-8006
https://issues.apache.org/jira/browse/MNG-8021
2024-01-19 12:00:28 +01:00
Tamas Cservenak
3f47580dcc
[MNG-8005] Fix workspace reader drop bug (#1385)
Maven4 seems sets but then drops/overrides some workspace readers. Partially due hazy borders who or what manages them, as role is split between session factory and session factory caller.

Changes:
* session factory does NOTHING re workspace readers, it becomes fully the caller duty
* two spots calling session factory (default maven, extension bootstrap) are now fully in charge to properly setup workspace readers

Co-authored-by: Jonas Rutishauser <jonas.rutishauser@alumni.ethz.ch>

---

https://issues.apache.org/jira/browse/MNG-8005
2024-01-18 12:51:16 +01:00
Guillaume Nodet
e15170ba0e
[MNG-8014] Workaround for deadlocks in model building (#1376) 2024-01-15 13:14:56 +01:00