11990 Commits

Author SHA1 Message Date
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
Guillaume Nodet
7fcdd32e87 [MNG-7615] Multithreaded project builder 2023-11-07 09:20:52 +01:00
Guillaume Nodet
2f6ec159fe [MNG-7615] Add a cycle detection to the transformer context 2023-11-07 09:20:52 +01:00
Guillaume Nodet
53ff1690de [MNG-7615] Add some methods for supporting Maven 4 api to ProfileInjector / ProfileSelector 2023-11-07 09:20:52 +01:00
Guillaume Nodet
54ca01c779 [MNG-7615] Use lambas to access ModelCache 2023-11-07 09:20:52 +01:00
Guillaume Nodet
4ddc4bf406
Use 4.0.99 as as intermediate model to keep 4.1.0 for the Maven 4.x model (#1297)
Also generates XSD for extensions 1.2.0 schema
2023-11-06 20:04:44 +01:00
Guillaume Nodet
3fc399318e [maven-release-plugin] prepare for next development iteration 2023-10-20 21:20:23 +02:00
Guillaume Nodet
a2cbf4873a [maven-release-plugin] prepare release maven-4.0.0-alpha-8 maven-4.0.0-alpha-8 2023-10-20 21:20:23 +02:00
Guillaume Nodet
61f08f326d Fix build/consumer pom transformation wrt attached artifacts 2023-10-20 21:18:46 +02:00
Guillaume Nodet
08a2c60d9e
[MNG-7916] Simply get rid of LifecycleMappingsXpp3Reader/Writer (#1295)
Since the v3 model has been replaced by the v4 model, that would be in line.  We can revisit and restore full compatibility later if needed.
2023-10-20 17:19:56 +02:00
Guillaume Nodet
066cb3dc17
[MNG-7917] Upgrade to Jansi 2.4.1 (#1294) 2023-10-20 17:19:20 +02:00
sebastien-doyon
d362690a82
[MNG-7899] Various memory usage improvements 5 (#1270)
Multiple optimizations :
- renderLevel() method use static constants instead of rebuilding the strings on each call
- replace + operator usage with more PrintStream.print() calls to reduce temporary strings creation
- reduce usage of MessageBuilder.a() method usage with more PrintStream.print() calls to reduce temporary strings creation
- replace the builder() method with a static import
- replace String.format with a simple string concat to reduce memory allocation (garbage)
- change static constants to class member in MavenSimpleLogger
- add a setLength(int) method in MessageBuilder to enable reuse
2023-10-20 16:30:44 +02:00
sebastien-doyon
68bbc8f393
[MNG-7899] Various memory usage improvements 4 (#1269)
- Use the main StringBuilder to append string instead of using a separate one
- Use the StringBuilder.append() with index to avoid String.substring(), less temporary strings
- Reuse the FileSizeFormat object in the while loop avoiding multiple temporary instances creation
- Non-threadsafe FileSizeFormat instance can be make class instance since its formatProgress() method is only called in a synchronized block.
- add a test in a multi-threaded context
- Non-threadsafe StringBuilder instance 'buffer' can be make class instance since it is always called in synchronized methods
- remove synchronized block in transferProgressed() method, the method is synchronized and the block is not needed
- Remove the Collections.synchronizedMap since all methods that use the transfers map are synchronized
2023-10-20 14:16:34 +02:00
Guillaume Nodet
9abaf3aa1c
[MNG-7894] Consumer pom should not expose local workspace directory (#1291) 2023-10-20 12:38:57 +02:00
Slawomir Jaranowski
a35ed073ab
[MNG-7904] Use SettingsStaxReader/Writer for SettingsXpp3Reader/Writer (#1285) 2023-10-20 09:44:51 +02:00
Guillaume Nodet
4251e3f9c2
[MNG-7915] Use MavenStaxReader/Writer in MavenXpp3Reader/Writer (#1293)
This removes the generated v4 model reader/writer based on Xpp3 api and deprecates the v3 Xpp3 reader/writer.
2023-10-20 09:14:01 +02:00
Guillaume Nodet
a734e2a336
Get rid of deprecated method in the v4 Session interface (#1292) 2023-10-20 07:54:44 +02:00
sebastien-doyon
16888062d0
[MNG-7899] Various memory usage improvements (#1268)
Reuse a StringBuilder in a for loop by setting its lenght to zero.
Help reduce temporary objects creation.
2023-10-19 14:19:37 +02:00
Guillaume Nodet
9663203821
Reuse the same repository so that ITs can access maven snapshot jars from the repository (#1277) 2023-10-19 13:53:44 +02: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
juulhobert
7f86d1d996
[MNG-7772] Allow to register maven core extension in .m2 directory instead of MAVEN_HOME (#1280) 2023-10-18 20:06:57 +02:00
Guillaume Nodet
251a316962
[MNG-7893] Fix exception loading superpom with invalid modelVersion (#1290)
Even though this should not be supported, Maven 3.x is always using the 4.0.0 superpom.  So if the version is not a supported model version, simply use 4.0.0.  Any invalid value will be later verified by the model validator and eventually throw a meaninful exception.
2023-10-18 15:31:36 +02:00
Guillaume Nodet
2f99c66f86
[MNG-7821] Remove useless animal-sniffer-plugin (#1289) 2023-10-18 07:47:35 +02:00
Guillaume Nodet
92a82dcefd
[MNG-6437] Better support for path and uri in property interpolation (#812) 2023-10-17 19:55:08 +02:00
Guillaume Nodet
32d67322ef
[MNG-7891] Abstract ExtensionConfigurationModule from CliRequest (#1272)
Follow-up to MNG-7891 to make Maven Daemon integration easier.
2023-10-17 19:53:33 +02:00
Guillaume Nodet
80a8e41540
[MNG-7804] Fix broken MavenModelVersion generation (#1284) 2023-10-16 15:44:33 +02:00
Guillaume Nodet
f2df54723b
[MNG-7804] Ability to order plugin executions using the priority xml element (#1147) 2023-10-16 13:28:47 +02:00
Tamas Cservenak
bd608d8cc9
[MNG-7910] DefaultProfileSelector empty ctor uses immutable list (#1283)
It uses immutable list and while it suggests it allows this below, it actually fails on constructs like this (runtime ONLY):
{noformat}
new DefaultProfileSelector()
                .addProfileActivator(new JdkVersionProfileActivator())
                .addProfileActivator(new PropertyProfileActivator())
{noformat}

As default ctor creates immutable list, but API kinda suggests this is ok.

---

https://issues.apache.org/jira/browse/MNG-7910
2023-10-16 13:26:42 +02:00
Guillaume Nodet
07db6ec76a
[MNG-7911] Require JDK 11 and support JDK 21 at build time (#1278) 2023-10-16 13:25:27 +02:00
Slawomir Jaranowski
79c09f2800 [MNG-7901] Use MetadataStaxReader/Writer in MetadataXpp3Reader/Writer 2023-10-12 22:26:00 +02:00
Slawomir Jaranowski
523f8b7dc0 [MNG-7898] Missing .mvn directory should not be reported in quiet mode 2023-10-10 12:11:44 +02:00
Tamas Cservenak
a4b404145a DOAP for Maven 3.9.5 2023-10-05 21:01:14 +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
Vivian Kong
e4f68f037d
[MNG-7848] Add Jenkinsfile.s390x for Jenkins CI on s390x (#1266) 2023-10-05 11:46:41 +10:00
Slawomir Jaranowski
882c8dd974
Use the same branch name for ITs on Jenkins (#1263)
* Use the same branch name for ITs on Jenkins

* Try CHANGE_BRANCH env on PR

* CHANGE_BRANCH can be null
2023-10-05 11:44:01 +10:00
Guillaume Nodet
14d16064f6
Fix unneeded/wrong substring calls in expression evaluation and put back weak references in cache (#1258) 2023-09-27 09:28:31 +02:00
Slawomir Jaranowski
5c2e671a06 [MNG-7895] Support ${project.basedir} in file profile activation 2023-09-26 19:50:21 +02:00
Guillaume Nodet
558dfc9c6e
[MNG-7880] Trim down consumer POM (#1247) 2023-09-26 08:51:42 +02:00
Guillaume Nodet
10fa5c713a
[MNG-7893] Allow versioning the superpom according to the model version (#1253) 2023-09-26 07:17:52 +02:00
Tamas Cservenak
876e8d2b7c
[MNG-7859] Update to Resolver 1.9.16 (#1261)
Update to resolver 1.9.16
---

https://issues.apache.org/jira/browse/MNG-7859
2023-09-25 15:31:31 +02:00
Slawomir Jaranowski
2a188e75a1 [MNG-7896] Upgrade Junit from 5.9.1 to 5.10.0 2023-09-24 22:16:12 +02:00
Guillaume Nodet
35022a3616
Fix newlines and indentation in ModelBuildingException message (#1257) 2023-09-22 12:54:27 +02:00
Guillaume Nodet
6bf55cfc11
[MNG-7879] Add a bom packaging (#1242)
The purpose of the BOM packaging is to more cleanly identity POM that will be consumed as BOM from POM that will be used as parents.  The BOMs can be turned into a consumer POM, whereas parents can not loose any information.
2023-09-22 12:53:44 +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
10487d7b5d
[MNG-7820] Get rid of plexus-utils (#1255) 2023-09-22 10:59:31 +02:00
Guillaume Nodet
f24266eb64
[MNG-7836] Support alternative syntaxes for POMs (#1197)
The IT associated with this PR is using the Maven model to generate a hocon POM parser.  This requires the maven-api-model module to attach the POM as an artifact, and the maven.yml change so that the model is present in the local repository.
2023-09-22 09:25:10 +02:00
Guillaume Nodet
dd2f1214d6
[MNG-7891] Support configuration for extensions (#1252) 2023-09-22 09:14:56 +02:00
Guillaume Nodet
aefa9599fb
Avoid usage of XmlStreamReader (#1256) 2023-09-22 09:03:47 +02:00
Guillaume Nodet
eb20034763 Simplify ReactorModelPool and use a concurrent map 2023-09-22 08:34:51 +02:00
Guillaume Nodet
59a8d90397 Add a o.a.maven.api.services.Source#resolve method 2023-09-22 08:34:51 +02:00