Commit Graph

11764 Commits

Author SHA1 Message Date
Henning Schmiedehausen ce4579108d
[MNG-7529] Maven resolver makes bad repository choices (#786)
Ensure that any versions resolved as part of a version range request
only reference repositories that are actually enabled for the type of
version (SNAPSHOT versions against snapshot repos, release versions
against release repositories).
2022-08-24 21:26:19 -07:00
Slawomir Jaranowski 750e1e3e71 [MNG-7530] Upgrade Apache Maven parent POM to version 37 2022-08-24 19:23:42 +02:00
Michael Osipov e296400fa5 [MNG-7520] Simplify integration of Redisson and Hazelcast for Maven Resolver
Co-authored-by: Jacques-Etienne Beaudet <jebeaudet@gmail.com>

This closes #776
2022-08-23 21:41:57 +02:00
Guillaume Nodet 631f1c7611 [MNG-7401] [MNG-7474] Remove unused commented code 2022-08-23 11:54:18 +02:00
Guillaume Nodet e02e0c84ce [MNG-7401] [MNG-7474] Keep a single maven session and fix session scope (#743)
* [MNG-7474] SessionScoped beans should be singletons for a given session

Now that the Session is not cloned anymore, we can revert to the original
(Maven < 3.3) behavior of the session scoped components.

Co-authored-by: Christoph Läubrich <christoph@laeubi-soft.de>

This closes #743

* Remove setting a value which is the default already

Co-authored-by: Christoph Läubrich <christoph@laeubi-soft.de>
# Conflicts:
#	maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleModuleBuilder.java
#	maven-core/src/main/java/org/apache/maven/session/scope/internal/SessionScope.java
2022-08-23 11:51:44 +02:00
Giovanni van der Schelde a53a1aa232 [MNG-7443] Implement consistent logging between optional projects and optional profiles
This closes #701
2022-07-29 11:06:26 +02:00
Michael Osipov 0c10323158 [MNG-7522] Upgrade Maven Resolver to 1.8.2
This closes #779
2022-07-28 21:25:23 +02:00
Karl Heinz Marbaise cbbb9cf7e3
[MNG-7521] - Remove WARNING during build 2022-07-25 09:47:05 +02:00
Michael Osipov 0f8f22e404 [MNG-7020] Remove Maven 2 WagonExcluder backward compat code
This closes #394
2022-07-24 10:47:35 +02:00
Michael Osipov 2d9918a2d1 Clean up dependency warnings by dependency:analyze
This closes #769
2022-07-24 10:44:43 +02:00
Hervé Boutemy 35b93b0a58 [MNG-7353] Add support for "mvn pluginPrefix:version:goal"
This closes #757
2022-07-21 14:38:30 -07: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
Rafael Chaves 8ff8ebcaea [MNG-7515] Cannot see a dependency tree for apache-maven module
This closes #770
2022-07-18 18:01:23 +02:00
Michael Osipov efa9f0c678 [MNG-7513] Address commons-io_commons-io vulnerability found in maven latest version
We can safely remove Commons IO altogether because it is not used in any direct or
transitive usecase at compile time or runtime.

This closes #771
2022-07-18 17:26:54 +02:00
Josef Cacek 03b1faff7e [MNG-7511] Ensure the degreeOfConcurrency is a positive number in MavenExecutionRequest
This closes #767
2022-07-18 13:35:27 +02:00
Tamas Cservenak f05397a88d
Pull out lifecycle plugin versions (#766)
To lessen mistake (copy-paste vs forgotten update) but also just to
make things less redundant. This also makes possible "experimenting"
much more easier.

This is merely a refactoring that does not takes or gives anything, just tidies up.
2022-07-12 15:13:55 +02:00
Guillaume Nodet 90c084dcf4
[MNG-7360] Fix xml transformation to ensure proper context (#744) 2022-06-28 08:43:10 +02:00
Michael Osipov 7dbbcc23a9 [MNG-7506] Upgrade Maven Wagon to 3.5.2 2022-06-27 13:16:19 +02:00
Hervé Boutemy 4e88d62ab2 [MNG-7501] add relative path to pom.xml in module build start output 2022-06-26 18:46:20 +02:00
Michael Osipov d82ab09ae1 [MNG-7499] Upgrade Maven Resolver to 1.8.1
This closes #754
2022-06-17 13:03:32 +02:00
Guillaume Nodet 415eaf31de
[MNG-7160] Ability to customize core extensions classloaders (#616) 2022-06-15 10:43:17 +02:00
Michael Osipov df38f1c079 Update DOAP with Maven 3.8.6 release 2022-06-11 17:16:13 +02:00
Slawomir Jaranowski 54f9d91ebb [MNG-7468] Check unsupported plugins parameters in configuration 2022-06-03 20:54:27 +02:00
Tamas Cservenak 47fb9e8122
[MNG-7491] Update parent POM 36 (#747)
Update parent POM to v 36, remove redundant bits.
2022-06-02 12:56:41 +02:00
Hervé Boutemy 7bd5fb38b3 deploy master, 3.8.x and 3.9.x 2022-05-31 09:19:44 +02:00
Michael Osipov 3d45167203 [MNG-7488] Upgrade SLF4J to 1.7.36 2022-05-30 23:07:00 +02:00
Guillaume Nodet 7da0214d1d [MNG-7476] Display a warning when an aggregator mojo is locking other mojos executions
# Conflicts:
#	maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java
2022-05-30 13:29:43 +02:00
Guillaume Nodet 2a276d0dcf [MNG-7487] Fix deadlock during forked lifecycle executions
# Conflicts:
#	maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java

# Conflicts:
#	maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java
2022-05-30 13:15:06 +02:00
Guillaume Nodet 6767f2500f [MNG-7486] Create a multiline message helper for boxed log messages
This closes #746
2022-05-29 13:35:24 +02:00
Karl Heinz Marbaise 3ad4fe5a1a [MNG-7448] Don't ignore bin/ otherwise bin/ in apache-maven module cannot be readded
This closes #742
2022-05-27 22:05:38 +02:00
Tamas Cservenak fc1962e659
[MNG-7478] Transport selection should use config properties (#739)
Instead of user properties, as this allows making "permanent" the
selection by using MAVEN_OPTS and other places as well. Currently
only via command line works.

Also, do not modify existing Maven behavior, so introduce "default" branch
in selection. See comment in code
2022-05-17 08:54:29 +02:00
Guillaume Nodet ef1c17f62a
[MNG-7405] Update animal-sniffer to 1.21 (#671) 2022-05-13 08:01:08 +02:00
Tamas Cservenak a83ed86c48 [MNG-7471] Make Resolver util and connector-basic provided (#732)
Problem: resolver spi, impl and connector-basic has changes in 1.8.0 (SPI interface RepositoryLayout got new method, that is implemented in connector-basic, and code from impl is using it). But, Maven core exports only resolver api, spi and impl packages, while the rest is at mercy of a plugin. This means ,that these artifacts (api, spi and impl) will always come from Maven core, whatever version plugin declares, while the "rest" (connector-basic and util) will be of version that plugin declares. The current state hence prevented ANY KIND of changes on SPI interfaces that would be implemented in connector-basic (which is the case in Resolver 1.8.0).

Solution: make all these resolver artifacts "provided" (to behave like maven-core or maven-plugin-api is behaving): simply put, whatever resolver artifact plugin depends on, it should NOT use it's own version, but the version from Maven. This ensures that api-spi-impl-connector-basic as "aligned" and are same version.

Details:

The change is to make util is exportedArtifact AND exportedPackage, while connector-basic is only exportedArtifact.

Reasoning:
* exportedArtifact -- prevents "own" artifact to be added to realm
* exportedPackage -- makes it "visible" in realm

So, this basically prevents bad versions of util and connector-basic
enter the plugin realm (as they will be not added to it), while
util remains "visible" to plugins, as the intent was, most
common due GenericVersions etc.

This change also results in simpler expectations to plugin developers:
resolver libraries should really behave like maven-core or maven-compat:
when plugin declares dependency on these (w/ scope provided as best
practice), they really get version of these that are of version that
maven runs in, not version they declare. So same thing happens now with
resolver: you will get same version of resolver that maven uses your plugin
runs in.

Before this change, it was a mixed bag: api, spi and impl was from maven,
while util and connector-basic was version you pulled in as dep.
2022-05-11 16:09:52 +02:00
Guillaume Nodet 1c22f94522 [MNG-7459] Revert "[MNG-7347] SessionScoped beans should be singletons for a given session (#621)"
This reverts commit faf5d5d274.
2022-05-09 10:11:54 +02:00
Slawomir Jaranowski 3dd0afd897 [MNG-7464] Warn about using read-only parameters for Mojo in configuration 2022-05-05 21:12:25 +02:00
Hervé Boutemy 1e95011a30
configure Jira integration 2022-05-02 17:37:27 +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
Tamas Cservenak ca9aa8f4f3
[MNG-7466] Align assembly XSD version with plugin used (#728)
As title says, XSD is ancient old 2.0.0, while all
latest assembly plugins uses 2.1.0.

Not that this matters or changes anything at all,
this is more about correctness.
2022-04-27 15:14:24 +02:00
Slawomir Jaranowski 702f52d0ea [MNG-7457] Warn about deprecated plugin Mojo 2022-04-24 09:57:10 +02:00
Slawomir Jaranowski 9ac2d08dc7 [MNG-5222] Improvement in deprecated params detection 2022-04-23 09:24:22 +02:00
Tamas Cservenak bdfd8de968 Drop Java 16 from matrix
8, 11 and 17 is good enough
2022-04-22 18:19:28 +02:00
Tamas Cservenak 3fef9c685d
[MNG-7453] Update Resolver to 1.8.0 (#723)
Updates Maven Resolver to latest 1.8.0.
2022-04-22 16:51:12 +02:00
Tamas Cservenak 551009ab49
[MNG-7454] Include resolver-transport-http in Maven (#720)
Addendum to be2b7f890d98af20eb0753650b6605a68a97ac05:
* fix property name to align with existing ones
* fix logging configuration as no more shaded httpClient
* fix constant names
2022-04-16 18:19:23 +02:00
Hervé Boutemy 643d1e7828 [MNG-7438] add execution id to "configuring mojo" debug message
[DEBUG] Configuring mojo execution
'org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M5:test:default-test'
with basic configurator

rephrase "Configuring" to "Loading" mojo "from plugin realm"
to differentiate from "configuring mojo" = apply configuration

rename populatePluginFields(..) private method
to populateMojoExecutionFields(..) to better match the intent
2022-04-15 18:42:02 +02:00
Tamas Cservenak be2b7f890d
[MNG-7454] Include resolver-transport-http in Maven (#711)
But keep Wagon as default transport. This PR merely includes
resolver http and file transport and switches wagon-http
to non-shaded one.

Changes:
* switch to non-shaded wagon-http (as httpClient is now shared)
* include resolver http and file transport
* override resolver default behaviour (native transport preferred over wagon, when both on classpath)
* provide simplistic means to choose transport

The chosen transport can be seen in debug (-X) output on line
`[DEBUG] Using transporter XXX...`

The `-Dmaven.transport` simplistic switch can be used to choose transport:
* not set: default, that is Wagon
* `wagon`: explicitly sets Wagon
* `resolver`: explicitly sets resolver native transports (file and http)
* `auto`: relies on resolver "auto discovery" (priorities, etc). This is MUST to keep transport pluggable with 3rd party transports. In fact, this was the default so far in Maven, along with the fact that native resolver transports were not included (as resolver prefers native ones over Wagon).
2022-04-13 12:51:37 +02:00
Gabriel Belingueres c99028b9fb [MNG-5222] Maven 3 no longer logs warnings about deprecated plugin parameters
- Added warning when setting deprecated parameter with value different
than the default.
- Changed Logger to SLF4J.
2022-04-12 20:49:24 +02:00
Tamas Cservenak bdb35f2deb [MNG-7432] Resolver session contains non-MavenWorkspaceReader
As Resolver session contains non-MavenWorkspaceReader, the reactor models (already resolved w/ profiles applied) are re-built when using Resolver within Mojo, instead to get them via ReactorReader as expected. The rebuilt models will lack explicit (-P on CLI) profiles applied, as resolver itself is not maven aware, hence there is no way to "tell" resolver to apply them. Building reactor models w/ profiles applied is NOT done using resolver, but by Maven when loading up reactor, as profiles are NOT applied for downstream transitive dependencies (see discussion on MNG-1388 why).

Signed-off-by: Christoph Läubrich <christoph@laeubi-soft.de>
Co-authored-by: Christoph Läubrich <christoph@laeubi-soft.de>
Co-authored-by: Tamas Cservenak <tamas@cservenak.net>
2022-04-08 10:46:30 +02:00
Tamas Cservenak d14bb3b8d3 [MNG-7441] Update version of loback
This issue is fluke, as logback is actually optional
dependency, but still, to cut reports like these from
root, let's do this update.
2022-04-08 10:06:56 +02:00
Karl Heinz Marbaise 896c707d32
[MNG-7447] - Several Improvements by using Stream API 2022-04-04 20:39:14 +02:00