72 Commits

Author SHA1 Message Date
Slawomir Jaranowski
5c2e671a06 [MNG-7895] Support ${project.basedir} in file profile activation 2023-09-26 19:50:21 +02:00
Guillaume Nodet
10fa5c713a
[MNG-7893] Allow versioning the superpom according to the model version (#1253) 2023-09-26 07:17:52 +02:00
Guillaume Nodet
f24266eb64
[MNG-7836] Support alternative syntaxes for POMs (#1197)
The IT associated with this PR is using the Maven model to generate a hocon POM parser.  This requires the maven-api-model module to attach the POM as an artifact, and the maven.yml change so that the model is present in the local repository.
2023-09-22 09:25:10 +02:00
Guillaume Nodet
dd2f1214d6
[MNG-7891] Support configuration for extensions (#1252) 2023-09-22 09:14:56 +02:00
Guillaume Nodet
59a8d90397 Add a o.a.maven.api.services.Source#resolve method 2023-09-22 08:34:51 +02:00
Guillaume Nodet
c6380108b1
[MNG-7877] Attach the build POM and simplify build/consumer implementation (#1240)
.. at the cost of loosing xml formatting in the consumer POMs
2023-09-13 13:39:50 +02:00
Guillaume Nodet
45075233c7
[MNG-7876] Add model version analysis and downgrade (#1235) 2023-09-11 18:17:26 +02:00
Guillaume Nodet
e71d2d7167
Improve o.a.m.api.services.Source interface (#1236) 2023-09-11 18:14:36 +02:00
Guillaume Nodet
7d6f90e8d0
Move Features to api (#1232) 2023-09-11 00:42:53 +02:00
Guillaume Nodet
dde369b6fc [MNG-7810] Provide a SPI for the v4 api
# Conflicts:
#	maven-bom/pom.xml
2023-09-11 00:38:45 +02:00
Guillaume Nodet
e2fc256118
Minor improvements to v4 api ToolchainsBuilder (#1234) 2023-09-11 00:37:22 +02:00
Guillaume Nodet
64b32c0bb4
[MNG-7871] Fix location tracking (#1222) 2023-09-05 18:06:44 +02:00
Guillaume Nodet
22ae75a304
[MNG-7843] Allow glob patterns in dependency exclusions (#1200) 2023-08-29 17:25:58 +02:00
huazhongming
7d66d19f8b
[MNG-7822] Add support for TRACE logging level (with style "bold,magenta") (#1215)
Signed-off-by: crazyhzm <crazyhzm@apache.org>
2023-08-25 17:51:43 +02:00
Guillaume Nodet
f2593b97ef
[MNG-7862] The ModelLocator should always be used when locating pom.xml (#1217) 2023-08-23 21:25:14 +02:00
Guillaume Nodet
c08b221264
[MNG-6401] Support interpolation of the proxy port in settings.xml (#1194)
Co-authored-by: Hervé Boutemy <hboutemy@apache.org>
Co-authored-by: Michael Osipov <michaelo@apache.org>
2023-08-23 10:17:47 +02:00
Guillaume Nodet
e7feeb6ff0
Fix codestyle in model code snippets (#1203) 2023-08-22 08:10:39 +02:00
Guillaume Nodet
9b12ccdeb0
Rename Type#getName() to getId() and improve javadoc (#1198) 2023-07-06 09:20:03 +02:00
Guillaume Nodet
567df8dea8 Use correct order in javadoc 2023-07-04 08:36:08 +02:00
Guillaume Nodet
8f45d51bd6 Prefer using String.isEmpty over String.length()>0 2023-07-04 08:36:08 +02:00
Guillaume Nodet
5b540821f2 [maven-release-plugin] prepare for next development iteration 2023-06-24 10:52:55 +02:00
Guillaume Nodet
bf699a388c [maven-release-plugin] prepare release maven-4.0.0-alpha-7 2023-06-24 10:52:47 +02:00
Guillaume Nodet
a279289bc3 [maven-release-plugin] prepare for next development iteration 2023-06-23 15:08:35 +02:00
Guillaume Nodet
a3f0f12fab [maven-release-plugin] prepare release maven-4.0.0-alpha-6 2023-06-23 15:08:27 +02:00
Guillaume Nodet
229b31b626
[MNG-4645] Move Central repo definition out of Maven's core so it can be more easily changed (#1139)
Co-authored-by: Christian Schulte <schulte@apache.org>
2023-06-19 17:04:04 +02:00
Guillaume Nodet
0a8491c329
[MNG-7814] Use location tracking for settings (#1164) 2023-06-19 12:39:14 +02:00
Guillaume Nodet
e6303aae32
[MNG-5659] Provide project-specific settings located in ${session.rootdir}/.mvn/settings.xml by default (#1059) 2023-06-19 12:32:14 +02:00
Guillaume Nodet
a2d435b74a
Get rid of maven-shared-utils (#1158)
Given maven-shared-utils is being deprecated (see MSHARED-1269), we need to remove its usage in maven.  Maven core only uses the logging/message related classes from maven-shared-utils, so this PR enhance the initial v4 api with the needed interfaces and move the jansi specific code into maven-embedder.
2023-06-15 16:51:32 +02:00
Guillaume Nodet
84e133df7c
[MNG-7585] Remove duplicate classes (#1135) 2023-06-02 13:58:35 +02:00
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