104 Commits

Author SHA1 Message Date
Guillaume Nodet
d80804c3b4 [maven-release-plugin] prepare for next development iteration 2025-03-05 10:43:59 +01:00
Guillaume Nodet
3952d00ce6 [maven-release-plugin] prepare release maven-4.0.0-rc-3 2025-03-05 10:43:59 +01:00
Guillaume Nodet
ce86116518
[MNG-8610] Add javadoc for all o.a.m.api packages (#2142) 2025-03-04 15:17:18 +01:00
Guillaume Nodet
c0ac7a688a Revert "[MNG-8563] Provide a weak cache for objects from the main model (#2087)"
This reverts commit 16bd71adf60232e16f04d02de3170c3facc17d3c.
2025-02-07 00:20:42 +01:00
Guillaume Nodet
16bd71adf6
[MNG-8563] Provide a weak cache for objects from the main model (#2087)
* Provide a weak cache for objects from the main model
* Fix infinite loops caused by circular references when interpolating model
* Add javadoc and unit tests
2025-02-06 11:08:19 +01:00
Guillaume Nodet
653f6f3c71
[MNG-7592] String deduplication in model building (#2083) 2025-02-05 15:59:04 +01:00
Martin Desruisseaux
7b4a4bf759
[MNG-8395] Redirect the <sourceDirectory> element to <Source> (#2061)
* Include the list of <Source> elements in the path translation.

* Add a `SourceRoot` interface for the properties declared in the POM's `<Source>` element.
The API use method names without `get` prefix in anticipation for possible use of records in the future.

In the `MavenProject` class, the `compileSourceRoots`, `testCompileSourceRoots` and `scriptSourceRoots`
fields are replaced by redirections to the new `sources` field with paths wrapped in `SourceRoot` objects.
The getters and setters methods for the previous fields are deprecated.
This commit contains other opportunistic deprecations on methods working with deprecated interfaces.

In the POM file, the above-cited properties are ignored if a corresponding `<Source>` element exists.
This rule exits because Maven sets default values to those fields, which can interfer with user's setting.

* Deprecate POM elements that are replaced by <Source> elements.

* Add @Deprecated annotation on model elements flagged as @deprecated in the documentation.

* Update `ProjectManager` API using `SourceRoot`:

- Add `addSourceRoot(Project, …)` methods.
- Add `getSourceRoots()` and `getEnabledSourceRoots(ProjectScope, Language)`.
- Remove `get/addResource(Project, …)` methods.
- Remove `get/addCompileSourceRoots(Project, …)` methods.

---------

Co-authored-by: Guillaume Nodet <gnodet@gmail.com>
2025-01-30 13:22:39 +01:00
Tamas Cservenak
7fac8fcb8d
[MNG-8513] Move xml combination mode validation to validator (#2069)
As Central has POMs using wrong values, causing even dependency collation to fail. For now plugin/pluginMtg is handled, but it seems extensions, ReportPlugins and ReportSets are not even validated...

---

https://issues.apache.org/jira/browse/MNG-8513
2025-01-29 15:14:59 +01:00
Martin Desruisseaux
023b014938
[MNG-8395] Add a <Source> element in the model. (#1936)
* Add a <Source> element in the model. Properties are:

- directory (inherited from FileSet)
- includes  (inherited from PatternSet)
- excludes  (inherited from PatternSet)
- scope
- lang
- module
- targetVersion
- targetPath (taken from <Resource>)
- filtering (taken from <Resource>)
- enabled

This commit also renames `source` parameter value in `reader-stax.vm`
for avoiding name collision with the new `Source` model element.

https://github.com/apache/maven/pull/1936

* Resolve an ambiguity in the description of `target` behavior.
Rename `filtering` as `stringFiltering` for avoiding confusion with file filtering.

* Corrections in the comment about mapping from old elements to <Source>.
2025-01-26 15:11:52 +01:00
Nils Breunese
a1f4955dda
[MNG-8482] Use instanceof assignments to get rid of casting expressions (#2018)
Co-authored-by: Nils Breunese <nbreunese@bol.com>
Co-authored-by: Guillaume Nodet <gnodet@gmail.com>
2025-01-10 09:42:00 +01:00
Guillaume Nodet
5cef91e402
[MNG-8494] Restore Maven 3 compatibility (#2031) 2025-01-10 08:09:12 +01:00
Tamas Cservenak
71c662fa4c
[MNG-8473] Site fixes (#2010)
Maven4 site cleanup: make all new modules generating models also document them, expose them all and redirect all links to new documentation.

Lifecycle is the only thing missing, as it is generated on the fly, there is no more source to "point at"...

---

https://issues.apache.org/jira/browse/MNG-8473
2025-01-08 23:14:18 +01:00
Guillaume Nodet
4714483009 [maven-release-plugin] prepare for next development iteration 2024-12-14 00:22:29 +01:00
Guillaume Nodet
273314404f [maven-release-plugin] prepare release maven-4.0.0-rc-2 2024-12-14 00:22:18 +01:00
Guillaume Nodet
781d19d9f1
[MNG-8410] Rename maven-api-meta to maven-api-annotations (#1957) 2024-12-10 22:43:27 +01:00
Tamas Cservenak
9238d2ffeb [maven-release-plugin] prepare for next development iteration 2024-11-25 11:57:49 +01:00
Tamas Cservenak
d81b1b6a28 [maven-release-plugin] prepare release maven-4.0.0-rc-1 2024-11-25 11:57:24 +01:00
Guillaume Nodet
986f59683e
[MNG-8286] Add a condition profile based on a simple expressions (#1771) 2024-11-20 21:36:48 +01:00
Tamas Cservenak
4b9e350985 [maven-release-plugin] prepare for next development iteration 2024-10-19 20:11:20 +02:00
Tamas Cservenak
6e78fcf6f5 [maven-release-plugin] prepare release maven-4.0.0-beta-5 2024-10-19 20:10:56 +02:00
Tamas Cservenak
3ecf9124ca Revert "[maven-release-plugin] prepare release maven-4.0.0-beta-5"
This reverts commit d82ef1a37296c3107423f62212c5fc31cf6ca98b.
2024-10-19 20:08:03 +02:00
Tamas Cservenak
87912b6554 Revert "[maven-release-plugin] prepare for next development iteration"
This reverts commit f4eeca24723741aae08598912282134dd4216051.
2024-10-19 20:07:37 +02:00
Tamas Cservenak
f4eeca2472 [maven-release-plugin] prepare for next development iteration 2024-10-18 17:54:38 +02:00
Tamas Cservenak
d82ef1a372 [maven-release-plugin] prepare release maven-4.0.0-beta-5 2024-10-18 17:54:23 +02:00
Tamas Cservenak
076c4dfeb7 Revert "[maven-release-plugin] prepare release maven-4.0.0-beta-5"
This reverts commit 2bcd571b5631191c519f4be97452f1fa3d0452b5.
2024-10-18 17:05:06 +02:00
Tamas Cservenak
ec2a8054c1 Revert "[maven-release-plugin] prepare for next development iteration"
This reverts commit 1813f06f866448f3e6d0283834fec2f0146b034f.
2024-10-18 17:04:56 +02:00
Tamas Cservenak
1813f06f86 [maven-release-plugin] prepare for next development iteration 2024-10-18 16:34:31 +02:00
Tamas Cservenak
2bcd571b56 [maven-release-plugin] prepare release maven-4.0.0-beta-5 2024-10-18 16:34:04 +02:00
Guillaume Nodet
fee69f2f89
[MNG-8294] Consistency checks when loading parent (#1784) 2024-10-09 13:07:31 +02:00
Guillaume Nodet
6c8b808760
[MNG-5910] Warn if both exists and missing file activation are set (#1773) 2024-10-08 15:46:42 +02:00
Guillaume Nodet
85f5dca4a6
[MNG-8234] Revert the addition of the priority tag (#1711) 2024-09-12 08:18:35 +02:00
Tamas Cservenak
a98d530e33 [maven-release-plugin] prepare for next development iteration 2024-08-30 14:59:00 +02:00
Tamas Cservenak
697c543b4e [maven-release-plugin] prepare release maven-4.0.0-beta-4 2024-08-30 14:58:34 +02:00
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
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
Guillaume Nodet
4369fa8dff
[API] Expose InputLocation formatter in the XmlFactory (#1616) 2024-08-11 00:21:50 +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
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
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
Guillaume Nodet
3bad5068a2
[MNG-8025] Restore compatibility (#1467) 2024-04-23 15:29:46 +02: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
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
0c529f830a
[MNG-8053] Profile activation by packaging in the POM (#1410) 2024-02-15 09:42:00 +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
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