Guillaume Nodet
92a82dcefd
[MNG-6437] Better support for path and uri in property interpolation ( #812 )
2023-10-17 19:55:08 +02:00
Tamas Cservenak
bd608d8cc9
[MNG-7910] DefaultProfileSelector empty ctor uses immutable list ( #1283 )
...
It uses immutable list and while it suggests it allows this below, it actually fails on constructs like this (runtime ONLY):
{noformat}
new DefaultProfileSelector()
.addProfileActivator(new JdkVersionProfileActivator())
.addProfileActivator(new PropertyProfileActivator())
{noformat}
As default ctor creates immutable list, but API kinda suggests this is ok.
---
https://issues.apache.org/jira/browse/MNG-7910
2023-10-16 13:26:42 +02:00
Guillaume Nodet
07db6ec76a
[MNG-7911] Require JDK 11 and support JDK 21 at build time ( #1278 )
2023-10-16 13:25:27 +02:00
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
35022a3616
Fix newlines and indentation in ModelBuildingException message ( #1257 )
2023-09-22 12:54:27 +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
89d3ac90d1
Make DefaultInheritanceAssembler#merger field final and reorder fields correctly
2023-09-22 08:34:51 +02:00
Guillaume Nodet
0c37cff681
[MNG-7820] Get rid of plexus-utils Os class ( #1249 )
2023-09-22 08:01:36 +02:00
Guillaume Nodet
1eae6684e3
[MNG-7881] Expose the rootDirectory for model processing ( #1245 )
2023-09-19 16:31:35 +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
46fd5e9586
Add ModelLocator#locateExistingPom to abstract a bit more ( #1237 )
2023-09-11 18:15:00 +02:00
Guillaume Nodet
7d6f90e8d0
Move Features to api ( #1232 )
2023-09-11 00:42:53 +02:00
Guillaume Nodet
0b3246381d
Remove useless @author tags ( #1226 )
...
This information is usually more accurately given by the GIT history
2023-09-06 10:39:32 +02:00
Guillaume Nodet
64b32c0bb4
[MNG-7871] Fix location tracking ( #1222 )
2023-09-05 18:06:44 +02:00
Guillaume Nodet
b0170a612b
[MNG-7851] Improve error message when modelVersion is 4.0 ( #1219 )
...
Improve DefaultModelValidator.compareModelVersions to be able to compare
versions which different numbers of segments, allowing it to compare
"4", "4.0", and "4.0.0" to each other for example.
Signed-off-by: Craig Andrews <candrews@integralblue.com>
# Conflicts:
# maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java
Co-authored-by: Craig Andrews <candrews@integralblue.com>
2023-08-29 13:33:17 +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
Elliotte Rusty Harold
1a714351ef
remove pointless string concatenation ( #1201 )
2023-07-15 13:58:20 -04:00
Guillaume Nodet
e39142b77a
[MNG-7830] Switch from plexus-xml to stax / woodstox ( #1185 )
2023-06-29 12:03:50 +02:00
Guillaume Nodet
dbfcfd5eb3
[MNG-7228] MavenProject.getOriginalModel returns interpolated parts ( #1183 )
2023-06-24 10:51:08 +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
8b0bf378b8
[MNG-5600] Dependency management import should support exclusions. ( #1155 )
...
The original patch is made by: Christian Schulte <schulte@apache.org>
Co-authored-by: Alex Szakaly <alex.szakaly@gmail.com>
2023-06-15 17:29:05 +02:00
Guillaume Nodet
ea1a280714
[MNG-7604] Removal of pom.* interpolation makes some older plugins defunct ( #1137 )
...
This partially reverts commit b2a21f12f8
.
Co-authored-by: Maarten Mulders <mthmulders@users.noreply.github.com>
2023-06-05 10:44:46 +02:00
Guillaume Nodet
26ee15a47e
Fix possible NPE
2023-05-31 15:52:05 +02:00
Guillaume Nodet
d826b575ac
[MNG-7784] Fix compatibility for SuperPomProvider ( #1109 )
2023-05-17 07:19:19 +02:00
Guillaume Nodet
7fe9499361
[MNG-7783] Profile source point to file instead of to module ( #1110 )
2023-05-17 07:15:44 +02:00
Tim te Beek
a8319821a9
[MNG-6829] Replace any StringUtils#isEmpty(String) and #isNotEmpty(String) ( #1104 )
...
* [MNG-6829] Replace any StringUtils#isEmpty(String) and #isNotEmpty(String)
Use this link to re-run the recipe: https://public.moderne.io/recipes/org.openrewrite.java.migrate.apache.commons.lang.IsNotEmptyToJdk?organizationId=QXBhY2hlIE1hdmVu
Co-authored-by: Moderne <team@moderne.io>
* Apply Spotless
---------
Co-authored-by: Moderne <team@moderne.io>
2023-05-09 19:46:02 -04: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
9e51a8fe95
[MNG-7763] Provide UTF-8 as a default value for project.build.sourceEncoding and project.reporting.outputEncoding ( #1085 )
2023-04-17 15:20:54 +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
Andrey Bruykhov
7b38457506
Normalize regex patterns
...
This #990
2023-02-09 18:47:51 +01:00
Andrey Bruykhov
6e25a2674b
[MNG-7686] Speed up by replacing non-pattern #replaceAll() with #replace() or precompiled patterns
...
This closes #984
2023-02-07 21:55:12 +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
Tamas Cservenak
8918c8144f
[MNG-7622] Maven Transformation and Consumer POM ( #907 )
...
Maven Consumer POM redone, it happens only in "maven3 realm" (before resolver), and allows use cases like m-gog-p and checksum-m-p work as before.
Key aspects:
* consumer POM is injected to build earliest possible as attached artifact
* it lives and is visible just like any other attached artifact (so m-gpg-p can process it)
* just before the install/deploy, they are "swapped out" to replace POM along with all "extras" it may have (checksum, signature)
* to support use cases like MNG-7067 (in memory model is changed, but not POM file), OnChangeTransformer could be extended to take into account both: file content and model content.
---
https://issues.apache.org/jira/browse/MNG-7622
2023-01-25 11:27:00 +01:00
Guillaume Nodet
1968951a53
[MNG-7642] Restore compatibility with flatten-maven-plugin ( #947 )
...
Revert "[MNG-7505] Remove ReportingConverter (#906 )"
This reverts commit adf89ef63f
.
2023-01-09 16:06:48 +01:00
Michael Osipov
7b00069388
[MNG-7658] CI-friendly versions should only come from/rely on user properties
...
This closes #945
2023-01-01 21:08:55 +01:00
Hervé Boutemy
fbdf109b34
[MNG-7571] add Maven API javadoc ( #830 )
2022-12-31 17:32:07 +01:00
Pavel Horal
6178f6ed86
[MNG-7648] Fix locationTracking in DefaultModelBuildingRequest copy constructor ( #940 )
...
- Fix locationTracking in DefaultModelBuildingRequest copy constructor
- Add location tracking unit test
2022-12-29 14:02:33 +01:00
Guillaume Nodet
8150c62749
[MNG-7650] Reformat
2022-12-26 16:12:32 +01:00
Guillaume Nodet
adf89ef63f
[MNG-7505] Remove ReportingConverter ( #906 )
2022-12-11 18:57:15 +01:00
Guillaume Nodet
f27b975ddc
[MNG-7576] Restore compatibility for flatten-maven-plugin ( #903 )
2022-12-05 17:22:33 +01:00
Guillaume Nodet
249c0fe0f1
[MNG-7617] Small optimisations and cleanup in the project/model building ( #816 )
...
* Clean a bit DefaultProfileActivationContext
* Cleanup DefaultProjectBuildingResult
* Cache the injected list to avoid repetitive lookups
* Lazily compute the MavenBuildTimestamp
* Use a single loop to select active profiles
2022-12-02 14:58:56 +01:00
Guillaume Nodet
de19cfcd2b
[MNG-7601] Reformat sources
2022-11-22 14:26:01 +01:00
Guillaume Nodet
3f03f0e7b2
[MNG-7576] Restore compatibility with maven 3.x ( #841 )
2022-11-21 09:50:33 +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
Konrad Windszus
79b6dd0bab
[MNG-6609] expose packaging via property "project.packaging" ( #835 )
2022-10-24 13:13:35 +02:00
Guillaume Nodet
18eff3baeb
Restore compatibility with 3.x ( #836 )
...
* Restore compatibility with 3.x
* Deprecate the old constructor
2022-10-20 23:06:06 +02:00
Konrad Windszus
d857c3a915
[MNG-7566] Allow a Maven plugin to require a Java version ( #827 )
2022-10-18 11:45:54 +02:00
Guillaume Nodet
2b6977a85f
Fix site generation ( #828 )
2022-10-14 21:52: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
Marc Wrobel
8125b3131f
Fix typos in code
...
Fix minor typos in code :
- test method names,
- method parameter names,
- variable names.
2022-07-19 00:45:13 +02:00
Marc Wrobel
5ce5591ae3
Fix minor typos
...
Fix various minor typos in :
- project documentations,
- javadoc and comments,
- test files.
2022-07-18 19:22:19 +02:00
Giovanni van der Schelde
93196d4bb7
[MNG-7404] Drop deprecated prefixless expressions
...
Fixed failing unit tests to use the 'project.' prefix and removed legacy
unit tests that tested support for prefixless expressions.
Closes #696 .
2022-04-27 20:12:57 +02:00
Karl Heinz Marbaise
896c707d32
[MNG-7447] - Several Improvements by using Stream API
2022-04-04 20:39:14 +02:00
Arturo Bernal
48fc4c9937
[MNG-7299] Simplify conditional expressions
...
This closes #583
2022-03-05 23:32:14 +01:00
Giovanni van der Schelde
b2a21f12f8
[MNG-7244] Remove deprecated WARNING for usage of pom.X placeholders
...
This closes #678
2022-02-19 23:05:27 +01:00
Christoph Läubrich
62cf29bab3
[MNG-7407] Introduce a ModelVersionProcessor component to make CI Friendly Versions pluggable
...
This closes #675
2022-02-19 17:49:59 +01:00
Guillaume Nodet
1d473233f2
[MNG-6727] Using version range in parent and CI Friendly Version fails
2022-02-01 14:35:07 +01:00
Guillaume Nodet
ae8aebea19
[MNG-7182] Use the MX xpp parser instead of a STAX transformation ( #486 )
2021-11-29 13:31:55 +01:00
Hervé Boutemy
f46a9131d5
fix javadoc errors
2021-10-17 12:07:50 +02:00
Arturo Bernal
0080e84588
[MNG-7297] Remove redundant type arguments ( #581 )
2021-10-11 20:58:38 +02:00
Arturo Bernal
b31f3aeef3
[MNG-7291] Avoid String concatenation in loops ( #572 )
2021-10-10 22:12:41 +02:00
Arturo Bernal
16afe061c9
[MNG-7290] Java8 improvements
...
Closes #571
2021-10-10 12:50:42 +02:00
Arturo Bernal
b9fb762215
[MNG-7292] Unnecessarily escaped character
...
Closes #573
2021-10-10 12:18:15 +02:00
Arturo Bernal
4fafe44112
MNG-7296 - Remove redundant 'if' statement
2021-10-10 10:53:58 +02:00
Arturo Bernal
e50d65d228
MNG-7295 - Remove redundant/unused import statements.
2021-10-09 16:26:14 +02:00
Guillaume Nodet
35e5a4d71d
[MNG-5577] Use JSR 330 constructor injection
...
# Conflicts:
# maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecyclePluginAnalyzer.java
2021-10-02 12:26:22 +02:00
Guoxiong Li
5fd536853f
[MNG-7248] Fix warnings issued by dependency:analyze
...
This changeset does intentionally not touch Guice and its dependencies
as well as test-scoped dependencies.
This closes #546
2021-09-24 20:55:03 +02:00
Mickael Istria
76d7f58a61
[MNG-7226] DefaultModelBuilder.buildRawModel fails ( #528 )
...
as it ignores pom file
2021-09-03 09:56:30 +02:00
rfscholte
a2f81065ff
[MNG-6656] Features must use userProperties instead of systemProperties
2021-07-23 11:21:18 +02:00
rfscholte
f582ce88fc
[MNG-7047] Validate that repo configuration does not contain any expression
2021-07-21 10:34:43 +02:00
Michael Osipov
78fc3734f9
Trim trailing whitespace
2021-07-02 18:47:10 +02:00
Michael Osipov
cbaf7f7b48
Change @since from 3.7.0 to 4.0.0
2021-06-27 00:04:50 +02:00
Sylwester Lachiewicz
ab95197436
Fix Checkstyle reported issues with maven-shared-resources 3
2021-05-30 12:00:03 +02:00
Ravil Galeyev
3fabb639a3
[MNG-6802] Fix bug in FileProfileActivator ( #347 )
...
* [MNG-6802] FileProfileActivator changes exists
FileProfileActivator changes FileProfileActivator.exists
which lets flattened resolveCiFriendliesOnly depending
fail activating profile.
* [MNG-6802] Add java docs
* [MNG-6802] PR comments fixes
* Make ProfileActivationFilePathInterpolator a class
* call super.tearDown() last
* [MNG-6802] PR comments fixes
* Get rid of reusing local variables
* Rename file-> activationFile
* Move if ( missing ) to try block
* Update javadocs
* Replace string format with concatenation
* Replace FileReader to FileInputStream
* [MNG-6802] Update javadoc
* [MNG-6802] Switch to commons lang3 StringUtils
* [MNG-6802] Switch to commons lang3 StringUtils
* [MNG-6802] Switch to plexus-utils StringUtils back
* [MNG-6802] Switch to plexus-utils StringUtils back
* [MNG-6802] Resolve conflicts
* [MNG-6802] Upgrade tests
* [MNG-6802] Fix for windows
* [MNG-6802] Remove annotation
* [MNG-6802] Create a temp dir
* [MNG-6802] Remove space
* [MNG-6802] Small refactoring
* [MNG-6802] Use JUnit5 tempDir
* [MNG-6802] Use static import
* [MNG-6802] Remove plexus
* [MNG-6802] Remove plexus
* [MNG-6802] Fix checklstyle
* [MNG-6802] Restart build
* [MNG-6802] Restart build
* [MNG-6802] Restart build (last attempt)
* [MNG-6802] Fix PR comments
* [MNG-6802] Refactor try-catch
* [MNG-6802] Fix comments in FileProfileActivatorTest
* [MNG-6802] Use primitive
* [MNG-6802] Push down path
2021-05-15 11:51:15 +00:00
Hervé Boutemy
1b6caed1ea
[MNG-6656] rename build+consumer filters to buildToRaw+rawToConsumer
2021-04-04 19:49:51 +02:00
Hervé Boutemy
e25cf17d3b
[MNG-6656] move to o.a.m.model.transform + .sax
2021-04-04 19:39:05 +02:00
Michael Osipov
1e19805097
[MNG-6075] Increase the model validation level to the next minor level version
...
This closes #455
2021-03-20 15:09:33 +01:00
Hervé Boutemy
612dfddd26
[MNG-3220] fix doc: dependencyManagement import require scope import
2021-03-16 22:27:15 +01:00
Michael Osipov
a5c68f7a4a
Revert "[MNG-7046] Revert MNG-5639 and make repo config static only"
...
This reverts commit 8c9c303f9c
.
2021-03-13 17:09:40 +01:00
Guillaume Nodet
9e19b57c72
[MNG-7111] Deadlock when reading pom
...
Signed-off-by: rfscholte <rfscholte@apache.org>
2021-03-13 11:58:02 +01:00
rfscholte
aa90370ff4
[MNG-7110] Different behavior of extensions
...
restore configuration of importRequest
2021-03-12 18:24:13 +01:00
Christian Schulte
c3dba0e5ba
[MNG-6113] Rename the 'Central Repository' to 'Maven Central Repository' in the 4.0.0 super POM
2021-02-28 20:16:29 +01:00
Hervé Boutemy
d740200811
[MNG-7107] relax profile id validation, different from coordinate id
2021-02-26 18:05:25 +01:00
Guillaume Nodet
619973b91c
[MNG-7063] Infinite loop using Shade plugin and JUnit 5 dependency
...
Signed-off-by: rfscholte <rfscholte@apache.org>
2021-02-14 15:52:04 +01:00
Michael Osipov
eae3074c63
[MNG-7029] Remove super POM release profile
...
This closes #411
2021-02-02 17:40:24 +01:00
Maarten Mulders
8defd16965
[MNG-7051] Optionally skip non-existing profiles and break on missing required profiles.
2021-02-02 08:20:21 +01:00
Michael Osipov
ceb08cfa77
Test for empty locations and avoid printing them
2021-01-30 23:04:46 +01:00
Guillaume Nodet
bb916d0784
[MNG-7035] Migrate unit tests to Unit 5
...
Signed-off-by: rfscholte <rfscholte@apache.org>
2021-01-15 15:07:06 +01:00
rfscholte
94612f96fa
[MNG-7060] Let build fail fast in case any maven-gpg-plugin goal is called
2021-01-03 13:09:59 +01:00
Michael Osipov
8eda091d4e
Replace tabs with proper count of spaces
2020-12-24 19:50:27 +01:00
Michael Osipov
673a7d1fef
Trim trailing whitespace
2020-12-24 19:09:10 +01:00
Michael Osipov
8c9c303f9c
[MNG-7046] Revert MNG-5639 and make repo config static only
...
This closes #409
2020-12-24 15:23:59 +01:00
Christian Schulte
d2adab7bf3
[MNG-6054] Remove super POM plugin management section
...
This closes #410
2020-12-24 00:05:32 +01:00
rfscholte
9f88494b60
[MNG-6957] Versionless reactor dependencies/parent should work even if modules are aggregated in reverse order
...
This closes #391
2020-12-22 16:30:37 +01:00
Guillaume Nodet
be8ced6be3
[MNG-7034] StackOverflowError thrown if a cycle exists in BOM imports
...
This closes #399
2020-12-13 15:10:53 +01:00