516 Commits

Author SHA1 Message Date
Tamas Cservenak
cfa13f5cc7
[MNG-7999] Confine Plexus Container as much as possible (#1367)
This is an ongoing effort to confine Plexus, but also perform a bit of cleanup in Maven Core and around. No logic changes, just replacing Plexus with Lookup (that is a thin wrapper around it), and removing unused members, redundant checks, etc. Module maven-compat omitted on purpose.

---

https://issues.apache.org/jira/browse/MNG-7999
2024-01-10 13:55:54 +01:00
Tamas Cservenak
eee9514d3d
[MNG-7963] Clean up the build (#1340)
* [MNG-7963] Clean up the build

Changes:
* remove hamcrest 1.3 from scope
* set proc:none to prevent warnings (Sisu APT is on classpath),
  we do not use annotation processing, we produce Sisu index
  explicitly.
* remove some redundant elements from POMs
2023-12-13 23:19:20 +01:00
Guillaume Nodet
bd849b54ad
Dependency collection / resolution API (#1333) 2023-12-08 09:42:44 +01:00
Tamas Cservenak
e6d1b4c5de
[MNG-7909] Upgrade to Resolver 2.0.0-alpha-1 (#1282)
Upgrade to Resolver 2.0.0.

Changes:
* many UT code used `new DefaultRepositorySystem()` ctor that is gone (was present due SL only), replaced with mocks
* dropped MavenResolverModule Guice module (as AetherGuice module is gone as well)
* updated Resolver version to 2.0.0-alpha-1
* added jdk transport (that prevails apache on Java 11)
* rename of "native" into "apache", deprecate "native" name
* introduce "jdk" transport

---

https://issues.apache.org/jira/browse/MNG-7909
2023-11-07 16:06:40 +01:00
Tim te Beek
889ceb42a4
[MNG-6847] Use diamond operator (#1264)
Co-authored-by: Moderne <team@moderne.io>
2023-10-19 09:06:15 +02:00
sebastien-doyon
0353476b1c [MNG-7899] Various memory usage improvements
Avoid creating a StringBuilder instance when not needed to reduce
temporary objects creation
2023-10-05 20:41:13 +02:00
sebastien-doyon
dec90acf24
[MNG-7866] Improvements to the logging API usage (technical debt) (#1220) 2023-09-22 11:07:17 +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
05a76bc427
Deprecate all classes in maven-compat (#1227) 2023-09-06 13:28:54 +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
e39142b77a
[MNG-7830] Switch from plexus-xml to stax / woodstox (#1185) 2023-06-29 12:03:50 +02:00
Guillaume Nodet
e6303aae32
[MNG-5659] Provide project-specific settings located in ${session.rootdir}/.mvn/settings.xml by default (#1059) 2023-06-19 12:32:14 +02:00
Guillaume Nodet
967d8fc19c
[MNG-7794][MNG-7809] Deprecate RepositorySystem and make maven-compat optional (#1150)
* Move maven-compat to jsr330
* Remove more ties to RepositorySystem
* Move more stuff to maven-compat
* Move PluginManager and LocalRepositoryNotAccessibleException to maven-compat
* Fix tests
* Break circular dependency loop in components
* Move unused deprecated classes
2023-06-15 16:24:56 +02:00
Guillaume Nodet
e08c95a673
[MNG-7655] Switch to plexus-utils / plexus-xml 4 (#1093) 2023-06-04 21:03:41 +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
Karl Heinz Marbaise
c49c4e0b18
[MNG-7451] - Remove public modifier from test methods / test classes 2023-04-15 19:24:20 +02:00
Guillaume Nodet
b2ee29e03e [MNG-6825] Get rid of commons-lang 2023-04-06 10:51:18 +02:00
Tim te Beek
703f814e34
[MNG-6825] Replace FileUtils with Commons IO (#1067)
* [MNG-6825] Replace FileUtils with Commons IO

Co-authored-by: Moderne <team@moderne.io>

* Minor fixes and reverts where cases are not handled yet

* Drop explicit dependencies on plexus-utils

---------

Co-authored-by: Moderne <team@moderne.io>
2023-03-19 20:19:22 +00:00
Guillaume Nodet
57d5587cf8
[MNG-7727] Remove MavenProfilesBuilder and DefaultMavenProfilesBuilder (#1044) 2023-03-11 16:24:56 +01:00
Elliotte Rusty Harold
bec19ec41d
replace deprecated methods that don't properly handle encoding (#1033) 2023-03-08 00:11:30 +00: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
Hervé Boutemy
a7399a4d52
[MNG-7652] switch to Modello Velocity (#944) 2023-01-03 22:08:35 +01:00
Hervé Boutemy
fbdf109b34
[MNG-7571] add Maven API javadoc (#830) 2022-12-31 17:32:07 +01:00
Guillaume Nodet
8150c62749 [MNG-7650] Reformat 2022-12-26 16:12:32 +01:00
Guillaume Nodet
de19cfcd2b [MNG-7601] Reformat sources 2022-11-22 14:26:01 +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
Guillaume Nodet
3f90e7028e
Restore compatibility on SettingsBuilder, ToolchainsBuilder and MojoDescriptorCreator (#820) 2022-10-11 16:31:57 +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
Guillaume Nodet
b3d5c12c7a
[master][MNG-7350] Introduce a factory for ModelCache (#629)
* [MNG-7350] Introduce a factory for ModelCache
* [MNG-7350] Introduce a factory for ModelCache
Fix missing javadoc and binding
2022-03-09 13:29:51 +01:00
Arturo Bernal
20b6cec44a [MNG-7304] Use try-with-resources statement
This closes #589
2022-03-05 23:28:12 +01:00
Michael Osipov
7a772fecc0 [MNG-7362] DefaultArtifactResolver has spurious "Failure detected" INFO log 2022-01-11 15:24:05 +01:00
Hervé Boutemy
f46a9131d5 fix javadoc errors 2021-10-17 12:07:50 +02:00
Arturo Bernal
4c21e11b01 [MNG-7298] - Avoid redundant conditions. 2021-10-13 22:53:52 +02:00
Arturo Bernal
0080e84588
[MNG-7297] Remove redundant type arguments (#581) 2021-10-11 20:58:38 +02:00
Arturo Bernal
16afe061c9 [MNG-7290] Java8 improvements
Closes #571
2021-10-10 12:50:42 +02:00
Arturo Bernal
d61fcf7da1 [MNG-7288] Remove redundant local variables
Closes #569
2021-10-10 12:42:12 +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
Tamas Cservenak
c3962c1a6c
[MNG-7278] Clean up core logging (#562)
We had all kind of Loggers in Core, some Plexus
injected, some acquired using SLF4J LoggerFactory,
some static, some final, etc.

This PR aligns all those uses to SLF4J finals.

Notices:
* maven-core does NOT use Plexus Logger anymore
* did not touch maven-compat
2021-10-02 20:33:55 +02:00
Tamas Cservenak
d141957ff5
[MNG-7055] Fix G level metadata handling (#555)
Maven Artifact Transfer silently prevents group level metadata to reach Resolver and causes metadata loss on install/deploy. Fix is to "bridge" this from maven-resolver-provider (and core) by reusing the actual metadata that m-plugin-p:addPluginArtifactMetadata mojo adds, but m-a-t filters out.
2021-10-02 15:22:32 +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
Sungpeo Kook
b7182873e9 Default value of checksumPolicy depends on the Maven version
This closes #529
2021-09-24 21:25:25 +02:00