You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Eddie Revell <ed...@6point6.co.uk.INVALID> on 2023/04/03 09:08:32 UTC

Maven Invoker Plugin: Suggested Reporting Improvements

Dear Maven Development Team,

I am a software engineer from a London based technology consultancy called
6point6. We have been using the maven-invoker-plugin to perform integration
tests on a large set of projects, primarily as a means of regression
testing these projects as libraries they depend on are updated. We are
interested in improving the invoker:report goal.

Currently invoker-report.html file output by the invoker:report goal simply
contains the (xml) reports in the {project.build.directory}/invoker-reports
directory. These xml reports themselves contain a link to the invoked
project's build.log as well as a failure reason (if there is one), amongst
other things. This information is useful for monitoring the state of each
build and investigating issues if there are any. We think that a good
addition to these diagnostics would be to include more detail about the
reasons for failure and specific tests run on each project being invoked in
a way similar to the output of a surefire report.

One option would be for the invoker-report.html to include a link to each
invoked project's surefire report (as part of project invocation we would
make sure to include the goal mvn surefire-report:report-only to ensure
this report exists). A drawback to this approach would be the links going
stale if the invoker-report needs to be copied elsewhere.
Alternatively, rather than copy a link over, the actual contents of each
invoked project's surefire report could be copied over into the
invoker-report.html in a suitable manner. This would probably be a bit more
of an involved change, but would have the added benefit of all reporting
information still being contained within one file, which is significantly
more useful if we want to be able to copy this file to other places. This
would be our preferred solution.

We propose the following aspects would be configurable:

   - A boolean for including the surefire reports in the first place.
   - A String for the path to the project's surefire-reports directory,
   which defaults to {project.build.directory}/surefire-reports. This is
   assumed to be the same across all projects being invoked.

The report would still be output in the same place as before, which is
determined by the <reports directory> setting.
The benefit of this change is to produce an easy to read report with the
option to drill into more granular detail of which tests passed/failed
without having to look at the build.log file (which for certain projects
can be very large).

We would love to hear any opinions on this (a "green light", if you will)
and welcome any comments or suggestions before we implement the change.

Thanks,

*Eddie Revell  *
Consultant

[image: 6point6 logo] <https://6point6.co.uk>

T:  +4420 3038 8999 <+4420%203038%208999>

[image: LinkedIn] <https://www.linkedin.com/company/6point6/>  [image:
Twitter] <https://twitter.com/6point6ltd>

6point6.co.uk

We work flexibly at 6point6, but we don’t expect you to respond if it’s
outside your usual schedule.

-- 


DISCLAIMER:



This email, its contents and any attachments are 
confidential and may contain legally privileged and/or proprietary 
information or be otherwise protected from disclosure. It is intended for 
the addressee(s) only. If you are not an intended recipient, please notify 
the sender immediately by return email or phoning +4420 3038 8999 and 
delete any copies of this message. You should not use or copy it in any way 
nor disclose it to any other person. Any unauthorised use, copying or 
disclosure of the material in this email is strictly forbidden. Any views 
or opinions presented are solely those of the author and do not necessarily 
represent those of 6point6 Limited. For the protection of the 6point6 
Limited and its clients and customers, and in accordance with regulatory 
requirements, the contents of both incoming and outgoing email 
communications, which could include proprietary information and non-public 
personal information, may be read by authorised persons within the 6point6 
Limited other than the intended recipient(s). 6point6 Limited does not 
accept any responsibility for changes made to this message after it was 
sent. It is the responsibility of any recipient to ensure that the onward 
transmission, opening or use of this message and any attachments will not 
adversely affect its systems or data. No responsibility is accepted by 
6point6 in this regard and the recipient should carry out such virus and 
other checks as it considers appropriate.

6point6 Limited is a limited 
liability company registered in England and Wales with registered number 
07946687, registered office at 130 Jermyn St, London, England, SW1Y 4UR and 
with a trading address at 130 Jermyn St, London. England, SW1Y 4UR.