Bug 568879: [Build] add checkstyle support

  add checkstyle to IDE and maven verify goal

Change-Id: Ida75515a46850b80db51e8e88f3b79fbc8077a59
diff --git a/plugins/org.eclipse.skills.dependencies/.checkstyle b/plugins/org.eclipse.skills.dependencies/.checkstyle
new file mode 100644
index 0000000..00ff296
--- /dev/null
+++ b/plugins/org.eclipse.skills.dependencies/.checkstyle
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+  <local-check-config name="Skills Checkstyle" location="/org.eclipse.skills.releng/checkstyle/checkstyle_rules.xml" type="project" description="">
+    <additional-data name="protect-config-file" value="false"/>
+  </local-check-config>
+  <fileset name="All files" enabled="true" check-config-name="Skills Checkstyle" local="true">
+    <file-match-pattern match-pattern=".java$" include-pattern="true"/>
+  </fileset>
+  <filter name="NonSrcDirs" enabled="false"/>
+</fileset-config>
diff --git a/plugins/org.eclipse.skills.dependencies/.project b/plugins/org.eclipse.skills.dependencies/.project
index c5eb1db..23cc9a6 100644
--- a/plugins/org.eclipse.skills.dependencies/.project
+++ b/plugins/org.eclipse.skills.dependencies/.project
@@ -30,11 +30,17 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>ch.acanda.eclipse.pmd.builder.PMDNature</nature>
 		<nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
 	</natures>
 </projectDescription>
diff --git a/plugins/org.eclipse.skills.ui.questeditor/.checkstyle b/plugins/org.eclipse.skills.ui.questeditor/.checkstyle
new file mode 100644
index 0000000..00ff296
--- /dev/null
+++ b/plugins/org.eclipse.skills.ui.questeditor/.checkstyle
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+  <local-check-config name="Skills Checkstyle" location="/org.eclipse.skills.releng/checkstyle/checkstyle_rules.xml" type="project" description="">
+    <additional-data name="protect-config-file" value="false"/>
+  </local-check-config>
+  <fileset name="All files" enabled="true" check-config-name="Skills Checkstyle" local="true">
+    <file-match-pattern match-pattern=".java$" include-pattern="true"/>
+  </fileset>
+  <filter name="NonSrcDirs" enabled="false"/>
+</fileset-config>
diff --git a/plugins/org.eclipse.skills.ui.questeditor/.project b/plugins/org.eclipse.skills.ui.questeditor/.project
index 7e831bb..f8a2a6e 100644
--- a/plugins/org.eclipse.skills.ui.questeditor/.project
+++ b/plugins/org.eclipse.skills.ui.questeditor/.project
@@ -35,11 +35,17 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>ch.acanda.eclipse.pmd.builder.PMDNature</nature>
 		<nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
 	</natures>
 </projectDescription>
diff --git a/plugins/org.eclipse.skills/.checkstyle b/plugins/org.eclipse.skills/.checkstyle
new file mode 100644
index 0000000..537c805
--- /dev/null
+++ b/plugins/org.eclipse.skills/.checkstyle
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+  <local-check-config name="Skills Checkstyle" location="/org.eclipse.skills.releng/checkstyle/checkstyle_rules.xml" type="project" description="">
+    <additional-data name="protect-config-file" value="false"/>
+  </local-check-config>
+  <fileset name="All files" enabled="true" check-config-name="Skills Checkstyle" local="true">
+    <file-match-pattern match-pattern=".java$" include-pattern="true"/>
+    <file-match-pattern match-pattern="org.eclipse.skills.model.*$" include-pattern="false"/>
+  </fileset>
+  <filter name="NonSrcDirs" enabled="false"/>
+</fileset-config>
diff --git a/plugins/org.eclipse.skills/.project b/plugins/org.eclipse.skills/.project
index 7bea1a4..14b0ee0 100644
--- a/plugins/org.eclipse.skills/.project
+++ b/plugins/org.eclipse.skills/.project
@@ -30,6 +30,11 @@
 			<arguments>

 			</arguments>

 		</buildCommand>

+		<buildCommand>

+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>

+			<arguments>

+			</arguments>

+		</buildCommand>

 	</buildSpec>

 	<natures>

 		<nature>org.eclipse.sirius.nature.modelingproject</nature>

@@ -37,5 +42,6 @@
 		<nature>org.eclipse.pde.PluginNature</nature>

 		<nature>ch.acanda.eclipse.pmd.builder.PMDNature</nature>

 		<nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature>

+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>

 	</natures>

 </projectDescription>

diff --git a/releng/org.eclipse.skills.releng/checkstyle/checkstyle_rules.xml b/releng/org.eclipse.skills.releng/checkstyle/checkstyle_rules.xml
index d29ad3f..894e448 100644
--- a/releng/org.eclipse.skills.releng/checkstyle/checkstyle_rules.xml
+++ b/releng/org.eclipse.skills.releng/checkstyle/checkstyle_rules.xml
@@ -39,6 +39,8 @@
 
       <property name="basedir" value="${basedir}"/>
   -->
+  <!--  
+  -->
   <property name="severity" value="warning"/>
 
   <property name="fileExtensions" value="java, properties, xml"/>
@@ -51,7 +53,7 @@
 
   <!-- https://checkstyle.org/config_filters.html#SuppressionFilter -->
   <module name="SuppressionFilter">
-    <property name="file" value="${org.checkstyle.sun.suppressionfilter.config}"
+    <property name="file" value="checkstyle-suppressions.xml"
               default="checkstyle-suppressions.xml" />
     <property name="optional" value="true"/>
   </module>
@@ -207,7 +209,7 @@
 
     <!-- https://checkstyle.org/config_filters.html#SuppressionXpathFilter -->
     <module name="SuppressionXpathFilter">
-      <property name="file" value="${org.checkstyle.sun.suppressionxpathfilter.config}"
+      <property name="file" value="checkstyle-xpath-suppressions.xml"
                 default="checkstyle-xpath-suppressions.xml" />
       <property name="optional" value="true"/>
     </module>
diff --git a/releng/org.eclipse.skills.releng/pom.xml b/releng/org.eclipse.skills.releng/pom.xml
index 9178212..47a66dd 100644
--- a/releng/org.eclipse.skills.releng/pom.xml
+++ b/releng/org.eclipse.skills.releng/pom.xml
@@ -100,6 +100,27 @@
 				</configuration>
 			</plugin>
 
+			<!-- enable checkstyle code analysis -->
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-checkstyle-plugin</artifactId>
+				<version>${maven.checkstyle.version}</version>
+				<configuration>
+					<configLocation>../../releng/org.eclipse.skills.releng/checkstyle/checkstyle_rules.xml</configLocation>
+					<linkXRef>false</linkXRef>
+				</configuration>
+
+				<executions>
+					<execution>
+						<id>checkstyle-integration</id>
+						<phase>verify</phase>
+						<goals>
+							<goal>check</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+
 			<!-- enable spotbugs code analysis -->
 			<plugin>
 				<groupId>com.github.spotbugs</groupId>
@@ -144,17 +165,6 @@
 				</executions>
 			</plugin>
 
-			<!-- enable checkstyle code analysis -->
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-checkstyle-plugin</artifactId>
-				<version>${maven.checkstyle.version}</version>
-				<configuration>
-					<configLocation>../../releng/org.eclipse.skills.releng/checkstyle/checkstyle_rules.xml</configLocation>
-					<linkXRef>false</linkXRef>
-				</configuration>
-			</plugin>
-
 			<!-- enable tycho build extension -->
 			<plugin>
 				<groupId>org.eclipse.tycho</groupId>
diff --git a/tests/org.eclipse.skills.dependencies.test/.checkstyle b/tests/org.eclipse.skills.dependencies.test/.checkstyle
new file mode 100644
index 0000000..00ff296
--- /dev/null
+++ b/tests/org.eclipse.skills.dependencies.test/.checkstyle
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+  <local-check-config name="Skills Checkstyle" location="/org.eclipse.skills.releng/checkstyle/checkstyle_rules.xml" type="project" description="">
+    <additional-data name="protect-config-file" value="false"/>
+  </local-check-config>
+  <fileset name="All files" enabled="true" check-config-name="Skills Checkstyle" local="true">
+    <file-match-pattern match-pattern=".java$" include-pattern="true"/>
+  </fileset>
+  <filter name="NonSrcDirs" enabled="false"/>
+</fileset-config>
diff --git a/tests/org.eclipse.skills.dependencies.test/.project b/tests/org.eclipse.skills.dependencies.test/.project
index 15b286d..a4c38db 100644
--- a/tests/org.eclipse.skills.dependencies.test/.project
+++ b/tests/org.eclipse.skills.dependencies.test/.project
@@ -30,11 +30,17 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>ch.acanda.eclipse.pmd.builder.PMDNature</nature>
 		<nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
 	</natures>
 </projectDescription>
diff --git a/tests/org.eclipse.skills.test/.checkstyle b/tests/org.eclipse.skills.test/.checkstyle
new file mode 100644
index 0000000..00ff296
--- /dev/null
+++ b/tests/org.eclipse.skills.test/.checkstyle
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+  <local-check-config name="Skills Checkstyle" location="/org.eclipse.skills.releng/checkstyle/checkstyle_rules.xml" type="project" description="">
+    <additional-data name="protect-config-file" value="false"/>
+  </local-check-config>
+  <fileset name="All files" enabled="true" check-config-name="Skills Checkstyle" local="true">
+    <file-match-pattern match-pattern=".java$" include-pattern="true"/>
+  </fileset>
+  <filter name="NonSrcDirs" enabled="false"/>
+</fileset-config>
diff --git a/tests/org.eclipse.skills.test/.project b/tests/org.eclipse.skills.test/.project
index 2f6349a..5fb09b3 100644
--- a/tests/org.eclipse.skills.test/.project
+++ b/tests/org.eclipse.skills.test/.project
@@ -30,11 +30,17 @@
 			<arguments>
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 		<nature>ch.acanda.eclipse.pmd.builder.PMDNature</nature>
 		<nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
 	</natures>
 </projectDescription>