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}