Creating an XDoc File Using JSL

This lab continues with the Logifier plug-in by adding a maven-logifier-plugin:report goal that transforms the XML debug log generated by the logifier:logify goal into XDoc format. You will use JSL and the XDoc plug-in to perform this magical feat.

How do I do that?

The XDoc plug-in provides a jsl tag that you can use to apply a JSL transformation on an XML file. The following report generation goal uses this jsl tag to transform the Logifier log file to XDoc:

  <goal name="maven-logifier-plugin:report" prereqs="logifier:logify">
    <doc:jsl
               input="${mdn.logifier.logfile}"
        output="logifier-report.xml"
        stylesheet="${plugin.resources}/template/logifier.jsl"
        outputMode="xml"/>
  </goal>

The input attribute points to the XML file you wish to transform—in this case the log file generated by Logifier. As an experienced plug-in writer, you've created a new mdn.logifier.logfile property which points to the location where the Logging Aspect has generated its XML logs. Logifier defines a default value for mdn.logifier.logfile in plugin.properties as follows:

mdn.logifier.logfile = ${maven.build.dir}/logifier.xml

The output attribute is the XDoc file that will be generated by the JSL transformation. Notice that you have used a filename (logifier-report.xml) that matches the link attribute used earlier in the maven-logifier-plugin:register goal:

 <doc:registerReport name="Logifier" pluginName="maven-logifier-plugin" description= "Report showing all debugging logs generated ...

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.