43 Commits

Author SHA1 Message Date
Guillaume Nodet
a27086a6f5 Fix bad javadoc 2023-05-23 16:36:23 +02:00
Guillaume Nodet
d826b575ac
[MNG-7784] Fix compatibility for SuperPomProvider (#1109) 2023-05-17 07:19:19 +02:00
Guillaume Nodet
2db7c85b64
[MNG-7038] Introduce public properties to point to the root and top directories of (multi-module) project (#1061)
This commit introduces three properties:

 * project.rootDirectory: the project's directory or parent directory containing a .mvn subdirectory or a pom.xml flagged with the root="true" attribute. If no such directory can be found, accessing the rootDirectory property will throw an IllegalStateException.

 * session.topDirectory : the directory of the topmost project being built, usually the current directory or the directory pointed at by the -f/--file command line argument. The topDirectory is similar to the executionRootDirectory property available on the session, but renamed to make it coherent with the new rootDirectory and to avoid using root in its name. The topDirectory property is computed by the CLI as the directory pointed at by the -f/--file command line argument, or the current directory if there's no such argument.

 * session.rootDirectory : the rootDirectory for the topDirectory project.

The topDirectory and rootDirectory properties are made available on the MavenSession / Session and deprecate the executionRootDirectory and multiModuleProjectDirectory properties. The rootDirectory should never change for a given project and is thus made available for profile activation and model interpolation (without the project. prefix, similar to basedir). The goal is also to make the rootDirectory property also available during command line arguments interpolation.

A root boolean attribute is also added to the model to indicate that the project is the root project. This attribute is only supported if the buildconsumer feature is active and removed before the pom is installed or deployed. It can be used as an alternative mechanism to the .mvn directory.
2023-04-20 12:58:12 +02:00
Karl Heinz Marbaise
c49c4e0b18
[MNG-7451] - Remove public modifier from test methods / test classes 2023-04-15 19:24:20 +02:00
Guillaume Nodet
2788849c37
Switch version to 4.0.0 for @since tags (#1068) 2023-03-23 06:29:39 +01:00
Guillaume Nodet
8052c720e7 [maven-release-plugin] prepare for next development iteration 2023-03-15 17:06:58 +01:00
Guillaume Nodet
26d10a4bf9 [maven-release-plugin] prepare release maven-4.0.0-alpha-5 2023-03-15 17:06:43 +01:00
Guillaume Nodet
9d851eea68
[MNG-7678] Settings (v3) and Settings.Builder() cannot unset a non-null field (#983) 2023-03-13 19:35:35 +01:00
Guillaume Nodet
dc8ec4c973
Fix mutable api in PluginContainer (#1019) 2023-03-09 21:14:48 +01:00
Guillaume Nodet
fbeefb85ab [maven-release-plugin] prepare for next development iteration 2023-01-27 16:33:47 +01:00
Guillaume Nodet
009cf4a721 [maven-release-plugin] prepare release maven-4.0.0-alpha-4 2023-01-27 16:33:38 +01:00
Guillaume Nodet
f153ac134c
[MNG-7598] Fix compatibility issues with toolchains and settings (#971)
* Split the header on two lines
* Properly delegates equals/hashCode to the v4 models
* Introduce object tracking in settings / toolchains
* Get back to a single template for v3 models
* Switch settings / toolchains mergers to deep merge
* Fix binary compatibility with 3.x
2023-01-27 15:56:16 +01:00
Hervé Boutemy
74548dde8e
[MNG-7664] consolidate Velocity templates used to generate code from models (#949) 2023-01-20 00:38:51 +01:00
Guillaume Nodet
fc2d94f077 [MNG-7652] switch to Modello Velocity (#944) 2023-01-04 13:57:45 +01:00
Hervé Boutemy
a7399a4d52
[MNG-7652] switch to Modello Velocity (#944) 2023-01-03 22:08:35 +01:00
Guillaume Nodet
a00a44f75b
[MNG-7660] Rename Dom to XmlNode in the v4 api (#946)
* Rename Dom to XmlNode and Xpp3Dom to XmlNodeImpl
* Use XmlNodeBuilder instead of DomBuilder
2023-01-03 16:52:23 +01:00
Hervé Boutemy
fbdf109b34
[MNG-7571] add Maven API javadoc (#830) 2022-12-31 17:32:07 +01:00
Guillaume Nodet
8150c62749 [MNG-7650] Reformat 2022-12-26 16:12:32 +01:00
Piotrek Żygieło
8833330b00 [MNG-7645] Implement some #toString() methods
* Implement Developer#toString()
* Implement IssueManagement#toString()
* Implement License#toString()
* Implement Build#toString()
* Implement Organization#toString()
* Implement MailingList#toString()
* Implement Scm#toString()

This closes #933
2022-12-21 09:30:10 +01:00
Guillaume Nodet
0e82026f2a [maven-release-plugin] prepare for next development iteration 2022-12-12 11:37:35 +01:00
Guillaume Nodet
2ccf57baa5 [maven-release-plugin] prepare release maven-4.0.0-alpha-3 2022-12-12 11:36:07 +01:00
Guillaume Nodet
615390f6fc
[MNG-7596] Upgrade to plexus 3.5.0 (#866) 2022-12-01 22:07:30 +01:00
Tamas Cservenak
f70b0019cc
[MNG-7607] Add M4 Transport API (#884)
Something simple to use and would reuse all the auth/proxy etc data from Maven. Intentionally super-trivial API.

If something more "serious" needed, plugin should probably roll it's own solution.

---

https://issues.apache.org/jira/browse/MNG-7607
2022-12-01 13:53:08 +01:00
Guillaume Nodet
5da32ae7f3
[MNG-7602] Move back model version from 5.0 to 4.2 and reactivate modello site generation (#843) 2022-11-22 23:11:30 +01:00
Guillaume Nodet
de19cfcd2b [MNG-7601] Reformat sources 2022-11-22 14:26:01 +01:00
Guillaume Nodet
dc88c6193c
[MNG-7580] Introduce new SettingsBuilder and ToolchainsBuilder services (#852) 2022-11-21 09:51:28 +01:00
Konrad Windszus
4d3a82f596
[MPLUGIN-439] Support custom lifecycle phase ids in Execute annotation (#865) 2022-11-09 13:05:38 +01:00
Michael Osipov
9c60138915 [MNG-7556] Clean up notion between user properties and system properties
This closes #810
2022-10-29 20:44:15 +02:00
Koray Tugay
e13176829f
DOC - spelling fix in maven.mdo file (#851)
DOC - spelling fix in maven.mdo file
2022-10-26 22:49:18 +02:00
Guillaume Nodet
cb424b93e1
[MNG-7582] Reformat apiv4 javadoc according to usual rules
Fixes  #853
2022-10-26 22:42:39 +02:00
Guillaume Nodet
77312f323b [maven-release-plugin] prepare for next development iteration 2022-10-15 01:41:39 +02:00
Guillaume Nodet
c07700ffc9 [maven-release-plugin] prepare release maven-4.0.0-alpha-2 2022-10-15 01:41:31 +02:00
Guillaume Nodet
a492c9a4ff
Fix the repackaged plexus-utils groupId (#829)
* Fix plexus gav
* Install maven instead of just building it

The plugins need to be available in the local repo, else the build may download old snapshots
2022-10-15 01:20:24 +02:00
Guillaume Nodet
66851463f6 [maven-release-plugin] prepare for next development iteration 2022-10-14 22:57:05 +02:00
Guillaume Nodet
0d973fb624 [maven-release-plugin] prepare release maven-4.0.0-alpha-1 2022-10-14 22:36:41 +02:00
Guillaume Nodet
f84d8338ab Fix modello-plugin-velocity which breaks the release plugin 2022-10-14 22:34:19 +02:00
Guillaume Nodet
2b6977a85f
Fix site generation (#828) 2022-10-14 21:52:26 +02:00
Guillaume Nodet
49d1ec1668 Restore the serializable aspect of the Model 2022-10-14 10:23:18 +02:00
Guillaume Nodet
c3361ab622 Fix javadoc issues 2022-10-13 17:35:27 +02:00
Tamas Cservenak
3bc2cf6a7a
[MNG-7547] Simpler G level metadata generation (#806) 2022-10-11 14:11:17 +02:00
Guillaume Nodet
ae655e0e83
[MNG-7553] v4 api enhancements
* Fix DefaultArtifactManager to allow using both Artifact and Dependency
* Add a TODO for an EventSpy related api
* Add simple string/model conversion on the XmlFactory
* Decouple services creation
* Move services to @Singleton scope
* Add protected constructors as builders should not be created directly
* Fix typos "can not" -> "cannot"
* Add some null checks on build(xx) shortcut methods
* Add a some missing conversion to immutable collections for requests
2022-10-10 20:47:26 +02:00
Guillaume Nodet
bff84bd634
Replace Properties with Map<String, String> in the v4 api (#808) 2022-10-05 16:52:17 +02:00
Guillaume Nodet
2a9f39336c
[MNG-7553] New clean API with immutable model (#703) 2022-10-02 10:41:25 +02:00