${simLog.copyright1}
+${simLog.copyright2}
+| Similarity treshold (lines) | +${maven.simian.linecount} | +
| Total number of duplicate lines | +${simLog.totalDuplicateLineCount} | +
| Total number of duplicate blocks | +${simLog.blockCount} | +
| Total number of files with duplicates | +${simLog.fileWithDuplicateCount} | +
| Total number of processed lines | +${simLog.loc} | +
| Total number of processed files | +${simLog.fileParseCount} | +
| Scan time | +${simLog.time} | +
| Goal | Description |
|---|---|
| maven-simian-plugin | ++ The default goal. This goal generates an xdoc document + containing a Simian report. + | +
+ This plugin generates xdoc documentation containing a + Simian + (Similarity Analyser) report. Simian identifies duplicated lines in + Java and C# source code. Ie. lines of code that occur more than once + across an entire source tree. +
++ Duplicate code should always be refactored. It is therefore recommended + that the maven.simian.failonduplication property be set to true and that the + maven.simian.linecount property be small. This will make it easier + to always have duplicates factored out in the codebase. +
++ As long as this plugin is not a standard Maven plugin, it must + be installed manually. This is very easy. +
+
+ If you have a binary distribution of the plugin, just copy the plugin jar file
+ to your $MAVEN_HOME/plugins directory. and the simian
+ jar file to $MAVEN_HOME/repository/simian/jars.
+
+ If you have a source distribution of the plugin, installing the plugin is just as easy. + Just run +
++ from the root directory of the unpacked distribution. +
++ To enable the plugin add the following to your project.xml's + /project/reports node: +
++ For further details about how to use the plugin, see the + Goals and Properties + pages. +
+| Property | Optional? | Description |
|---|---|---|
| maven.simian.linecount | +Yes (default = 10) | ++ Specifies the minimum number of lines that is considered a match. + | +
| maven.simian.failonduplication | +Yes (default = false) | ++ Specifies whether the build should fail if a match is found. + | +
| maven.simian.ignorestrings | +Yes (default = false) | ++ Ignore strings (Java, C#, C, C++, JavaScript, COBOL): "one" and "two" would both match. + | +
| maven.simian.ignorestringcase | +Yes (default = false) | ++ Ignore string case (Java, C#, C, C++, JavaScript, COBOL): "Hello, World" and "HELLO, WORLD" would both match. + | +
| maven.simian.ignorenumbers | +Yes (default = false) | ++ Ignore numbers (Java, C#, C, C++, JavaScript, COBOL): int x = 1; and int x = 576; would both match. + | +
| maven.simian.ignoresubtypenames | +Yes (default = false) | ++ Ignore subtype names (Java): BufferedReader, StringReader and Reader would all match. + | +
| maven.simian.ignoremodifiers | +Yes (default = false) | ++ Ignore modifiers (Java, C#, C, C++, JavaScript): public, protected, static, etc. + | +