Writing a Plug-in That Generates Reports
Throughout this book you have used several Maven plug-ins that generate reports when you type
maven site
(Checkstyle, Dashboard,
JUnit, etc.). Wouldn't it be nice if you could add your own report type
that users of your plug-in could add to their reports
section in the POM? In this lab you'll
add a report that displays the logs generated by the Logging Aspect of
your Logifier plug-in.
How do I do that?
Any plug-in can generate a report. All you need to do is define
three goals in your plug-in's plugin.jelly file. Assuming you want to
name the report maven-logifier-plugin
, these goals
are:
maven-logifier-plugin:register
maven-logifier-plugin:deregister
maven-logifier-plugin:report
Have a look at how to implement the maven-logifier-plugin:register
goal:
<?xml version="1.0"?> <project xmlns:j="jelly:core" xmlns:ant="jelly:ant" xmlns:maven="jelly:maven" xmlns:doc="doc"> [...] <goal name="maven-logifier-plugin:register"> <doc:registerReport name="Logifier" pluginName="maven-logifier-plugin" description= "Report showing all debugging logs generated by the Logging Aspect" link="logifier-report"/> </goal>
You need to understand how the maven-logifier-plugin:register
goal fits in
the report generation lifecycle. It is called by the XDoc plug-in when
the user types maven site
(as
you'll recall, the XDoc plug-in is used by the Site plug-in). The XDoc
plug-in gets the list of reports defined in the reports
section of the POM (as seen in Section 1.1) and calls ...
Get Maven: A Developer's Notebook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.