Commit Graph

170 Commits

Author SHA1 Message Date
Guillaume Nodet b370e5e929
[MNG-8210] Replace Maven "module" term by "subproject" (#1651)
Co-authored-by: Martin Desruisseaux <martin.desruisseaux@geomatys.com>
2024-08-29 20:21:40 +02:00
Guillaume Nodet e11b475e8b
[MNG-8052] Concurrently lifecycle executor (#1429) 2024-08-29 19:44:53 +02:00
Guillaume Nodet c948b26484
[MNG-8218] Always normalize Path in PathSource (#1684) 2024-08-29 19:44:16 +02:00
Guillaume Nodet acec540547
[MNG-8052] New lifecycle for Maven 4 (#1448) 2024-08-29 06:48:54 +01:00
Guillaume Nodet 30dc81227b
Renaming of `ArtifactCoordinate.getVersion()` + documentation (#1662)
* Rename ArtifactCoordinate.getVersion() as getVersionConstraint().
* Introduce DownloadedArtifact, DownloadedDependency and ProducedArtifact.
* Rename coordinate -> coordinates.
* Add documentation on Artifact, ArtifactCoordinates, Dependency and DependencyCoordinates and other classes.
* Remove `LATEST` and `SNAPSHOT` from documentation since they are deprecated.
* Opportunistic addition of some missing `@Override` annotations.

---------

Co-authored-by: Martin Desruisseaux <martin.desruisseaux@geomatys.com>
2024-08-27 23:13:34 +02:00
Konrad Windszus 7306c41b49
[MNG-8214] Improve model velocity template to support subclasses (#1660)
Make the constructors protected and take the Builder as argument
2024-08-27 09:05:43 +02:00
Guillaume Nodet 78887f1b7e
[MNG-8181] Provide a variable for maven central repo url, backed by an environment variable (#1615) 2024-08-26 18:21:28 +02:00
Guillaume Nodet 9bfaf54e90
Document that V4 mojo are supposed to be threadsafe (#1675) 2024-08-26 15:14:03 +02:00
Guillaume Nodet 6ac914d6f9
[MNG-7914] Provide a single entry point for configuration (#1595)
* [MNG-7914] Provide a single entry point for configuration
* [MNG-7914] Rename global -> installation
* [MNG-7914] Include time zone in Maven build timestamp
* [MNG-7914] Use a single place to document all maven properties
2024-08-22 16:47:43 +02:00
Guillaume Nodet 7e550efae0
[MNG-8215] Add location tracking for toolchains (#1608) 2024-08-16 23:04:46 +02:00
Konrad Windszus e335f95dfd
documentation: Fix parameter description 2024-08-16 16:16:22 +02:00
Martin Desruisseaux 008d0b4d5b
Add `getModuleName(Path)` and `getModuleDescription(Path)` methods in `DependencyResolverResult`. (#1625)
Those methods are helpful for plugins that need to provide `--add-reads` and similar options,
as they allow to reuse the cached values instead of decoding `module-info.class` many times.
2024-08-16 11:19:34 +02:00
Jan-Jelle Kester 5b61e95f23
[MNG-7344] Track dependencyManagement import location in effective Model for MPH-183 (#603)
Co-authored-by: Maarten Mulders <mthmulders@apache.org>
Co-authored-by: Juul Hobert <juul.hobert@infosupport.com>
Co-authored-by: Giovanni van der Schelde <gvdschelde@gmail.com>
Co-authored-by: Guillaume Nodet <gnodet@gmail.com>
2024-08-15 15:24:49 +02:00
Konrad Windszus 1ee18d36ce
[MPLUGIN-530] Deprecate requirements in plugin descriptor 1.1.0 (#1638)
The replacement for v4 plugins should be Maven DI annotations while for
v3 plugins it is JSR 330 annotations
2024-08-15 14:07:47 +02:00
Guillaume Nodet 4369fa8dff
[API] Expose InputLocation formatter in the XmlFactory (#1616) 2024-08-11 00:21:50 +02:00
Martin Desruisseaux 473b5374f0
[MNG-8197] Use default classifier when Eclipse Aether specifies none (#1621)
* Use default classifier when Eclipse Aether specifies none.
The important change in this commit is in the implementation of `getClassifier()` methods.
However, this commit opportunistically refactors the code with a base class shared by `DefaultDependency` and `DefaultDependencyCoordinate` implementations.

* Preserve the type declared in the dependency (e.g. "modular-jar") when wrapping the object from Maven model.
2024-08-11 00:20:04 +02:00
Slawomir Jaranowski d35864e348 [MNG-8179] Upgrade Parent to 43 2024-07-10 22:52:34 +02:00
Guillaume Nodet fd8f99ed90
Fix Maven 4 extensions (#1601)
* Add rootDirectory to XmlReaderRequest and fix maven-core exported artifacts
* Set the thread context classloader to the container realm to fix class loading from extensions
2024-07-09 14:10:26 +02:00
Guillaume Nodet b852f74084 [MNG-8134] Add a @Resolution annotation to mojos to inject project dependencies collection / resolution result 2024-06-11 09:23:04 +02:00
Guillaume Nodet 8d483f922b [MNG-8152] Implement @SessionScoped and @MojoExecutionScoped from the DI API 2024-06-11 09:23:04 +02:00
Guillaume Nodet 5d139bdd12 [MNG-8151] Merge DependencyCollector into DependencyResolver 2024-06-11 09:23:04 +02:00
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