Best practice is to define the version of the Cakupan plugin that you want to use in either your pom.xml or a parent pom.xml

<project>
  [...]
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
         <groupId>org.nuessler.maven.plugins</groupId>
         <artifactId>cakupan-maven-plugin</artifactId>
         <version>0.7-SNAPSHOT</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
  [...]
</project>

The plugin can be invoked by calling

mvn org.nuessler.maven.plugins:cakupan-maven-plugin:0.7-SNAPSHOT:cakupan

The long command line is required because Maven is by default only searching the standard plugin groups when given only the plugin prefix. Please refer to the Maven documentation for details.

It is possible to shorten the commandline by adding the group ID of the Cakupan plugin to the list of groupIds searched by default. To do this, you need to add the following to your ${user.home}/.m2/settings.xml file:

<pluginGroups>
  <pluginGroup>org.nuessler.maven.plugins</pluginGroup>
</pluginGroups>

Then it is possible to invoke the Cakupan plugin by calling

mvn cakupan:cakupan

By default, the plugin will instrument all XSLT files matching the wildcard pattern **/*.xsl and run all JUnit tests matching the wildcard patterns **/*TransformationTest.java and **/*XsltTest.java.