Commit Graph

12311 Commits

Author SHA1 Message Date
Guillaume Nodet 3c2f8ebdb7
Use v4 api to resolve project dependencies (#1409) 2024-02-29 00:30:57 +01:00
Konrad Windszus cf60940497
[MNG-5726] Support regular expression matching in profile activation for (#1421)
OS version

This requires using the reserved prefix "regex:" in the version element.
2024-02-28 19:04:58 +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
Guillaume Nodet ff5fa9e4e5
[MNG-8057] Upgrade Modello to 2.3.0 (#1418) 2024-02-18 22:33:41 +01:00
Guillaume Nodet 969a6ffbb2 Move API first (as needed by other modules) 2024-02-18 21:14:00 +01:00
Hervé Boutemy 54c1b2f28a [MNG-8029] improve documentation about mirror settings 2024-02-17 19:40:11 +01:00
Tamas Cservenak 7b60c8d7dc
[MNG-8054] Ability to force build number (#1414)
For snapshot deploys

---

https://issues.apache.org/jira/browse/MNG-8054
2024-02-16 12:43:34 +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
huazhongming 70509586f8
[MNG-8046] Upgrade github action version from v3 to v4 (#1405)
Signed-off-by: crazyhzm <crazyhzm@apache.org>
2024-02-10 21:59:51 +08: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
huazhongming b3ec995848
[MNG-8013] Integration testing process logs can be output github artifact (#1375)
Signed-off-by: crazyhzm <crazyhzm@apache.org>
2024-02-05 11:02:11 +08:00
Tamas Cservenak 42559937d8
[MNG-7854] Warn if imported dep is ignored (#1370)
The artificial (or "bolted on") scope "import" behaves wildly differently that rest of Maven, causes surprise to our users. For start, we should emit "actionable" warnings about these, ultimate goal is to align this behaviour with "maven way" of working ("closest occurence wins" vs current weird "direct occurrence then first occurence wins" strategy).

Warnings are only created when the dependency is not directly managed. The warning also suggests to add a direct managed dependency to get rid of it, so it's now helpful and actionnable.

---

https://issues.apache.org/jira/browse/MNG-7854
2024-02-01 17:25:04 +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
Guillaume Nodet 0a1117854c
[MNG-8036] [MNG-8017] [MNG-8022] Upgrade JLine to 3.25.1 (#1390) 2024-01-29 16:51:24 +01:00
Tamas Cservenak 2452a6488a
[MNG-8035] Update to Resolver 2.0.0-alpha-7 (#1394)
Update to Resolver 2.0.0-alpha-7, sort out TODO.

This is also one simple change "sneaked in" for RAT, to ignore local `.mvn` that is unrelated to all this, but does not make any harm. In turn, it allows dev local checkout to have various stuff set without
decorating those with headers or fighing RAT plugin.

---

https://issues.apache.org/jira/browse/MNG-8035
2024-01-29 16:27:43 +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 b44856d0dc
Simplify model builder internal Graph (#1380) 2024-01-15 17:49:26 +01:00
Guillaume Nodet e15170ba0e
[MNG-8014] Workaround for deadlocks in model building (#1376) 2024-01-15 13:14:56 +01:00
Guillaume Nodet 7f70467aa3
[MNG-8016] Simplify ModelCache (#1377)
The `ModelCache` is now bloated and can be simplified a lot.

---

https://issues.apache.org/jira/browse/MNG-8016
2024-01-13 14:02:40 +01:00
Guillaume Nodet 0d046da6f1 [maven-release-plugin] prepare for next development iteration 2024-01-12 10:41:50 +01:00
Guillaume Nodet e627879aed [maven-release-plugin] prepare release maven-4.0.0-alpha-12 2024-01-12 10:41:41 +01:00
Guillaume Nodet 18c0d9aecd [MNG-8003] Fix BOM groupId 2024-01-12 10:40:22 +01:00
Guillaume Nodet 8ce99bdbf2 [maven-release-plugin] prepare for next development iteration 2024-01-12 09:24:56 +01:00
Guillaume Nodet aa7994890b [maven-release-plugin] prepare release maven-4.0.0-alpha-11 2024-01-12 09:24:48 +01:00
Guillaume Nodet 2084b0e499 [MNG-8003] Do not import the BOM within the reactor 2024-01-12 09:09:46 +01:00
Tamas Cservenak a952c9ee10
[MNG-7960] Artifact collection filtering (#1353)
Make Maven more friendly (and tunable) when ranges are being used. There new options are merely affecting range processing, allowing different narrowing strategies. Relies on latest Resolver alpha-6 features.

https://issues.apache.org/jira/browse/MNG-7960
2024-01-11 18:47:28 +01:00
Tamas Cservenak 63a207a0f6
[MNG-8007] Maven TransferListener wrapper (#1371)
A wrapper listener that can receive events even from multiple threads, and passes them to wrapped delegate listener on single thread, keeping delegate implementation simple.

---

https://issues.apache.org/jira/browse/MNG-8007
2024-01-11 18:35:13 +01:00
Tamas Cservenak 5261ba9203
[MNG-7982] Switch to enable transitivity in depMgr used by Maven (#1357)
Resolver 2.0.0-alpha-6 introduced "transitive" switch to dependency Manager, make use of it.

---

https://issues.apache.org/jira/browse/MNG-7982
2024-01-11 17:55:21 +01:00
Guillaume Nodet f1c53cbfdf
[MNG-8003] The Maven BOM should have a cleaner parent (#1374) 2024-01-11 16:12:49 +01:00
huazhongming 6c20e8e85c
[MNG-8000] DefaultArtifact lacks constructors for version and optional (#1368)
Signed-off-by: crazyhzm <crazyhzm@apache.org>
2024-01-11 13:35:01 +01:00
Tamas Cservenak c4ccba7bf9
[MNG-7994] Update to Resolver 2.0.0-alpha-6 (#1373)
Update to alpha-6. Also, move off from deprecated default ctor of def repo session in tests.

---

https://issues.apache.org/jira/browse/MNG-7994
2024-01-11 13:16:51 +01:00