Commit Graph

1774 Commits

Author SHA1 Message Date
Guillaume Nodet c5211f95cb [MNG-8258] activate Reproducible Builds by default (#369) 2024-10-01 16:50:50 +02:00
Guillaume Nodet 4e91c205ea [MNG-8230] Add tests for CI-friendly versions (#366) 2024-10-01 13:57:11 +02:00
Guillaume Nodet 101fe8f0f0 Fix IT to not use m-install-p 4.0-alpha (#357)
* Disable MNG-6330 because it now validly finds the parent given the path is not specified
* Add missing roots
2024-09-28 11:03:16 +02:00
Guillaume Nodet 6a54531a0f [MNG-7255] Infer groupId for dependencies (#356) 2024-09-18 14:26:05 +02:00
Guillaume Nodet 8e0d731440 [MNG-8259] Improve Sisu / DI bridge (#363) 2024-09-18 13:04:50 +02:00
Guillaume Nodet b2c2e88915 [MNG-8234] Fix IT (#361) 2024-09-12 08:17:33 +02:00
Guillaume Nodet 71c6162dcb [MNG-8252] Fix build (#362) 2024-09-12 06:36:51 +02:00
Guillaume Nodet e6af8ffeee [MNG-8190] Fix ITs (#359) 2024-09-11 19:19:53 +02:00
Guillaume Nodet 4fc65368c7 [MNG-8252] Test parent inference and subprojects detection (#360) 2024-09-11 18:30:05 +02:00
Guillaume Nodet 2f62d16c26 [MNG-7838] Fix IT and add another one (#278) 2024-08-29 22:34:24 +02:00
Guillaume Nodet c6d7a36de5 [MNG-7897] Use project.rootDirectory (#354) 2024-08-29 20:57:44 +02:00
Guillaume Nodet 5b6378d84a [MNG-8220] Add IT to check DI in extensions (#355)
* [MNG-8220] Add IT to check DI in extensions
2024-08-29 17:32:45 +02:00
Guillaume Nodet 458301c7a9 [MNG-8052] Fix IT 2693 (#353) 2024-08-29 06:48:36 +01:00
Guillaume Nodet b5c0377a1b [MNG-8181] Add IT for maven.repo.central variable (#350) 2024-08-26 18:21:18 +02:00
Slawomir Jaranowski 42f15e5523 [MNG-7758] Report dependency problems for all repository - extends ITs (#348)
* [MNG-7758] Report dependency problems for all repository - extends ITs

* [MNG-7758] Report dependency problems for all repository - extends ITs

* [MNG-7758] Report dependency problems for all repository - extends ITs
2024-06-12 09:48:43 +02:00
Slawomir Jaranowski 30b237eb94 [MNG-7758] Report dependency problems for all repository - fix IT 2024-06-06 20:58:37 +02:00
Slawomir Jaranowski fe968ff43b Add .mvn directory in project root 2024-06-02 20:16:30 +02:00
Guillaume Nodet ff1d119179 [MNG-8123] IT for build cache extension (#342) 2024-05-22 15:45:02 +02:00
Tamas Cservenak c959b7ebe7 Fix MNG-7819 IT (#339)
The goal of IT is to "excecise file locking with snapshots"
and not to test model validation.

The IT used dependency had an invalid parent POM w/
wrong packaging and artifactId.
2024-04-30 13:51:16 +02:00
Tamas Cservenak aa92202f3c [MNG-8106] IT (#336)
Created IT that does "wrong" (as same directory has once G and once A role), and verify that both level metadata is present. In other words, but none is dropped.

---

https://issues.apache.org/jira/browse/MNG-8106
2024-04-25 12:00:51 +02:00
Slawomir Jaranowski d7a34452cd [MNG-8103] Upgrade default plugin bindings - fix ITs 2024-04-23 15:54:12 +02:00
Jonas Rutishauser aac2328994 [MNG-8005] test for ide WorkspaceReader (#332)
Adds an IT that verifies that "ide" WorkspaceReader is used by Maven.
Relates to fix 3f47580dcc
2024-01-18 12:52:03 +01:00
Guillaume Nodet a9a09083d9 Remove experimental bit from buildconsumer (#331) 2024-01-09 20:35:05 +01:00
Guillaume Nodet 536a9c96e1 Disable MNG-1088 test for MNG-7977 (#329) 2024-01-08 11:38:04 +01:00
crazyhzm 95d384dc69 Enables debug logs in MavenITmng6127
Signed-off-by: crazyhzm <crazyhzm@apache.org>
2024-01-02 08:39:08 +01:00
Tamas Cservenak ac8874e8f6 [MNG-7967] Verify javadoc:jar is invoked (#324)
It uses javadoc:jar goal from locked-down version of Javadoc plugin: Bug is that it refuses to run as 4-alpha-9 returns here language="none". If it would run, it would explode, as project contains java source with intentionally broken javadoc.

---

https://issues.apache.org/jira/browse/MNG-7967
2023-12-17 14:28:56 +01:00
Tamas Cservenak 61cb0c796a Update Jetty to 9.4.53.v20231009 (#326)
As currently used one is plagued with CVEs etc.

As long as we are stuck on Java8, we cannot move forward
with Jetty, as Jetty 10.x (that is drop in replacement)
is Java 11.
2023-12-17 13:55:56 +01:00
Guillaume Nodet 46ed670dbe [MNG-7965] Verify non-parseable POM is detected (#327)
Co-authored-by: Tamas Cservenak <tamas@cservenak.net>
2023-12-15 07:33:02 +01:00
Tamas Cservenak 38f543d94a Fix ITs master build (#323)
I was unaware that for master Maven 3.9.x is used.
So the original commit 8880639cee
does not work with 3.9.x, this PR fixes it.
2023-12-06 15:56:55 +01:00
Tamas Cservenak 8880639cee Preparations for resolver alpha-3 (#322)
Changes:
* transport renames
* some internals rename
2023-12-06 15:07:51 +01:00
Guillaume Nodet b806d5972e Change bootstrap syntax to align with the usual one (#316) 2023-11-26 07:35:09 +01:00
Slawomir Jaranowski 15707702d8 [MNG-7939] Allow to exclude plugins from validation 2023-11-19 22:10:29 +01:00
Slawomir Jaranowski ab9aca341b Update parent to 41 2023-11-18 10:50:43 +01:00
Tamas Cservenak e26e1d678a [MNG-7909] IT changes (#318)
To recognize new error message coming from JDK transport.

Message is to be improved with https://issues.apache.org/jira/browse/MRESOLVER-429
2023-11-07 16:06:24 +01:00
Tamas Cservenak d77141df66 [MNG-7909] Apply Resolver 2.0.0 changes (#317)
Changes:
* IT MNG-4368 "smart install" undone
* IT MNG-5175 force Wagon as it uses Wagon config
* IT MNG-7470 adapt to new default and new transport
2023-11-07 13:27:35 +01:00
Guillaume Nodet ad25b2e77e Use 4.0.0-alpha-8 instead of SNAPSHOT (#315) 2023-11-06 14:05:46 +01: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 5c88324237 [MNG-7837] Add IT for project element in pom (#277) 2023-10-18 08:21:12 +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 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 5797211100 [MNG-7898] Missing .mvn directory should not be reported in quiet mode 2023-10-10 12:10:59 +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 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 d60a1cce4a [MNG-7895] Support ${project.basedir} in file profile activation - fix ITs 2023-09-26 19:48:16 +02:00
Guillaume Nodet caf44be89e Fix IT for trimmed consumer POM (#293) 2023-09-26 08:51:33 +02:00
Slawomir Jaranowski ad1e9257dd Use 1.8 for source/target in ITs - allow to execute by newer JDK
1.7 was removed in JDK 20
2023-09-24 15:38:51 +02:00
Guillaume Nodet f0fca33818 Fix IT compilation problem with recent merges (#297) 2023-09-22 11:37:26 +02:00
Guillaume Nodet c6d8f2fea6 [MNG-7836] IT for alternative pom syntax (#276) 2023-09-22 09:24:52 +02:00
Guillaume Nodet 4c64e109f3 [MNG-7891] IT for configuring extensions (#296)
Co-authored-by: Christoph Läubrich <christoph@laeubi-soft.de>
2023-09-22 09:14:42 +02:00
Guillaume Nodet c3c7981e7f [MNG-7877] Fix ITs for build bom + consumer/pom simplification (#292) 2023-09-13 13:39:27 +02:00
Guillaume Nodet e85a09a328 [MNG-7876] Add model version analysis and downgrade (#291) 2023-09-11 18:17:18 +02:00
Tim te Beek 433611003b [MNG-6847] Use diamond operator (#288)
* [MNG-6847] Use diamond operator

Use this link to re-run the recipe: https://app.moderne.io/recipes/org.openrewrite.staticanalysis.UseDiamondOperator?organizationId=QXBhY2hlIE1hdmVu

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

* Restore core-it-suite/src/test/resources/mng-5581-lifecycle-mapping-delegate/extension/src/main/java/org/apache/maven/its/mng5581/lifecyclemappingdelegate/TestLifecycleMappingDelegate.java

---------

Co-authored-by: Moderne <team@moderne.io>
2023-08-29 11:50:44 +00:00
Guillaume Nodet 6326854fcb [MNG-7862] The ModelLocator should always be used when locating pom.xml (fixes #289) 2023-08-23 21:24:44 +02:00
Guillaume Nodet 65f2d39a40 [MNG-6401] IT for proxy port interpolation (#275) 2023-08-23 10:54:36 +02:00
Guillaume Nodet a9bf8ed377 [MNG-7830] Switch from plexus-xml to stax / woodstox (#274) 2023-06-29 12:03:31 +02:00
Tamas Cservenak e85fb9029a [MNG-7228] Add IT that ensure nothing "leaks" into installed model (#273) 2023-06-24 10:51:01 +02:00
Tamas Cservenak c029658a92 Remove MNG-7819 Maven Metadata XML leading newline 2023-06-23 10:36:31 +02:00
Tamas Cservenak 24f25a0a71 [MNG-7819] Add IT that excercise the bug (#271)
Template/reproducer: https://gist.github.com/cstamas/3f15775bd4785a5f4b157399f52af6fc

While local repo is empty.

---

https://issues.apache.org/jira/browse/MNG-7819
2023-06-21 14:36:58 +02:00
Guillaume Nodet 0226d93b9e [MNG-5659] Add an IT for project settings (#265) 2023-06-20 13:20:11 +02:00
Guillaume Nodet 5787317971 [MNG-4645] Fix IT to not use the newly supported syntax (#266) 2023-06-19 17:03:57 +02:00
Guillaume Nodet 16a7489f46 [MNG-5600] Dependency management import should support exclusions. (#269)
Co-authored-by: Christian Schulte <schulte@apache.org>
2023-06-15 20:49:41 +02:00
Guillaume Nodet 50f23340ea [MNG-7587] Only test with 4.0 because the fix has been reverted in 3.9.x 2023-06-09 20:46:46 +02:00
Martin Kanters fca1dd661a [MNG-7338] Disable CI mode for certain tests which verify on log statements. (#209) 2023-06-08 15:44:00 +02:00
Guillaume Nodet b8f4ef8332 Adjust test failing on CI
# Conflicts:
#	core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5760ResumeFeatureTest.java
2023-06-06 10:34:47 +02:00
Guillaume Nodet 81abb5870c [MNG-7740] Remove old temporary consumer*pom files from buildDir (#263)
Co-authored-by: Giovanni van der Schelde <Giovanni.vanderSchelde@infosupport.com>
Co-authored-by: Giovanni van der Schelde <gvdschelde@gmail.com>
2023-06-05 16:24:36 +02:00
Guillaume Nodet 74c1775d05 Reformat ITs 2023-06-05 08:54:28 +02:00
Guillaume Nodet 386efc3d6c Reformat 2023-06-05 08:54:28 +02:00
Guillaume Nodet 425b92dabe [MNG-7587] Add an IT for jsr330 components (#264) 2023-06-02 11:33:10 +02:00
Guillaume Nodet 7366fe6bd7 [MNG-7038] Introduce public properties to point to the root and top directories of (multi-module) project 2023-04-20 12:57:57 +02:00
Guillaume Nodet 4a2a51c6db [MNG-7763] Provide UTF-8 as a default value for project.build.sourceEncoding and project.reporting.outputEncoding 2023-04-18 21:51:40 +02:00
Tamas Cservenak 31e2f5fcc9 [MNG-7767] Put related ITs into verbose mode (#258)
As they assert actual log for validation messages about
what was reported.

---

https://issues.apache.org/jira/browse/MNG-7767
2023-04-17 15:13:39 +02:00
Slawomir Jaranowski 39db9e6c51 [MNG-7697] IT - pom with emoji 2023-04-13 21:51:57 +02:00
Tamas Cservenak de74b863ee [MNG-7754] Improve plugin validation (#256)
Fixed ITs to not fail:
- assert only for content, neglect and possible indentation
- do not assert what is NOT warn logged, as later we may log more (IT would be not future proof)

Tested with 3.9.1 and 3.9.2-SNAPSHOT w/ https://github.com/apache/maven/pull/1079 Both passes OK

MNG-7754 changes how plugin validation errors are reported (at end and as a dense report), so ITs needs a bit of lax re formatting and indentation and such.

---

https://issues.apache.org/jira/browse/MNG-7754
2023-04-05 14:20:37 +02:00
Slawomir Jaranowski 21e39ea511 Detecting tests which was not added to TestSuiteOrdering
Even test is skipped by `@Disabled` annotation
newer surefire schedule it for execution.

When tests are missing in TestSuiteOrdering
are executed as one of first tests in unpredictable order.
2023-03-13 22:37:35 +01:00
Tamas Cservenak da33f06c06 [MNG-7737] IT for profiles (#252)
* [MNG-7737] IT for profiles

Just a simple IT that would catch issues like Maven 3.9.0
went out with, where files were wrongly interpolated: MNG-7726

---

https://issues.apache.org/jira/browse/MNG-7737
2023-03-13 15:57:08 +01:00
Michael Osipov a988e5c95e Add missing bootstrap dependencies 2023-03-08 14:29:52 +01:00
Christoph Läubrich dca86bfa80 [MNG-7716] ConcurrencyDependencyGraph deadlock if no root can be selected
Co-authored-by: Michael Osipov <michaelo@apache.org>

This closes #250
2023-03-03 17:22:39 +01:00
Tamas Cservenak e80821cc11 [MNG-5181] Improve "missing dependency" message (#249)
Related IT change, as the change for this issue made MNG-7128 IT
to fail, as it was too eagerly match whole error message string
that has now due MNG-5181 changed.

To fix it, match only the key parts of the expected error message,
that project failed, due transfer failure, as insecure mirror
was blocked. This makes IT assert same thing, but is more
flexible regarding error text change in MNG-5181.

---

https://issues.apache.org/jira/browse/MNG-5185
2023-03-02 14:28:56 +01:00
Slawomir Jaranowski 497bede577 Replace deprecated systemProperties by systemPropertyVariables 2023-02-24 21:50:32 +01:00
Tamas Cservenak 57c1066862 [MNG-7706] Fix for ITs WARNING detection (#245)
The MNG-7706 deprecates ancient ArtifactRepository type use to get access to local repository, and issues warning as for any other deprecated Mojo parameters.

But alas, in ITs the MNG-5576 completely unrelated IT there is an assertion to have WARNING-free log. This IT uses the IT-plugins/IT-plugin-expression EvalMojo, that in turn uses the deprecated `${localRepository}` parameter (but does not use it). Result is, Maven 3.9.1 emits a WARNING about use of deprecated parameter and the IT fails.

Further inspection shows, that while EvalMojo injects ArtifactRepository for local repository, there is only one IT that actually uses it, the MNG-4305, but even that one is interested in basedir of the local repository only. So to say, the use of deprecated ArtifactRepository type is not needed at all.

Fix:
* change EvalMojo to not expose in context the localRepository (w/ type ArtifactRepository), but a new expression `localRepositoryBasedir` only, that is injected in non-deprecated way (in real life repoSysSession would be injected, but in IT we keep all super-safe and use Object types).
* adjusted MNG-4305 to use new epxression instead to use object reflection in template to get basedir from ArtifactRepository
* This makes the originally failing MNG-5576 pass, as warning due EvalMojo is gone.

See
https://issues.apache.org/jira/browse/MNG-7706
https://github.com/apache/maven/pull/1009
2023-02-23 13:52:03 +01:00
Tamas Cservenak a5744e8e34 [MNG-7679] [REGRESSION] Build fails when executing a single mojo without a POM
This closes #244
2023-02-20 21:19:01 +01:00
Tamas Cservenak 37474485fe No logic change, just improve logging (#241)
This IT helped a lot to figure out problems around parallel deploy,
and I had locally applied these changes to improve ability to
track down what is actually happening on server side.
2023-02-15 22:32:51 +01:00
Guillaume Nodet d45dba3073 [MNG-7646] Fix IT broken by the change to not always read the whole reactor (#239) 2023-01-26 11:42:13 +01:00
Guillaume Nodet 49c12573d6 [MNG-7629] Change reactor reader to copy packaged artifacts and reuse them across builds if needed (#234) 2023-01-19 11:54:42 +01:00
Tamas Cservenak 348170eef1 [MNG-7608] Adjust IT for default transport (#237)
If 3.9 uses native as default as well, there is no need anymore
to distinguish between 3.9 and 4+.

---

https://issues.apache.org/jira/browse/MNG-7608
2023-01-17 09:51:09 +01:00
Guillaume Nodet 25c982eeb8 Remove a few system properties before initializing the maven verifier (#232) 2023-01-17 00:20:18 +01:00
Petr Široký 8d8dba4c6f [MNG-7661] Replace deprecated 'verifier.setMavenDebug()' 2023-01-15 22:32:54 +01:00
Petr Široký 40aa1115e6 [MNG-7661] Replace deprecated 'verifier.newDefaultFilterProperties()' 2023-01-15 19:45:20 +01:00
Petr Široký 3f029c11a9 [MNG-7661] Replace deprecated 'verifier.addCliOption()' 2023-01-13 17:16:59 +01:00
Slawomir Jaranowski ff9047ab6b Fix MavenITmng5669ReadPomsOnce
In test, we check if pom files are read only once.

When we update plugin or dependencies in test,
number of read items can change again.

So should be good enough to check if duplicate items exist in log file.
2023-01-13 09:01:24 +01:00
Tamas Cservenak b035fb3037 [MNG-7667] Fix Bootstrap IT (#230)
This change extends Bootstrap IT (1st IT that fills in local repo) to hunt down some plugins that are bound in lifecycles provided by Maven under test.

Changes:
* the Bootstrap IT invokes only the phase where DownloadMojo is bound
* DownloadMojo (the "bootstrap") changed to do "this or that": it either resolves all artifacts from provided file OR collects plugins for given project packaging plugin versions provided by tested Maven default lifecycle.
* Split more Bootstrap project POMs, now we have 4 modules, we can add more (even extension if needed)

---

https://issues.apache.org/jira/browse/MNG-7667
2023-01-12 22:34:16 +01:00
Tamas Cservenak 1b31813b91 [MNG-7665] Update Jetty to latest Java8 capable version (#228)
Update Jetty to latest 9.4.50, last Java 8 capable version. Apply API changes and also remove jetty-servlet as ITs does NOT use servlet aspect of Jetty HTTP server.. This will simplify our lives in future, to make jump to later versions (that are Java 11+). Also, drop jetty-servlet as test do not use any servlet aspect.

---

https://issues.apache.org/jira/browse/MNG-7665
2023-01-12 11:20:33 +01:00
Petr Široký cb51050ea6 [MNG-7661] Fix verifier 'clean' call in one of the ITs (#227) 2023-01-11 13:42:55 +01:00
Guillaume Nodet 59f503bece Modernize IT plugins to use annotations (#184)
* Modernize IT plugins to use annotations

* Align some tests to maven 3.8.6

# Conflicts:
#	core-it-suite/src/test/resources-filtered/bootstrap.txt
#	core-it-suite/src/test/resources/mng-3221/report/pom.xml
#	core-it-suite/src/test/resources/mng-3428/pom.xml
#	core-it-suite/src/test/resources/mng-3530/build-path/plugin/pom.xml
#	core-it-suite/src/test/resources/mng-3530/pom-property/plugin/pom.xml
#	core-it-suite/src/test/resources/mng-3530/resource-object/plugin/pom.xml
#	core-it-suite/src/test/resources/mng-3704/maven-mng3704-plugin/pom.xml
#	core-it-suite/src/test/resources/mng-3743/plugins/maven-mng3743-check-plugin/pom.xml
#	core-it-suite/src/test/resources/mng-3743/plugins/maven-mng3743-report-plugin/pom.xml
#	core-it-suite/src/test/resources/mng-3743/project/pom.xml
#	core-it-suite/src/test/resources/mng-4086/repo/org/apache/maven/its/mng4086/maven-it-plugin-a/0.1/maven-it-plugin-a-0.1.pom
#	core-it-suite/src/test/resources/mng-4086/repo/org/apache/maven/its/mng4086/maven-it-plugin-a/0.2-SNAPSHOT/maven-it-plugin-a-0.2-20090315.124508-1.pom
#	core-it-suite/src/test/resources/mng-5581-lifecycle-mapping-delegate/extension/pom.xml
#	core-it-suite/src/test/resources/mng-7310-lifecycle-activated-in-specified-module/project/pom.xml

* Add dependencies on all support artifacts to ensure multithreaded builds can use correct ordering

* Add missing dependencies on plexus-utils

* Fix for mng-7335 test

* Fix ITs for maven 4

* Rename Component -> TestComponent to leave room for the annotation

* Upgrade a few plugin versions

* Upgrade some JDK requirements to 1.8

* Remove unwanted parentheseses

* Convert the last mojo to annotations

* Force timestamped build

* Fix ITs following Component -> TestComponent rename

* Remove commented block

* Remove versions infered from plugin management

* The implementation parameter is not supported anymore

* Align maven core version

* Fix bad merge
2023-01-11 13:35:56 +01:00
Petr Široký 5ec94529d2 [MNG-7661] Replace deprecated 'verifier.executeGoal()' 2023-01-09 17:55:26 +01:00
Petr Široký 1a78c89175 [MNG-7661] Remove deprecated 'verifier.resetStreams()'
* the method itself is empty in newer versions of verifier,
   so this change is not removing any behavior
2023-01-05 19:35:02 +01:00
Petr Široký e24b2edf84 Upgrade Groovy in one of the ITs to support JDK 19 2023-01-04 08:55:58 +01:00
Michael Osipov 78c3506412 [MNG-7640] Investigate which ITs really need to set system properties
This closes #220
2023-01-02 20:38:13 +01:00