Commit Graph

12414 Commits

Author SHA1 Message Date
dependabot[bot] 912c1177ee
Bump net.bytebuddy:byte-buddy from 1.15.4 to 1.15.5 (#1817)
Bumps [net.bytebuddy:byte-buddy](https://github.com/raphw/byte-buddy) from 1.15.4 to 1.15.5.
- [Release notes](https://github.com/raphw/byte-buddy/releases)
- [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md)
- [Commits](https://github.com/raphw/byte-buddy/compare/byte-buddy-1.15.4...byte-buddy-1.15.5)

---
updated-dependencies:
- dependency-name: net.bytebuddy:byte-buddy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-18 05:24:44 +02:00
Guillaume Nodet 8a0e1785af Revert "[MNG-8320] Bump jakarta.inject:jakarta.inject-api from 2.0.1 to 2.0.1.MR (#1729)"
This reverts commit 2e518f34dc.
2024-10-18 05:17:31 +02:00
Guillaume Nodet d5c8280658
[MNG-8312] Generate the BOM automatically (#1797)
Generate both skinny and fat BOMs BOM automatically
Add support for import a BOM w/ classifier in Model 4.1.0+
---------

Co-authored-by: Tamas Cservenak <tamas@cservenak.net>
2024-10-17 17:07:55 +02:00
Sergey Ponomarev 989f798c9f
[MNG-8258] Change the fixed reproducible build outputTimestamp to 1 Feb 1980 (#1813)
The Maven used the year 2001 (beginning of 21st century).
But the Gradle already use the 1 Feb 1980 for preserveFileTimestamps.

The 1 Jan 1980 is a minimal date in Zip archive but the 1 Jan has some special treatment by Java that's why the Gradle team used the 1 Feb.

See more detailed description in CONSTANT_TIME_FOR_ZIP_ENTRIES
https://github.com/gradle/gradle/blob/master/platforms/core-runtime/files/src/main/java/org/gradle/api/internal/file/archive/ZipEntryConstants.java#L39

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>
2024-10-17 17:05:39 +02:00
Guillaume Nodet 107f81da51 Avoid double profile injection 2024-10-17 16:35:42 +02:00
Guillaume Nodet 4da2eb9622 Fix superpom info location 2024-10-17 16:35:42 +02:00
Guillaume Nodet c504c83b99 [MNG-8306] Fix wrong order when merging xml nodes 2024-10-17 16:35:42 +02:00
Tamas Cservenak 520be39bff
Get rid of Slf4j warning (#1816)
maven-docgen module warns about multiple providers being on classpath. As Maven logging that is a slf4j provider already present, simple not needed.
2024-10-17 16:35:01 +02:00
Tamas Cservenak b6d1427732
Remove unused exclusions (#1814)
These exclusions were here for historical reasons, but
are not needed anymore.
2024-10-17 16:28:11 +02:00
Guillaume Nodet eda9aa6982
[MNG-8315] Fix MAVEN_PROJECTBASEDIR in mvn.cmd when .mvn is at drive root (#1808)
fixes https://issues.apache.org/jira/browse/MNG-8315

Co-authored-by: Francois Marot <fmarot@users.noreply.github.com>
2024-10-17 11:28:11 +02:00
Guillaume Nodet 69b34f4f3c
[MNG-8322] Use the new ToolchainsBuilder and SettingsBuilder (#1778) 2024-10-17 11:25:53 +02:00
Tamas Cservenak 95e59f2437
[MNG-8302] Warn when appropriate (#1810)
First, `rootDirectory` is nullable, CLIng code was not assuming this, fixed.
Second, emit the "no root found" warning ONLY when appropriate (when we have a POM in picture).

---

https://issues.apache.org/jira/browse/MNG-8302
2024-10-17 10:06:47 +02:00
Tamas Cservenak aafd6910b1
[MNG-8313] Upgrade to Resolver 2.0.2 (#1796)
Using latest Resolver 2.0.2

---

https://issues.apache.org/jira/browse/MNG-8313
2024-10-17 10:06:00 +02:00
dependabot[bot] 2e518f34dc
[MNG-8320] Bump jakarta.inject:jakarta.inject-api from 2.0.1 to 2.0.1.MR (#1729)
Bumps [jakarta.inject:jakarta.inject-api](https://github.com/eclipse-ee4j/injection-api) from 2.0.1 to 2.0.1.MR.
- [Release notes](https://github.com/eclipse-ee4j/injection-api/releases)
- [Commits](https://github.com/eclipse-ee4j/injection-api/compare/2.0.1...2.0.1.MR)

---
updated-dependencies:
- dependency-name: jakarta.inject:jakarta.inject-api
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-16 22:47:58 +02:00
Guillaume Nodet 1cff5947ac
Revert "Make rootDirectory really mandatory" (#1800)
This reverts commit 608a99fb08.

---

https://issues.apache.org/jira/browse/MNG-8302
2024-10-16 16:22:26 +02:00
dan1st 9b9f720181
[MNG-8311] empty but existing <localRepository/> in settings.xml (#1801)
Use default when empty as well

---

https://issues.apache.org/jira/browse/MNG-8311
2024-10-16 16:20:30 +02:00
Guillaume Nodet 4e5c89c403
[MNG-8299] Fix ordering of phases from custom lifecycles (#1802)
---

https://issues.apache.org/jira/browse/MNG-8299
2024-10-16 16:19:33 +02:00
dependabot[bot] eafb2fb8b1
[MNG-8317] Bump ch.qos.logback:logback-classic from 1.5.10 to 1.5.11 (#1804)
Bumps [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) from 1.5.10 to 1.5.11.
- [Commits](https://github.com/qos-ch/logback/compare/v_1.5.10...v_1.5.11)

---
updated-dependencies:
- dependency-name: ch.qos.logback:logback-classic
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

---

https://issues.apache.org/jira/browse/MNG-8317
2024-10-16 16:18:04 +02:00
dependabot[bot] 401be33e7b
[MNG-8316] Bump jlineVersion from 3.27.0 to 3.27.1 (#1803)
Bumps `jlineVersion` from 3.27.0 to 3.27.1.

Updates `org.jline:jline-reader` from 3.27.0 to 3.27.1
- [Release notes](https://github.com/jline/jline3/releases)
- [Changelog](https://github.com/jline/jline3/blob/master/changelog.md)
- [Commits](https://github.com/jline/jline3/compare/jline-3.27.0...jline-3.27.1)

Updates `org.jline:jline-style` from 3.27.0 to 3.27.1
- [Release notes](https://github.com/jline/jline3/releases)
- [Changelog](https://github.com/jline/jline3/blob/master/changelog.md)
- [Commits](https://github.com/jline/jline3/compare/jline-3.27.0...jline-3.27.1)

Updates `org.jline:jline-builtins` from 3.27.0 to 3.27.1
- [Release notes](https://github.com/jline/jline3/releases)
- [Changelog](https://github.com/jline/jline3/blob/master/changelog.md)
- [Commits](https://github.com/jline/jline3/compare/jline-3.27.0...jline-3.27.1)

Updates `org.jline:jline-console-ui` from 3.27.0 to 3.27.1
- [Release notes](https://github.com/jline/jline3/releases)
- [Changelog](https://github.com/jline/jline3/blob/master/changelog.md)
- [Commits](https://github.com/jline/jline3/compare/jline-3.27.0...jline-3.27.1)

Updates `org.jline:jline-terminal-ffm` from 3.27.0 to 3.27.1
- [Release notes](https://github.com/jline/jline3/releases)
- [Changelog](https://github.com/jline/jline3/blob/master/changelog.md)
- [Commits](https://github.com/jline/jline3/compare/jline-3.27.0...jline-3.27.1)

Updates `org.jline:jline-terminal-jni` from 3.27.0 to 3.27.1
- [Release notes](https://github.com/jline/jline3/releases)
- [Changelog](https://github.com/jline/jline3/blob/master/changelog.md)
- [Commits](https://github.com/jline/jline3/compare/jline-3.27.0...jline-3.27.1)

Updates `org.jline:jansi-core` from 3.27.0 to 3.27.1
- [Release notes](https://github.com/jline/jline3/releases)
- [Changelog](https://github.com/jline/jline3/blob/master/changelog.md)
- [Commits](https://github.com/jline/jline3/compare/jline-3.27.0...jline-3.27.1)

---
updated-dependencies:
- dependency-name: org.jline:jline-reader
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jline:jline-style
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jline:jline-builtins
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jline:jline-console-ui
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jline:jline-terminal-ffm
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jline:jline-terminal-jni
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.jline:jansi-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

---

https://issues.apache.org/jira/browse/MNG-8316
2024-10-16 16:17:17 +02:00
dependabot[bot] e5190e7e9f
[MNG-8318] Bump mockitoVersion from 5.14.1 to 5.14.2 (#1805)
Bumps `mockitoVersion` from 5.14.1 to 5.14.2.

Updates `org.mockito:mockito-bom` from 5.14.1 to 5.14.2
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.14.1...v5.14.2)

Updates `org.mockito:mockito-junit-jupiter` from 5.14.1 to 5.14.2
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.14.1...v5.14.2)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.mockito:mockito-junit-jupiter
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

---

https://issues.apache.org/jira/browse/MNG-8318
2024-10-16 16:16:18 +02:00
Guillaume Nodet 0d04bb9a21
[MNG-8041] Move PathScope into the dependency collection request (#1807)
JIRA issue: [MNG-8041](https://issues.apache.org/jira/browse/MNG-8041)
IT PR: https://github.com/apache/maven-integration-testing/pull/390
2024-10-16 16:15:37 +02:00
Guillaume Nodet ee29050d0f
[MNG-8296] Support creating unknown Language on the fly (#1809)
---

https://issues.apache.org/jira/browse/MNG-8296
2024-10-16 16:14:07 +02:00
Tamas Cservenak a293822852
Minor fixes: proper help syntax and ability to extend core exports (#1799)
Display proper syntax on help, ability to extend core exports.
2024-10-15 20:03:27 +02:00
Tamas Cservenak 66b7e2c0be
Cleanup after last commit (#1798)
LookupInvoker does terminal stuff now, remove them
from "early" entry classes, also adopt mvnenc
2024-10-15 18:02:29 +02:00
Guillaume Nodet 740100b50c
[MNG-8309] Improve log infrastructure (first step toward multi-threading log view support) (#1792)
Move logging infrastructure to support multi threaded output from mvnd to maven.
Refactor a bit the terminal/log creation done by Cling.
2024-10-15 15:30:39 +02:00
Guillaume Nodet d742fd624c
[MNG-8295] Dependency Manager Transitivity (now default) handles dependency management inconsistently (#1788)
Actually use TransitiveDependencyManager when maven.resolver.dependencyManagerTransitivity=true

Co-authored-by: DidierLoiseau <didierloiseau+github@gmail.com>
2024-10-15 14:26:16 +02:00
dependabot[bot] 651a4b26ed
[MNG-8304] Bump net.bytebuddy:byte-buddy from 1.15.3 to 1.15.4 (#1791)
Bumps [net.bytebuddy:byte-buddy](https://github.com/raphw/byte-buddy) from 1.15.3 to 1.15.4.
- [Release notes](https://github.com/raphw/byte-buddy/releases)
- [Changelog](https://github.com/raphw/byte-buddy/blob/master/release-notes.md)
- [Commits](https://github.com/raphw/byte-buddy/compare/byte-buddy-1.15.3...byte-buddy-1.15.4)

---
updated-dependencies:
- dependency-name: net.bytebuddy:byte-buddy
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-15 09:49:14 +02:00
dependabot[bot] c406f7f056
[MNG-8307] Bump ch.qos.logback:logback-classic from 1.5.8 to 1.5.10 (#1794)
Bumps [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) from 1.5.8 to 1.5.10.
- [Commits](https://github.com/qos-ch/logback/compare/v_1.5.8...v_1.5.10)

---
updated-dependencies:
- dependency-name: ch.qos.logback:logback-classic
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

---

https://issues.apache.org/jira/browse/MNG-8307
2024-10-14 22:11:12 +02:00
Tamas Cservenak f5e54ca6fa
[MNG-8285] Implement mvnenc CLI tool (#1793)
Implements the `mvnenc` tool that is on par with Maven3 master password encryption functionality wise, but is _really secure_ unlike Maven3 conterpart. On the other hand, _is backward compatible if legacy config is setup_.

Implemented goals: `init`, `encrypt`, `decrypt`, `diag`. Also provides one extra "master source" based on Maven infra Prompter: console master password prompt.

---

https://issues.apache.org/jira/browse/MNG-8285
2024-10-14 21:57:22 +02:00
Tamas Cservenak 7df5b16f78
[MNG-8305] Fix MER showErrors setting (#1795)
---

https://issues.apache.org/jira/browse/MNG-8305
2024-10-14 19:33:06 +02:00
Guillaume Nodet b91b4ef1ae Disable ResidentMavenInvoker test 2024-10-11 22:36:34 +02:00
Guillaume Nodet 4c57802a4f Disable LocalMavenInvoker tests 2024-10-11 21:55:33 +02:00
Guillaume Nodet c96ccce2fc Fix error message displayed when an error occurs during argument parsing 2024-10-09 20:45:29 +02:00
Guillaume Nodet fee69f2f89
[MNG-8294] Consistency checks when loading parent (#1784) 2024-10-09 13:07:31 +02:00
Tamas Cservenak 445236398d
Make rootDirectory mandatory (#1787)
Co-authored-by: Guillaume Nodet <gnodet@gmail.com>
2024-10-08 21:45:28 +02:00
Guillaume Nodet 6c8b808760
[MNG-5910] Warn if both exists and missing file activation are set (#1773) 2024-10-08 15:46:42 +02:00
Guillaume Nodet 81af852fce
Cut link between maven-core maven-resolver-provider (#1777) 2024-10-08 11:04:45 +02:00
Guillaume Nodet a6ecbde9e9
Fix concurrency issue in DefaultModelValidator (#1786) 2024-10-08 11:04:20 +02:00
Guillaume Nodet 954eae7b56
[MNG-8293] Fix resolution of reactor models (#1783) 2024-10-07 17:32:34 +02:00
Tamas Cservenak b2b868f864
[MNG-8288] "path cannot be null" (#1782)
It seems Maven is eager to get POM from rootDirectory to support
CI Friendly versions. This change makes it "best effort", as in
if there is no POM, just walk away.

---

https://issues.apache.org/jira/browse/MNG-8288
2024-10-07 14:19:01 +02:00
dependabot[bot] 165588cbda
[MNG-8290] Bump org.ow2.asm:asm from 9.7 to 9.7.1 (#1781)
Bumps org.ow2.asm:asm from 9.7 to 9.7.1.

---
updated-dependencies:
- dependency-name: org.ow2.asm:asm
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-07 09:31:06 +02:00
dependabot[bot] 9582d827f6
[MNG-8291] Bump org.junit:junit-bom from 5.11.1 to 5.11.2 (#1780)
Bumps [org.junit:junit-bom](https://github.com/junit-team/junit5) from 5.11.1 to 5.11.2.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.11.1...r5.11.2)

---
updated-dependencies:
- dependency-name: org.junit:junit-bom
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-07 09:30:08 +02:00
Tamas Cservenak e369ce5782
[MNG-8283] Make resident able to restore state (#1779)
And move all logic out of invoke. Also, parser and other improvements, mostly adding "extension points" in form of overridable protected method.

---

https://issues.apache.org/jira/browse/MNG-8283
2024-10-05 15:57:15 +02:00
Tamas Cservenak 20fe966770
[MNG-8283] Parser must not alter global state (#1776)
Parser must not (esp "partially") alter global state like
setting Java System Properties. If invoker wants, invoker
can set those (and cleanup).

---

https://issues.apache.org/jira/browse/MNG-8283
2024-10-05 09:32:46 +02:00
Tamas Cservenak 1817aaeaad [MNG-8283] Minor: method rename 2024-10-04 18:05:13 +02:00
Tamas Cservenak 60ae468a2e
[MNG-8283] More mvnd related changes (#1775)
Changes:
* there is only one parser for "just maven", no need for 3
* aligned scopes (public) of local context for simplicity, we can fix visibility later
* allow custom guice modules (unused, may undo this)
* split logging setup in two steps: config and activate

---

https://issues.apache.org/jira/browse/MNG-8283
2024-10-04 17:33:25 +02:00
Tamas Cservenak 533790bb4a
[MNG-8283] Maven CLIng smaller bugfixes and improvements (#1772)
This PR adopts CLIng for use in mvnd, and adds several improvements to CLIng overall.

Major topics:
* ability to pass in per-request Lookup for customization
* makes parser request creation a bit friendlier
* removes a log of redundancy (same stuff copied over)
* ability to alter rootDirectory detection in parsers
* resident invoker bugfix
* adds UTs for 3 invoker implementations

---

https://issues.apache.org/jira/browse/MNG-8283
2024-10-04 14:23:10 +02:00
Guillaume Nodet 1f1a0f9a72
Fix phasing executor (#1770) 2024-10-03 22:56:36 +02:00
Tamas Cservenak 2f75465397 Touch up post merge
One dangling method and TODO
2024-10-03 19:58:19 +02:00
Tamas Cservenak ef9aea6b9c
[MNG-8283] Maven CLIng (#1750)
New CLI for Maven. Goals are reusability, extensibility and easier embeddability (a la mvnd). If you build this branch, you will end up with Maven distro that uses "new" `maven-cli:org.apache.maven.cling.MavenCling` class as entry point instead of "old" `maven-embedder:org.apache.maven.cli.MavenCli`.

First step is to make "pretty much equivalent" capable CLI as compared to "old", with some exceptions:
* "encryption" ops are gone, those should be in separate tool anyway
* "deprecated and unsupported" CLI options like `-llr` present ONLY to make Maven fail are gone (now Arg parser will fail).

Current state of affairs is messy, MavenCli mixes everything it can, contains interleaved logic for bootstrapping, arg parsing, default logic and executing Maven. First goal is to clean this up.

Commons CLI are also hidden in this PR, so is ClassWorlds. This basically opens up way to have "alternative" CLI arguments parsers as well.

Currently the "local" (CLI) flow is this:
```
arg[] -> localParser -> Request -> localInvoker -> maven runs (in situ)
```

But the point is if you "come up" somehow with a Request instance, one can also do just:
```
Request -> invoker -> maven runs (somewhere)
```

Local parser:
* parses CLI args
* infers the defaults
* creates Request object that contains all information needed to run Maven
* can be reused outside of CLI as well
* does NOT fiddle with Plexus, logging, etc.

Local invoker:
* accepts Request object
* deals with configuring env (logging, etc), creating DI container, and running Maven ONLY

There are some experiments ongoing as well, like `ForkedInvoker` is, but also `MavenTool`.

---

https://issues.apache.org/jira/browse/MNG-8283
2024-10-03 18:03:55 +02:00