Commit Graph

149 Commits

Author SHA1 Message Date
Guillaume Nodet 6e9889b1ad [maven-release-plugin] prepare for next development iteration 2024-05-22 16:07:09 +02:00
Guillaume Nodet e92f645c27 [maven-release-plugin] prepare release maven-4.0.0-beta-3 2024-05-22 16:06:59 +02:00
Guillaume Nodet 2942aadcc3
[MNG-8123] Fix Lifecycle in v3 (#1524) 2024-05-22 15:45:13 +02:00
Tamas Cservenak 71bb3bdf95
[MNG-8121] Fix NPE in metadata merge (#1509)
There is an NPE if existing metadata due bug of nx-staging-m-p had no prefix present.

---

https://issues.apache.org/jira/browse/MNG-8121
2024-05-15 19:32:27 +02:00
Guillaume Nodet 9acbed7d4f [maven-release-plugin] prepare for next development iteration 2024-05-13 18:36:30 +02:00
Guillaume Nodet 828faba819 [maven-release-plugin] prepare release maven-4.0.0-beta-2 2024-05-13 18:36:20 +02:00
Martin Desruisseaux 583667a869
[MNG-8015] Adjustments in new API related to PathType (#1501)
* Javadoc cleanup and replacement of some `System.getProperty("...")` by more specific standard methods.

* Add Type.PROCESSOR, MODULAR_PROCESSOR and CLASSPATH_PROCESSOR.

* Modification of the path type API:

* Add a `warningForFilenameBasedAutomodules()` method in `DependencyResolverResult`.
* Add relationships from `JavaPathType` to `javax.tool` location API.
* Modify the `PathType.option(Iterable<? extends Path>)` return type
  because the option and the value need to be two separated arguments.

* Fixes according some comments on the pull request.
2024-05-13 11:53:45 +02:00
Guillaume Nodet 64e9447926
Fix consumer pom builder (#1491) 2024-05-02 17:10:38 +02:00
Tamas Cservenak 81e2b3c1ee
Make Maven 4.0.0 be beta-1 (#1484) 2024-04-25 10:48:58 +02:00
Guillaume Nodet 9fc4f49917 Add missing dep 2024-04-25 07:46:50 +02:00
Guillaume Nodet 5d1cfd47f3 Cleanup dependencies 2024-04-25 07:46:50 +02:00
Guillaume Nodet 3bad5068a2
[MNG-8025] Restore compatibility (#1467) 2024-04-23 15:29:46 +02:00
Guillaume Nodet ce87334f68 Fix split package in org.apache.maven.api.di 2024-04-22 15:58:08 +02:00
Hervé Boutemy fba2542aa2 [MNG-4840] fix requiredMavenVersion description #1445 2024-04-14 18:14:22 +01: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 84e2d8ad3f
[MNG-8084] Include repository metadata in the API (#1465) 2024-04-11 16:06:34 +02:00
Tamas Cservenak c16f45d858
[MNG-8089] Introduce fat-JAR types (#1459)
These are dependency types to be used when dependency is "self contained", or is wanted be used as such: handle if like it has no dependencies, if any.

---

https://issues.apache.org/jira/browse/MNG-8089
2024-03-29 10:32:19 +01: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
Hervé Boutemy 6e508869f0 configure javadoc groups 2024-03-24 22:16:47 +01:00
Hervé Boutemy 740dae43ca [MNG-4840] document requiredMavenVersion in plugin descriptor 2024-03-16 18:29:28 +01: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 456890d40b
Missing annotations on api (#1428) 2024-02-29 00:54:53 +01:00
Guillaume Nodet 24eee1f8e6
Add a SpiService marker interface (#1427) 2024-02-29 00:32:09 +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
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
Hervé Boutemy 54c1b2f28a [MNG-8029] improve documentation about mirror settings 2024-02-17 19:40:11 +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 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 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 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
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
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 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
Tamas Cservenak cfa13f5cc7
[MNG-7999] Confine Plexus Container as much as possible (#1367)
This is an ongoing effort to confine Plexus, but also perform a bit of cleanup in Maven Core and around. No logic changes, just replacing Plexus with Lookup (that is a thin wrapper around it), and removing unused members, redundant checks, etc. Module maven-compat omitted on purpose.

---

https://issues.apache.org/jira/browse/MNG-7999
2024-01-10 13:55:54 +01:00
Guillaume Nodet 33aec13b84
[MNG-7996] Remove experimental flag from build-consumer feature (#1364) 2024-01-09 14:04:57 +01:00