The good way is to discuss the principle xxxAtEnd first and then implement it properly. Implementing a hack would persist the hack forever and that is the reality, the practice shows us that it is hapenning.
Dňa ne 6. 2. 2022, 20:02 Lasse Lindqvist <lasse.k.lindqv...@gmail.com> napísal(a): > In case you are ready to make you own plugin, it is relatively easy. > > > https://github.com/apache/maven-surefire/tree/master/surefire-report-parser/src/main/java/org/apache/maven/plugins/surefire/report > contains the code on how the test report is parsed. I could not find proper > XSD schema for the structure, maybe it does not exist, since I could not > find any references to such a thing. > The writing happens for example here > > https://github.com/apache/maven-surefire/blob/b9b2381a3dba6574bb69bd91d45fe0edea29c779/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/StatelessXmlReporter.java#L418 > > So, you can just run the tests with -DtestFailureIgnore=true, and the make > your plugin run at the end of the build, parse the result and fail the > build if needed. > > Any test publishers in CI systems such as the Jenkins Junit plugin will > find all the test reports generated and are able to publish them. > > Also in Jenkins you can also easily fail the build using the Junit plugin, > see https://stackoverflow.com/a/57481054. In that case you don't even need > a custom plugin. So be sure to check what kind of functions the CI system > you use provides here. > > > su 6. helmik. 2022 klo 14.08 Tibor Digana (tibordig...@apache.org) > kirjoitti: > > > Alexander, all I wanted to say is to discuss the xxxAtEnd as a Maven > > pattern. > > Is it what we really want to have in Maven? > > Last time we discussed it we said that it was a workaround. > > It should not be a problem to implement in Surefire but it might be an > > internal issue and we should avoid it. So let's discuss this pattern in > > general on the ML apart of the target in a concrete plugin. > > > > On Sun, Feb 6, 2022 at 7:46 AM Alexander Kriegisch < > > alexan...@kriegisch.name> > > wrote: > > > > > Actually, I am not sure I want to compare with Install and Deploy > > > plugin, but because you were mentioning them: 'installAtEnd' and > > > 'deployAtEnd' are blessings IMO, and they are cornerstones of my work, > > > because they help to avoid half-installed and - even worse - > > > half-deployed multi-module projects which would lead to inconsistencies > > > in repositories and might be hard to rectify in remote repositories, > > > "burning" release numbers unnecessarily. > > > > > > Back to the topic at hand: Having a way to run all tests for a > > > multi-module project which would build and package perfectly fine when > > > skipping tests, i.e. not either forcing testing to stop for dependent > > > projects (skipping tests there) or making the build falsely report > > > success in the end, is a perfectly valid use case. Who would not like > to > > > have that? Creating a report for all failing tests without cheating the > > > build result to be successful would simply be useful. > > > > > > -- > > > Alexander Kriegisch > > > https://scrum-master.de > > > > > > > > > Tibor Digana schrieb am 06.02.2022 01:45 (GMT +07:00): > > > > > > > It is basically the same feature known in the maven-deploy-plugin > > > > > > > > > > https://maven.apache.org/plugins/maven-deploy-plugin/deploy-mojo.html#deployAtEnd > > > > > > > > Not sure if the command > > > > mvn deploy -DdeployAtEnd > > > > would fail to deploy dependent modules if the first module fails. > > > > > > > > We discussed this feature some time and we said that these features > > > > xxxAtEnd are a hack. > > > > The question is regarding Maven 4 and Maven 5. > > > > > > > > > > > > > > > > > > > > > > > > On Sat, Feb 5, 2022 at 5:27 AM Alexander Kriegisch < > > > alexan...@kriegisch.name> > > > > wrote: > > > > > > > >> I know that this probably is a classic question, because there > > suggested > > > >> answers on Stack Overflow (and maybe also somewhere here in this > > mailing > > > >> list), but I did not found anything satisfying the following > criteria: > > > >> > > > >> 1. Run all Surefire tests, if compilation succeeds, also those of > > > >> dependent modules, even if there are tests with failurer or > > errors. > > > >> (We leave Failsafe out of the picture for now for simplicity's > > > >> sake, but basically the same would apply to Failsafe tests for > > > >> modules which can be compiled and packaged, despite failing > > > >> Surefire tests.) > > > >> > > > >> 2. Fail the multi-module build in the end for all modules with > > failing > > > >> tests. > > > >> > > > >> I know there is '-fae', but it skips modules depending on ones with > > test > > > >> failures. > > > >> > > > >> I know there is '-fn', but it falsely makes the whole build pass. > > > >> > > > >> I know that the Maven build lifecycle is based on module > dependencies > > > >> and that dependent modules usually should not be built, if a > > dependency > > > >> fails to build. But OTOH, the same build would pass with > > '-DskipTests', > > > >> and the requirement that artifacts be compiled and packaged and > > > >> dependent modules built, because those artifacts can in fact be > > compiled > > > >> and packaged, makes practical sense. Basically, the user wants test > > > >> failures reported correctly, but still make sure that as many tests > as > > > >> possible are being run. > > > >> > > > >> Is there any way to achieve that? > > > >> -- > > > >> Alexander Kriegisch > > > >> https://scrum-master.de > > > >> > > > >> > --------------------------------------------------------------------- > > > >> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > > > >> For additional commands, e-mail: users-h...@maven.apache.org > > > >> > > > >> > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > > > For additional commands, e-mail: users-h...@maven.apache.org > > > > > > > > >