tree ae5c3e0af4e4e152d0459b2ef83caee2fa21b4e8
parent 2ba50f1d6b91cfd50231004fd5d8f1b1e25a5047
author Guillaume Nodet <gnodet@apache.org> 1673440556 +0100
committer GitHub <noreply@github.com> 1673440556 +0100
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJjvq0sCRBK7hj4Ov3rIwAAm4QIABR5fyCntC1Mr8mbi7kUCdOK
 MK6zEeIkYAsH65WJVAzJmTn4iC7jVKJX57hgmo7+fWw8E7YfQgqTirIS3qdx8eIg
 etLvJPTmpP/LXi2k1yCHnRgMqbiXtsxkb+eX7SgAK9PGCMRVtCyiNpgwJvTeXvt1
 7HjjSCW1W+m7E9R4vk60j93whkYqUQaG2HsWYtBjak5HBEijHRJ+MtYC9ZAquh5h
 6LNnnOyfZQw9b3S6dIa5JLkSNzJlgmNSU1Ugq4xgitlWvlfI383Pb0moSDfyiNGF
 AHbIF0PHtUezeXZjQuyqODqGwP84r3jMj+vZC3NLsekbdXRBP2ID4RzFlfjxFdY=
 =ft5T
 -----END PGP SIGNATURE-----
 

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