Commit Graph

15150 Commits

Author SHA1 Message Date
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 ad25b2e77e Use 4.0.0-alpha-8 instead of SNAPSHOT (#315) 2023-11-06 14:05:46 +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 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
Guillaume Nodet 40acbf6de1 Add a note about ITs requiring maven snapshots (#314) 2023-10-19 14:42:17 +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
juulhobert 6a83ac6c29 [MNG-7772] Test for extensions.xml defined in an ext directory in the ${user.home}/.m2 folder (#311) 2023-10-18 20:06:47 +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 5c88324237 [MNG-7837] Add IT for project element in pom (#277) 2023-10-18 08:21:12 +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 cd1ef1614c Add missing HoconReader#getIntegerValue (#313) 2023-10-16 15:25:17 +02:00
Guillaume Nodet 121980470a [MNG-7804] IT for plugin execution order (#268) 2023-10-16 13:29:31 +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
Guillaume Nodet cf71c396dd Require JDK 11 and support JDK 21 at build time (#310)
* Support JDK 21

* Update groovy to latest

* Drop jdk 8, add jdk 11 and 21
2023-10-16 13:24:46 +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
Slawomir Jaranowski 5797211100 [MNG-7898] Missing .mvn directory should not be reported in quiet mode 2023-10-10 12:10:59 +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
Slawomir Jaranowski 464536d05b Use Maven 3.9.5 on GitHub (#242) 2023-10-04 23:56:43 +02:00
Slawomir Jaranowski 08fceb5d84 Remove methods used for JUnit 3/4 2023-10-04 20:44:29 +02:00
Slawomir Jaranowski 27bc847389 [MNG-7895] Support ${project.basedir} in file profile activation - fix ITs 3.9.5 2023-09-27 22:00:25 +02: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
Guillaume Nodet d640bdec48 Fix expectations on IT MNG-7836 following the modifications on the consumer pom (#308) 2023-09-27 09:08:37 +02:00
Slawomir Jaranowski 7046a8c406 Add .java-version to .gitignore 2023-09-26 21:25:59 +02:00
Slawomir Jaranowski 5c2e671a06 [MNG-7895] Support ${project.basedir} in file profile activation 2023-09-26 19:50:21 +02:00
Slawomir Jaranowski d60a1cce4a [MNG-7895] Support ${project.basedir} in file profile activation - fix ITs 2023-09-26 19:48:16 +02:00
Guillaume Nodet 558dfc9c6e
[MNG-7880] Trim down consumer POM (#1247) 2023-09-26 08:51:42 +02:00