diff --git a/CHANGELOG.md b/CHANGELOG.md index 228c15c..f0072f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # Change log ## Release in-progress +* Default QA plugins to ignore generated code #61 * Update OWASP plugin skip property default to use bt.qa.skip #79 * Move enforcer convergence check into verify phase. Can be skipped using bt.convergence.check.skip=true property. #78 * Move versions-maven-plugin into a profile display-versions to allow projects to opt in or out #74 diff --git a/README.md b/README.md index dd294b0..3024fb0 100644 --- a/README.md +++ b/README.md @@ -151,6 +151,32 @@ By default qa checks (i.e. Checkstyle, PMD, Spotbugs, OWASP, Convergence Check) ``` +#### Generated Sources + +By default, qa-parent configures the code analysis plugins to ignore generated source code and only analyse the project's main source directory. + +The following properties are set in qa-parent for Checkstyle and PMD: + +``` xml + + ${project.build.sourceDirectory} + ${project.build.sourceDirectory} + +``` + +Spotbugs is different from Checkstyle and PMD as it requires an exclude filter to be configured to ignore generated files. + +The following properties are set in qa-parent for Spotbugs: + +``` xml + + + bordertech/bt-spotbugs-exclude-generated-files.xml + + true + +``` + #### Checkstyle Refer to [Checkstyle plugin](https://maven.apache.org/plugins/maven-checkstyle-plugin) for all override details. @@ -289,6 +315,16 @@ Example filter file:- ``` +When adding a custom exclude filter and the module still needs to ignore generated source, then merge the excludes used in the default filter [bt-spotbugs-exclude-generated-files](https://github.com/BorderTech/java-common/blob/master/build-tools/src/main/resources/bordertech/bt-spotbugs-exclude-generated-files.xml): + +``` + + + + + +``` + #### OWASP Refer to [OWASP plugin](https://jeremylong.github.io/DependencyCheck/dependency-check-maven) for all override details. diff --git a/build-tools/src/main/resources/bordertech/bt-spotbugs-exclude-generated-files.xml b/build-tools/src/main/resources/bordertech/bt-spotbugs-exclude-generated-files.xml new file mode 100644 index 0000000..b74a99a --- /dev/null +++ b/build-tools/src/main/resources/bordertech/bt-spotbugs-exclude-generated-files.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/qa-parent/pom.xml b/qa-parent/pom.xml index 2530a77..6528da2 100644 --- a/qa-parent/pom.xml +++ b/qa-parent/pom.xml @@ -31,6 +31,8 @@ bordertech/bt-checkstyle.xml + + ${project.build.sourceDirectory} true @@ -39,6 +41,8 @@ true bordertech/bt-pmd-rules.xml + + ${project.build.sourceDirectory} false @@ -49,6 +53,11 @@ Medium 14 + + + bordertech/bt-spotbugs-exclude-generated-files.xml + + true @@ -199,6 +208,11 @@ org.apache.maven.plugins maven-checkstyle-plugin ${bt.checkstyle.plugin.version} + + + ${bt.checkstyle.src} + + @@ -233,6 +247,7 @@ ${bt.pmd.rules.file} + ${bt.pmd.src}