95 Commits

Author SHA1 Message Date
Hervé Boutemy
54c1b2f28a [MNG-8029] improve documentation about mirror settings 2024-02-17 19:40:11 +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
b6a84fcac6
[MNG-8014] Fix multithreaded builder (#1386) 2024-01-22 18:27:48 +01:00
Guillaume Nodet
d9a49e6ff7
[MNG-7965] Fix duplicate tags not rejected (#1344) 2023-12-15 07:33:11 +01:00
Guillaume Nodet
23bca281fc
[MNG-7947] Plugin API (#1309)
* Add an InternalSession interface to avoid casting to the implementation in various places
* Upgrade to Guice 6.0.0 and add support for jakarta.inject annotations
* Maven 4 Plugin API
2023-12-05 09:11:33 +01:00
Guillaume Nodet
4ddc4bf406
Use 4.0.99 as as intermediate model to keep 4.1.0 for the Maven 4.x model (#1297)
Also generates XSD for extensions 1.2.0 schema
2023-11-06 20:04:44 +01:00
Guillaume Nodet
9abaf3aa1c
[MNG-7894] Consumer pom should not expose local workspace directory (#1291) 2023-10-20 12:38:57 +02:00
Guillaume Nodet
4251e3f9c2
[MNG-7915] Use MavenStaxReader/Writer in MavenXpp3Reader/Writer (#1293)
This removes the generated v4 model reader/writer based on Xpp3 api and deprecates the v3 Xpp3 reader/writer.
2023-10-20 09:14:01 +02:00
Guillaume Nodet
80a8e41540
[MNG-7804] Fix broken MavenModelVersion generation (#1284) 2023-10-16 15:44:33 +02:00
Guillaume Nodet
dd2f1214d6
[MNG-7891] Support configuration for extensions (#1252) 2023-09-22 09:14:56 +02:00
Guillaume Nodet
34b0591f03
[MNG-7820] Remove dependency on plexus-utils StringUtils / FileUtils (#1243)
Co-authored-by: crazyhzm <crazyhzm@apache.org>
2023-09-14 13:48:15 +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
8d91fc8c15 Do not build location information if not needed 2023-09-11 00:38:10 +02:00
Guillaume Nodet
f0a6239162 Use XMLConstants 2023-09-11 00:38:10 +02:00
Guillaume Nodet
c245ed48de Fix stax writer to generate nicer XML 2023-09-11 00:38:10 +02:00
Guillaume Nodet
a27f614511 Remove unused method in generated xml writers 2023-09-11 00:38:10 +02:00
Guillaume Nodet
64b32c0bb4
[MNG-7871] Fix location tracking (#1222) 2023-09-05 18:06:44 +02:00
Guillaume Nodet
4a5b6c5f2b
Trivial fixes to the generated stax readers (#1204) 2023-07-18 22:56:07 +02:00
Guillaume Nodet
41e6760143 Do not generate empty files for InputLocation and InputSource 2023-07-11 08:29:13 +02:00
Guillaume Nodet
7563949f71 [MNG-7834] Fix NullPointerException in flatten-maven-plugin 2023-07-05 16:24:19 +02:00
Guillaume Nodet
e39142b77a
[MNG-7830] Switch from plexus-xml to stax / woodstox (#1185) 2023-06-29 12:03:50 +02:00
Guillaume Nodet
0a8491c329
[MNG-7814] Use location tracking for settings (#1164) 2023-06-19 12:39:14 +02:00
Guillaume Nodet
8b652a8b3e
Fix code style for code generated by velocity templates (#1146) 2023-06-06 13:10:30 +02:00
Guillaume Nodet
84e133df7c
[MNG-7585] Remove duplicate classes (#1135) 2023-06-02 13:58:35 +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
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
Elliotte Rusty Harold
696cf37dc7
update a few URLs (#1052) 2023-03-13 00:17:09 +00:00
Elliotte Rusty Harold
0dd9ebc126
restore src/mdo/reader.vm (#1034) 2023-03-05 12:43:42 +00:00
Elliotte Rusty Harold
d86cee4f90 revert accidental commit 2023-03-04 18:44:29 -05: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
Hervé Boutemy
fbdf109b34
[MNG-7571] add Maven API javadoc (#830) 2022-12-31 17:32:07 +01:00
Hervé Boutemy
3d4d6d8bea fix wrong dependencies 2021-12-26 22:06:43 +01:00
Hervé Boutemy
f793d862e3 [MWRAPPER-14] remove Maven Wrapper from core 2021-12-26 17:42:35 +01:00
Hervé Boutemy
ede86ab4b6 [MNG-6914] move apache-maven-wrapper to its own separate Maven module 2021-10-16 19:44:39 +02:00
Giovanni van der Schelde
ffc2b99e3e [MNG-6389] Move the toolchains model to a separate artifactId
Closes #586
2021-10-13 16:10:22 +02:00
Hervé Boutemy
53dead3e9b [MNG-7136] add forgotten maven-slf4j-wrapper 2021-04-05 11:49:09 +02:00
Hervé Boutemy
da34c1e869 [MNG-7136] crop image to fit content 2021-04-05 11:40:40 +02:00
Hervé Boutemy
a88d3f0b3f [MNG-7136] update Maven 4 dependencies schema 2021-04-05 11:26:08 +02:00
Hervé Boutemy
d0f1efa40e fixed dependency schema: model-builder depends on artifact 2018-08-20 11:50:35 +02:00
Hervé Boutemy
6f41a82bb8 reorganised dependency graph: group consumer vs build modules 2018-07-12 22:17:02 +02:00
Hervé Boutemy
197b4be150 removed configuration inherited from parent and more up-to-date 2018-03-11 11:34:04 +01:00
Hervé Boutemy
0dc70cc691 upgrade m-site-p to 3.7 + Fluido 1.7 + edit button 2018-02-10 11:42:33 +01:00
Hervé Boutemy
f1cc1d4e5a [MNG-6140] maven-core depends on shared-utils (not project-utils) 2017-02-18 15:15:18 +01:00
Hervé Boutemy
1cb2e92b5a [MNG-6140] renamed aether to resolver, added slf4j-provider 2017-02-01 07:59:53 +01:00
Hervé Boutemy
84085c0a9c updated urls (https, plexus) and license header formatting 2017-01-24 23:50:10 +01:00
Hervé Boutemy
733eedc4fb added standard license and download links 2017-01-24 19:22:28 +01:00
Hervé Boutemy
94bc4de2ea [MNG-6093] use monkey patched slf4j-simple provider with Maven color 2017-01-24 18:40:07 +01:00
Hervé Boutemy
337284bdcf Plexus is now at github 2015-08-03 00:23:39 +02:00