3267 Commits

Author SHA1 Message Date
Tamas Cservenak
a35307771c
[MNG-7702] Use latest deploy plugin (#1007)
And have it aligned with install plugin. These two now provides all the fixes and new functionalities like working deployAtEnd etc.

---

https://issues.apache.org/jira/browse/MNG-7702
2023-02-22 13:21:34 +01:00
Guillaume Nodet
1d9dd4a364 [MNG-7679] [REGRESSION] Build fails when executing a single mojo without a POM
This closes #993
2023-02-20 21:21:34 +01:00
Alexey Venderov
b82479bf11
[MNG-7689] Check if execution lifecycle phase is not null (#996) 2023-02-15 08:49: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
Andrey Bruykhov
ef3cf56b51 Added missing @Deprecated/@deprecated annotations
@Deprecated annotatio is helpful to prevent usage of deprecated API.
For example: developer can see crossed out method/field name if this item
is deprecated.

This closes #985
2023-02-07 20:46:28 +01:00
Christoph Läubrich
0525d90d42 [MNG-7544] MavenMetadataSource#retrieve(MetadataResolutionRequest) does not check for null when reading from project map
Currently, if a project is returned from the workspace reader, but is not part
of the reactor, a NPE occurs. In this case, the repositories are read from
the model instead.

This closes #981
2023-02-05 13:17:09 +01:00
Tamas Cservenak
dfb406c5b3
Fix site plugin warning (#974)
As date format in these two files were not parsed.
2023-01-30 16:20:35 +01:00
Guillaume Nodet
41429b15ab
[MNG-7673] IllegalArgumentException thrown for invalid checksum 'never' (#972) 2023-01-30 15:11:30 +01:00
Guillaume Nodet
30fafa6741
[MNG-7672] Fork should only execute the project and its submodules (#968) 2023-01-30 15:08:08 +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
Guillaume Nodet
f77de570b7
[MNG-7646] Do not parse the whole reactor unless required by command line options (#963) 2023-01-26 11:42:23 +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
c1a900190f
[MNG-7629] Change reactor reader to copy packaged artifacts and reuse them across builds if needed (#954) 2023-01-19 11:55:20 +01:00
Tamas Cservenak
01ba8291cd
[MNG-7666] Update default binding and lifecycle plugin versions (#956)
Finally use 3.x plugins for all.

---

https://issues.apache.org/jira/browse/MNG-7666
2023-01-16 14:30:48 +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
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
Michael Osipov
538a6b40a5 [MNG-7352] org.apache.maven.toolchain.java.JavaToolchainImpl should be public
This closes #934
2022-12-23 09:16:13 +01:00
Michael Osipov
f0364acb2f Directories, not folders 2022-12-18 16:36:16 +01:00
Michael Osipov
3eec6b82d3 [MNG-7636] Document MavenProject#getAttachedArtifacts() as read-only
This closes #918
2022-12-18 13:11:20 +01:00
Christoph Läubrich
7a1cc12a47 [MNG-7637] Possible NPE in MavenProject#hashCode()
This closes #921
2022-12-18 11:59:51 +01:00
Konrad Windszus
ce18c56206
[MNG-7598] Enforce binary backwards-compatibility (#874)
For now only enabled in core and plugin-api

Co-authored-by: Guillaume Nodet <gnodet@gmail.com>
2022-12-15 10:50:39 +01:00
Olivier Lamy
984f73dc7c fix pom format
Signed-off-by: Olivier Lamy <olamy@apache.org>
2022-12-13 09:59:33 +10: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
adf89ef63f
[MNG-7505] Remove ReportingConverter (#906) 2022-12-11 18:57:15 +01:00
Simon
55431cd267
[MNG-7578] Fallback on Linux executable in Windows for findTool utility (#861)
* [MVN-7578] Fallback on Linux executable in Windows for findTool utility
* Fix code style
Co-authored-by: Guillaume Nodet <gnodet@gmail.com>
2022-12-09 10:07:48 +01:00
Tamas Cservenak
6773c05128
[MNG-7619] Reverse Dependency Tree (#902)
Adds Maven feature that is able to explain why an artifact is present in local repository.

Usable for diagnosing resolution issues.

In local repository, for each artifact it records `.tracking` folder, containing farthest artifact that got to this artifact, and the list of graph nodes that lead to it.

Note: this is based on by @grgrzybek proposal and reuses some code he provided. See https://github.com/apache/maven-resolver/pull/182

---

https://issues.apache.org/jira/browse/MNG-7619
2022-12-05 16:19:31 +01:00
Konrad Windszus
0d4a1a1257
[MNG-7609] Clarify extension descriptor documentation (#896) 2022-12-05 10:04:35 +01:00
Tamas Cservenak
69ef6a61ba [MNG-7612] Chained LRM
Adds new feature: Chained Local Repository Manager.

Cherry-pick 2dc7a356d3912a92af2c6e5e23604b084f5ca748

---

https://issues.apache.org/jira/browse/MNG-7612
2022-12-03 16:55:05 +01:00
Tamas Cservenak
a840ba91e3
[MNG-7608] Make native transport the default (#892)
This immediately cuts in "half" the count of HTTP requests against Maven Central or any major MRM.

Altering the meaning of "default": is now same as "auto", but still leaving it in place for future, as "default" at some point may again become something different than "native".

---

https://issues.apache.org/jira/browse/MNG-7608
2022-12-02 16:12:48 +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
f0cc176b33
[MNG-7616] Add missing exported artifacts for the new API (#894) 2022-12-02 14:56:02 +01:00
Konrad Windszus
3d0939662a
[MNG-7611] Change semantics of plugin descriptor's "requiredJavaVersion" (#888)
Always assume version constraint (the same as in requiredMavenVersion)
2022-12-01 21:54:09 +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
Tamas Cservenak
c6ecff9923
[MNG-7586] Update Maven Resolver to 1.9.2 (#882)
Updates resolver to latest release.

---

https://issues.apache.org/jira/browse/MNG-7586
2022-11-26 20:08:34 +01:00
Guillaume Nodet
de19cfcd2b [MNG-7601] Reformat sources 2022-11-22 14:26:01 +01:00
Slawomir Jaranowski
b1c1f7556d [MNG-7600] LocalRepositoryManager is created too early
LocalRepositoryManager needs configurations from RepositorySystemSession
so must be created after session configuration is finished.
2022-11-21 16:45:35 +01:00
Guillaume Nodet
dc88c6193c
[MNG-7580] Introduce new SettingsBuilder and ToolchainsBuilder services (#852) 2022-11-21 09:51:28 +01:00
Guillaume Nodet
3f03f0e7b2
[MNG-7576] Restore compatibility with maven 3.x (#841) 2022-11-21 09:50:33 +01:00
Guillaume Nodet
6a27f5f2f6
[MNG-7597] Fix infinite loop when iterating PropertiesAsMap (#872) 2022-11-21 09:37:42 +01:00
Tamas Cservenak
724ac0b541 Revert "[MNG-7586] Update Maven Resolver to 1.9.1 (#870)"
This reverts commit 113919a5ef46451424c5a6aee348db1a4c39cba8.
2022-11-17 17:46:08 +01:00
Tamas Cservenak
113919a5ef
[MNG-7586] Update Maven Resolver to 1.9.1 (#870)
Changes:
- hook in lifecycle

---

https://issues.apache.org/jira/browse/MNG-7586
2022-11-17 16:26:42 +01:00
Slawomir Jaranowski
fa15fcf153 [MNG-7590] Allow to configure resolver by properties in settings.xml 2022-11-09 23:15:25 +01:00
Guillaume Nodet
dfcf5791fc
[MNG-7583] Allow concurrent access to the MavenPluginManager (#855) 2022-11-09 14:13:18 +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