Commit Graph

541 Commits

Author SHA1 Message Date
Tamas Cservenak cc368b31e3
[MNG-8438] maven-jline: Migrate to Maven DI (off javax.inject) (#1987)
Move to Maven DI

---

https://issues.apache.org/jira/browse/MNG-8438
2024-12-17 10:51:50 +01:00
Tamas Cservenak 49825e6dba
[MNG-8437] mvnsh (#1982)
Maven shell

Changes:
* (unrelated) contains fix for property handling in embedded executor and in lookup invoker
* pulled `-o` (offline) option to "generic" Options from MavenOptions
* introduce mvnsh (scripts, options, CLIng main class)
* simplified invokers (only one context needed for maven now)
* invokers made "reentrant", it all depends HOW context is created

Related PRs:
* mvnd changes https://github.com/apache/maven-mvnd/pull/1228

---

https://issues.apache.org/jira/browse/MNG-8437
2024-12-17 10:50:45 +01:00
Guillaume Nodet 4714483009 [maven-release-plugin] prepare for next development iteration 2024-12-14 00:22:29 +01:00
Guillaume Nodet 273314404f [maven-release-plugin] prepare release maven-4.0.0-rc-2 2024-12-14 00:22:18 +01:00
Guillaume Nodet e600b09ea5
[MNG-8382] Docgen: remove property numbering, they are misleading and properties are "floating" anyway (alphabetically) (#1979) 2024-12-14 00:09:33 +01:00
Tamas Cservenak 5b7a6de55a
[MNG-8421] Move all of logging setup to LookupInvoker; mvnenc IT (#1964)
Currently mvnenc is unable to log to file (-l) as logging setup is incomplete, move all of this logic to LookupInvoker. Also, create prompt in mvnenc only when needed. Finally, implement needed changes to support mvnenc ITs and add mvnenc IT.

Other changes:
* get rid of `distributionFileName` dirty hack, is remnant from old ITs
* fix CI re removal of that above and use of site that is brain-dead

---

https://issues.apache.org/jira/browse/MNG-8421
2024-12-12 09:43:12 +01:00
Tamas Cservenak 9238d2ffeb [maven-release-plugin] prepare for next development iteration 2024-11-25 11:57:49 +01:00
Tamas Cservenak d81b1b6a28 [maven-release-plugin] prepare release maven-4.0.0-rc-1 2024-11-25 11:57:24 +01:00
Guillaume Nodet bad1387892
[MNG-8376] Exit with a nicer error message when running on JDK < 17 (#1916) 2024-11-18 10:45:25 +01:00
Guillaume Nodet 75258afcc6 Integrate into maven's build 2024-11-05 16:56:49 +01:00
Tamas Cservenak 7cf70fd457 Add a TODO 2024-10-25 15:41:46 +02:00
Tamas Cservenak 36fbfddf90
[MNG-8347] Resolver 2.0.3 (#1850)
This PR contains cumulative changes for Resolver 2.0.3:

Issues
* Update to Resolver 2.0.3
* Merge Docgen in Resolver and Maven
* drop maven-docgen, move the doco generation into apache-maven subproject

---
https://issues.apache.org/jira/browse/MNG-8347
https://issues.apache.org/jira/browse/MNG-8359
2024-10-25 15:39:33 +02:00
Guillaume Nodet 2e01948c1e
[MNG-8345] Maven generates both settings 1.3.0 and 2.0.0 (#1835) 2024-10-24 17:53:41 +02:00
Guillaume Nodet b5a8a8a349
[MNG-8328] Clean up assembly from Jansi remains and add JLine native libraries (#1839) 2024-10-24 14:01:35 +02:00
Tamas Cservenak deaa82b7bd
Tidy up generated BOMs (#1828)
Make the usable with xinclude (properties).
2024-10-21 15:35:48 +02:00
Tamas Cservenak 4b9e350985 [maven-release-plugin] prepare for next development iteration 2024-10-19 20:11:20 +02:00
Tamas Cservenak 6e78fcf6f5 [maven-release-plugin] prepare release maven-4.0.0-beta-5 2024-10-19 20:10:56 +02:00
Tamas Cservenak 3ecf9124ca Revert "[maven-release-plugin] prepare release maven-4.0.0-beta-5"
This reverts commit d82ef1a372.
2024-10-19 20:08:03 +02:00
Tamas Cservenak 87912b6554 Revert "[maven-release-plugin] prepare for next development iteration"
This reverts commit f4eeca2472.
2024-10-19 20:07:37 +02:00
Tamas Cservenak f4eeca2472 [maven-release-plugin] prepare for next development iteration 2024-10-18 17:54:38 +02:00
Tamas Cservenak d82ef1a372 [maven-release-plugin] prepare release maven-4.0.0-beta-5 2024-10-18 17:54:23 +02:00
Tamas Cservenak ea21dc1060
Fix BOMs location (#1820)
Make them reside within apache-maven A
2024-10-18 17:50:24 +02:00
Tamas Cservenak 076c4dfeb7 Revert "[maven-release-plugin] prepare release maven-4.0.0-beta-5"
This reverts commit 2bcd571b56.
2024-10-18 17:05:06 +02:00
Tamas Cservenak ec2a8054c1 Revert "[maven-release-plugin] prepare for next development iteration"
This reverts commit 1813f06f86.
2024-10-18 17:04:56 +02:00
Tamas Cservenak 1813f06f86 [maven-release-plugin] prepare for next development iteration 2024-10-18 16:34:31 +02:00
Tamas Cservenak 2bcd571b56 [maven-release-plugin] prepare release maven-4.0.0-beta-5 2024-10-18 16:34:04 +02:00
Guillaume Nodet 35a7b31dc4
[MNG-8310] Use --debug option instead of a specific mvnDebug script (#1812)
Use --debug option instead of a specific mvnDebug script. Deprecate existing mvnDebug script, drop newly added mvnencDebug (as it was not released).
2024-10-18 13:01:21 +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
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 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
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 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
Guillaume Nodet 075d3acd10
Cleanup assembly rat plugin config (#1758) 2024-10-01 13:02:14 +02:00
XenoAmess 6ffdc2015a Add license header to m2.conf 2024-09-30 11:23:02 +02:00
Guillaume Nodet d77462e78a
[MNG-8261] Remove jline-terminal-ffm direct dependency (#1719) 2024-09-28 20:51:07 +02:00
Tamas Cservenak 034ef155da
[MNG-8263] Remove last remnants of wrapper integration (#1736)
Last two bits to be removed:
* wrapper lifecycle
* exploded scripts

---

https://issues.apache.org/jira/browse/MNG-8263
2024-09-24 09:54:24 +02:00
Guillaume Nodet 9811df363b
[MNG-8260] Fix warning on latest JDK 24.ea (#1718) 2024-09-18 14:00:33 +02:00
Tamas Cservenak a98d530e33 [maven-release-plugin] prepare for next development iteration 2024-08-30 14:59:00 +02:00
Tamas Cservenak 697c543b4e [maven-release-plugin] prepare release maven-4.0.0-beta-4 2024-08-30 14:58:34 +02:00
Guillaume Nodet 6a5580fd73
[MNG-7914] Add doc for the new maven.properties file (#1674) 2024-08-27 23:11:04 +02:00
Guillaume Nodet 78887f1b7e
[MNG-8181] Provide a variable for maven central repo url, backed by an environment variable (#1615) 2024-08-26 18:21:28 +02:00
Guillaume Nodet 6ac914d6f9
[MNG-7914] Provide a single entry point for configuration (#1595)
* [MNG-7914] Provide a single entry point for configuration
* [MNG-7914] Rename global -> installation
* [MNG-7914] Include time zone in Maven build timestamp
* [MNG-7914] Use a single place to document all maven properties
2024-08-22 16:47:43 +02:00
Tamas Cservenak 09f3b9f500
[MNG-8165] Get rid of bashism creeped in (#1652)
Use of "==" is a bashism.

---

https://issues.apache.org/jira/browse/MNG-8165
2024-08-14 10:42:07 +02:00
Tamas Cservenak cf2934b6ad
[MNG-8165] Align mvn.sh script with mvn.cmd (#1648)
As one does check for .mvn directory in FS root while other does not, stops one level before.

---

https://issues.apache.org/jira/browse/MNG-8165
2024-08-13 09:11:25 +02:00
HiuFung Kwok 97bc109a43
mvn-8010: Update doc (#1624) 2024-08-12 23:54:56 +02:00
Tamas Cservenak 5e97703456
[MNG-8136] Update Eclipse Sisu to 0.9.0.M3 (#1546)
Update Eclipse Sisu to 0.9.0.M3

---

https://issues.apache.org/jira/browse/MNG-8136
2024-06-04 08:45:16 +02:00
Guillaume Nodet 6e9889b1ad [maven-release-plugin] prepare for next development iteration 2024-05-22 16:07:09 +02:00
Guillaume Nodet e92f645c27 [maven-release-plugin] prepare release maven-4.0.0-beta-3 2024-05-22 16:06:59 +02:00
Guillaume Nodet ac4debe8f5
Fix distribution licenses (#1525)
It's really painful to have to rename the file whenever a dependency is upgraded, so enhance support for various licenses.
2024-05-17 21:14:22 +02:00
Guillaume Nodet 9acbed7d4f [maven-release-plugin] prepare for next development iteration 2024-05-13 18:36:30 +02:00