Maven plugin


This document describes Judy plugin for Maven tool.

Goals

Quick Start

To quickly use Judy in Maven it should add plugin to pom.xml file.

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>commons-cli</groupId>
    <artifactId>commons-cli</artifactId>
    <version>1.4-SNAPSHOT</version>

    <build>
        <plugins>
             <plugin>
                <groupId>pl.edu.pwr.judy</groupId>
                <artifactId>judy-maven</artifactId>
                <version>3.0.0-M1</version>
            </plugin>
        </plugins>
    </build>
</project>

To run Judy call analyze goal. Judy needs compiled classes and tests so build is recommended too.

mvm compile judy:analyze

Advanced capabilities

To change the Judy parameter should add configuration node. It is possible using short name of parameter.

 <plugin>
     <groupId>pl.edu.pwr.judy</groupId>
     <artifactId>judy-maven</artifactId>
     <version>3.0.0-M1</version>
     <configuration>
         <judy>
             <production-files>${project.build.directory}/classes</production-files>
             <test-files>${project.build.directory}/test-classes</test-files>
             <result-path>${project.build.directory}/judy.json</result-path>
         </judy>
     </configuration>
 </plugin>

Arguments: production-files, test-files and result-path are set by default. Full list of arguments is available in help goal.

help goal

Example result of help goal

[INFO] Option                         Description                                      
[INFO] ------                         -----------                                      
[INFO] -h, --help                     Print a brief help message.                      
[INFO] -l, --libraries <path>         Path to the library directory.                   
[INFO] -p, --production-files <path>  Path to the production classes directory.        
[INFO] --plugin-manager <class name>  Set a plugin manager. (default: pl.edu.pwr.judy. 
[INFO]                                  plugin.SimplePluginManager)                    
[INFO] -r, --production-file-regex    Regex that filters production files.             
[INFO] --result-format                Format of the result output file. (default: json)
[INFO] --result-path                  Location of the result output file. (default:    
[INFO]                                  result.json)                                   
[INFO] -t, --test-files <path>        Path to the test classes directory.              
[INFO] --test-file-regex              Regex that filters test files.  

Example

Example configuration and result of mutation testing using Judy Maven Plugin