diff --git a/jOOQ/pom.xml b/jOOQ/pom.xml
index e6f044d44d..6aa04bcda1 100644
--- a/jOOQ/pom.xml
+++ b/jOOQ/pom.xml
@@ -126,6 +126,22 @@
+
+
+
+ org.apache.maven.plugins
+ maven-pmd-plugin
+ 3.4
+
+
+
+ check
+ cpd-check
+
+
+
+
+
org.apache.maven.plugins
maven-jar-plugin
diff --git a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep1.java b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep1.java
index fca0fb9f3b..bd882e052c 100644
--- a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep1.java
+++ b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep1.java
@@ -42,8 +42,6 @@ package org.jooq;
import javax.annotation.Generated;
-import org.jooq.Support;
-
/**
* The step in the {@link Constraint} construction DSL API that allows for
* matching a FOREIGN KEY clause with a REFERENCES
diff --git a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep10.java b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep10.java
index 7e9b703af5..173532c7df 100644
--- a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep10.java
+++ b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep10.java
@@ -42,8 +42,6 @@ package org.jooq;
import javax.annotation.Generated;
-import org.jooq.Support;
-
/**
* The step in the {@link Constraint} construction DSL API that allows for
* matching a FOREIGN KEY clause with a REFERENCES
diff --git a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep11.java b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep11.java
index 62ca109f3a..304776de25 100644
--- a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep11.java
+++ b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep11.java
@@ -42,8 +42,6 @@ package org.jooq;
import javax.annotation.Generated;
-import org.jooq.Support;
-
/**
* The step in the {@link Constraint} construction DSL API that allows for
* matching a FOREIGN KEY clause with a REFERENCES
diff --git a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep12.java b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep12.java
index 68f872b662..a24221e0c5 100644
--- a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep12.java
+++ b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep12.java
@@ -42,8 +42,6 @@ package org.jooq;
import javax.annotation.Generated;
-import org.jooq.Support;
-
/**
* The step in the {@link Constraint} construction DSL API that allows for
* matching a FOREIGN KEY clause with a REFERENCES
diff --git a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep13.java b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep13.java
index 56bff4ec79..f3480ac9e3 100644
--- a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep13.java
+++ b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep13.java
@@ -42,8 +42,6 @@ package org.jooq;
import javax.annotation.Generated;
-import org.jooq.Support;
-
/**
* The step in the {@link Constraint} construction DSL API that allows for
* matching a FOREIGN KEY clause with a REFERENCES
diff --git a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep14.java b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep14.java
index 57bc2f4ed5..35299a6e09 100644
--- a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep14.java
+++ b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep14.java
@@ -42,8 +42,6 @@ package org.jooq;
import javax.annotation.Generated;
-import org.jooq.Support;
-
/**
* The step in the {@link Constraint} construction DSL API that allows for
* matching a FOREIGN KEY clause with a REFERENCES
diff --git a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep15.java b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep15.java
index 66679c97b6..13539e161f 100644
--- a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep15.java
+++ b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep15.java
@@ -42,8 +42,6 @@ package org.jooq;
import javax.annotation.Generated;
-import org.jooq.Support;
-
/**
* The step in the {@link Constraint} construction DSL API that allows for
* matching a FOREIGN KEY clause with a REFERENCES
diff --git a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep16.java b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep16.java
index df7ffffddf..8687991e2a 100644
--- a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep16.java
+++ b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep16.java
@@ -42,8 +42,6 @@ package org.jooq;
import javax.annotation.Generated;
-import org.jooq.Support;
-
/**
* The step in the {@link Constraint} construction DSL API that allows for
* matching a FOREIGN KEY clause with a REFERENCES
diff --git a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep17.java b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep17.java
index 9caa66abf0..65ab94caf4 100644
--- a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep17.java
+++ b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep17.java
@@ -42,8 +42,6 @@ package org.jooq;
import javax.annotation.Generated;
-import org.jooq.Support;
-
/**
* The step in the {@link Constraint} construction DSL API that allows for
* matching a FOREIGN KEY clause with a REFERENCES
diff --git a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep18.java b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep18.java
index 581c1a887d..5cfb50db18 100644
--- a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep18.java
+++ b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep18.java
@@ -42,8 +42,6 @@ package org.jooq;
import javax.annotation.Generated;
-import org.jooq.Support;
-
/**
* The step in the {@link Constraint} construction DSL API that allows for
* matching a FOREIGN KEY clause with a REFERENCES
diff --git a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep19.java b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep19.java
index 9210a0a8e7..403fc19bfd 100644
--- a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep19.java
+++ b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep19.java
@@ -42,8 +42,6 @@ package org.jooq;
import javax.annotation.Generated;
-import org.jooq.Support;
-
/**
* The step in the {@link Constraint} construction DSL API that allows for
* matching a FOREIGN KEY clause with a REFERENCES
diff --git a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep2.java b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep2.java
index 7b17bcd3a1..68702af216 100644
--- a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep2.java
+++ b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep2.java
@@ -42,8 +42,6 @@ package org.jooq;
import javax.annotation.Generated;
-import org.jooq.Support;
-
/**
* The step in the {@link Constraint} construction DSL API that allows for
* matching a FOREIGN KEY clause with a REFERENCES
diff --git a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep20.java b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep20.java
index 994e8d6502..1ab7641630 100644
--- a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep20.java
+++ b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep20.java
@@ -42,8 +42,6 @@ package org.jooq;
import javax.annotation.Generated;
-import org.jooq.Support;
-
/**
* The step in the {@link Constraint} construction DSL API that allows for
* matching a FOREIGN KEY clause with a REFERENCES
diff --git a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep21.java b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep21.java
index b753258d2b..cbfa2e7850 100644
--- a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep21.java
+++ b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep21.java
@@ -42,8 +42,6 @@ package org.jooq;
import javax.annotation.Generated;
-import org.jooq.Support;
-
/**
* The step in the {@link Constraint} construction DSL API that allows for
* matching a FOREIGN KEY clause with a REFERENCES
diff --git a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep22.java b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep22.java
index b04506961d..b5592d6be1 100644
--- a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep22.java
+++ b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep22.java
@@ -42,8 +42,6 @@ package org.jooq;
import javax.annotation.Generated;
-import org.jooq.Support;
-
/**
* The step in the {@link Constraint} construction DSL API that allows for
* matching a FOREIGN KEY clause with a REFERENCES
diff --git a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep3.java b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep3.java
index c9cb81e4d3..6880c9c6b5 100644
--- a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep3.java
+++ b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep3.java
@@ -42,8 +42,6 @@ package org.jooq;
import javax.annotation.Generated;
-import org.jooq.Support;
-
/**
* The step in the {@link Constraint} construction DSL API that allows for
* matching a FOREIGN KEY clause with a REFERENCES
diff --git a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep4.java b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep4.java
index 35c77bf035..0d8dab5652 100644
--- a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep4.java
+++ b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep4.java
@@ -42,8 +42,6 @@ package org.jooq;
import javax.annotation.Generated;
-import org.jooq.Support;
-
/**
* The step in the {@link Constraint} construction DSL API that allows for
* matching a FOREIGN KEY clause with a REFERENCES
diff --git a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep5.java b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep5.java
index b41a68d147..9eabf67cba 100644
--- a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep5.java
+++ b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep5.java
@@ -42,8 +42,6 @@ package org.jooq;
import javax.annotation.Generated;
-import org.jooq.Support;
-
/**
* The step in the {@link Constraint} construction DSL API that allows for
* matching a FOREIGN KEY clause with a REFERENCES
diff --git a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep6.java b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep6.java
index 3e020a7485..42dea37ac8 100644
--- a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep6.java
+++ b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep6.java
@@ -42,8 +42,6 @@ package org.jooq;
import javax.annotation.Generated;
-import org.jooq.Support;
-
/**
* The step in the {@link Constraint} construction DSL API that allows for
* matching a FOREIGN KEY clause with a REFERENCES
diff --git a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep7.java b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep7.java
index d65f69f409..94844d160d 100644
--- a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep7.java
+++ b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep7.java
@@ -42,8 +42,6 @@ package org.jooq;
import javax.annotation.Generated;
-import org.jooq.Support;
-
/**
* The step in the {@link Constraint} construction DSL API that allows for
* matching a FOREIGN KEY clause with a REFERENCES
diff --git a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep8.java b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep8.java
index bc36654e7a..3ab387b199 100644
--- a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep8.java
+++ b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep8.java
@@ -42,8 +42,6 @@ package org.jooq;
import javax.annotation.Generated;
-import org.jooq.Support;
-
/**
* The step in the {@link Constraint} construction DSL API that allows for
* matching a FOREIGN KEY clause with a REFERENCES
diff --git a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep9.java b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep9.java
index 64464f251c..d565e0f226 100644
--- a/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep9.java
+++ b/jOOQ/src/main/java/org/jooq/ConstraintForeignKeyReferencesStep9.java
@@ -42,8 +42,6 @@ package org.jooq;
import javax.annotation.Generated;
-import org.jooq.Support;
-
/**
* The step in the {@link Constraint} construction DSL API that allows for
* matching a FOREIGN KEY clause with a REFERENCES