Commit Graph

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