You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by oa...@apache.org on 2019/12/13 13:00:42 UTC

[camel-kafka-connector] 01/01: Add checkstyle profile and rename sub modules in poms

This is an automated email from the ASF dual-hosted git repository.

oalsafi pushed a commit to branch add-checkstyle
in repository https://gitbox.apache.org/repos/asf/camel-kafka-connector.git

commit 08749ea487f6ff80ab6fe5727e7284b19921b946
Author: Omar Al-Safi <om...@gmail.com>
AuthorDate: Fri Dec 13 13:59:52 2019 +0100

    Add checkstyle profile and rename sub modules in poms
---
 buildingtools/.flattened-pom.xml                   | 133 ++++++++
 buildingtools/META-INF/LICENSE                     | 202 +++++++++++
 buildingtools/META-INF/NOTICE                      |  70 ++++
 buildingtools/java9-maven-settings                 |   2 +
 buildingtools/java9-maven-settings.bat             |  18 +
 buildingtools/pom.xml                              | 110 ++++++
 buildingtools/src/main/resources/META-INF/LICENSE  | 202 +++++++++++
 buildingtools/src/main/resources/META-INF/NOTICE   |  70 ++++
 .../resources/camel-checkstyle-suppressions.xml    |  63 ++++
 .../src/main/resources/camel-checkstyle.xml        | 380 +++++++++++++++++++++
 .../src/main/resources/camel-eclipse-checkstyle    |  27 ++
 buildingtools/src/main/resources/camel-eclipse-pmd |  23 ++
 .../src/main/resources/camel-pmd-ruleset.xml       | 206 +++++++++++
 buildingtools/src/main/resources/header-java.txt   |  16 +
 .../src/main/resources/header-properties.txt       |  16 +
 buildingtools/src/main/resources/header-xml.txt    |  18 +
 buildingtools/src/main/resources/header.txt        |  14 +
 .../license-properties-headerdefinition.xml        |  30 ++
 .../src/main/resources/notice-supplements.xml      | 215 ++++++++++++
 core/pom.xml                                       |   2 +-
 parent/pom.xml                                     |   9 +-
 pom.xml                                            |   3 +-
 tests/pom.xml                                      |   2 +-
 23 files changed, 1824 insertions(+), 7 deletions(-)

diff --git a/buildingtools/.flattened-pom.xml b/buildingtools/.flattened-pom.xml
new file mode 100644
index 0000000..947ee53
--- /dev/null
+++ b/buildingtools/.flattened-pom.xml
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel</artifactId>
+    <version>3.1.0-SNAPSHOT</version>
+  </parent>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-buildtools</artifactId>
+  <version>3.1.0-SNAPSHOT</version>
+  <name>Camel :: Buildtools</name>
+  <description>The build tools for the Apache Camel project</description>
+  <licenses>
+    <license>
+      <name>Apache License, Version 2.0</name>
+      <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <properties>
+    <maven.test.skip>true</maven.test.skip>
+  </properties>
+  <build>
+    <resources>
+      <resource>
+        <filtering>true</filtering>
+        <directory>src/main/resources</directory>
+      </resource>
+    </resources>
+    <plugins>
+      <plugin>
+        <artifactId>maven-remote-resources-plugin</artifactId>
+        <configuration>
+          <skip>true</skip>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>com.mycila</groupId>
+        <artifactId>license-maven-plugin</artifactId>
+        <version>${mycila-license-version}</version>
+        <executions>
+          <execution>
+            <id>default-cli</id>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>format</goal>
+            </goals>
+            <configuration>
+              <header>src/main/resources/header.txt</header>
+              <includes>
+                <include>**/header-java.txt</include>
+                <include>**/header-properties.txt</include>
+                <include>**/header-xml.txt</include>
+              </includes>
+              <mapping>
+                <header-java.txt>SLASHSTAR_STYLE</header-java.txt>
+                <header-properties.txt>CAMEL_PROPERTIES_STYLE</header-properties.txt>
+                <header-xml.txt>XML_STYLE</header-xml.txt>
+              </mapping>
+              <headerDefinitions>
+                <headerDefinition>src/main/resources/license-properties-headerdefinition.xml</headerDefinition>
+              </headerDefinitions>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.gmavenplus</groupId>
+        <artifactId>gmavenplus-plugin</artifactId>
+        <version>${gmavenplus-plugin-version}</version>
+        <executions>
+          <execution>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>execute</goal>
+            </goals>
+            <configuration>
+              <scripts>
+                <script>import groovy.xml.XmlUtil
+                                    project.properties['header-java'] = XmlUtil.escapeXml(new File(project.basedir, 'src/main/resources/header-java.txt').text.replace('\r', '').replace('\n', '\\n'))
+                                    project.properties['header-properties'] = XmlUtil.escapeXml(new File(project.basedir, 'src/main/resources/header-properties.txt').text.replace('\r', '').replace('\n', '\\n'))
+                                    project.properties['header-xml'] = XmlUtil.escapeXml(new File(project.basedir, 'src/main/resources/header-xml.txt').text.replace('\r', '').replaceAll('(.*)\n', '^\\\\Q$1\\\\E\\$\\\\n'))</script>
+              </scripts>
+            </configuration>
+          </execution>
+        </executions>
+        <dependencies>
+          <dependency>
+            <groupId>org.codehaus.groovy</groupId>
+            <artifactId>groovy-ant</artifactId>
+            <version>${groovy-version}</version>
+            <scope>runtime</scope>
+          </dependency>
+          <dependency>
+            <groupId>org.codehaus.groovy</groupId>
+            <artifactId>groovy-xml</artifactId>
+            <version>${groovy-version}</version>
+            <scope>runtime</scope>
+          </dependency>
+        </dependencies>
+      </plugin>
+      <plugin>
+        <artifactId>maven-resources-plugin</artifactId>
+        <configuration>
+          <delimiters>
+            <delimiter>${*}</delimiter>
+          </delimiters>
+          <useDefaultDelimiters>false</useDefaultDelimiters>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>
diff --git a/buildingtools/META-INF/LICENSE b/buildingtools/META-INF/LICENSE
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/buildingtools/META-INF/LICENSE
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/buildingtools/META-INF/NOTICE b/buildingtools/META-INF/NOTICE
new file mode 100644
index 0000000..064a0fe
--- /dev/null
+++ b/buildingtools/META-INF/NOTICE
@@ -0,0 +1,70 @@
+// ------------------------------------------------------------------
+// NOTICE file corresponding to the section 4d of The Apache License,
+// Version 2.0, in this case for Apache CXF Buildtools
+// ------------------------------------------------------------------
+
+Apache CXF Buildtools
+Copyright 2006-2007 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+
+This product includes/uses software, Maven Profile Model (http://maven.apache.org/maven-profile),
+developed by Apache Software Foundation  (http://www.apache.org/)
+License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+This product includes/uses software, Unnamed - junit:junit:jar:3.8.1
+
+This product includes/uses software, Default Plexus Container,
+developed by Codehaus  (http://www.codehaus.org/)
+
+This product includes/uses software, Maven Project Builder (http://maven.apache.org/maven-project),
+developed by Apache Software Foundation  (http://www.apache.org/)
+License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+This product includes/uses software, Maven Local Settings Model (http://maven.apache.org/maven-settings),
+developed by Apache Software Foundation  (http://www.apache.org/)
+License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+This product includes/uses software, classworlds (http://classworlds.codehaus.org/),
+developed by The Codehaus  (http://codehaus.org/)
+
+This product includes/uses software, Plexus Common Utilities,
+developed by Codehaus  (http://www.codehaus.org/)
+License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+This product includes/uses software, Maven Repository Metadata Model (http://maven.apache.org/maven-repository-metadata),
+developed by Apache Software Foundation  (http://www.apache.org/)
+License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+This product includes/uses software, Unnamed - jdom:jdom:jar:1.0
+
+This product includes/uses software, Maven Model (http://maven.apache.org/maven-model),
+developed by Apache Software Foundation  (http://www.apache.org/)
+License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+This product includes/uses software, ASM All (http://asm.objectweb.org/asm-all),
+developed by ObjectWeb  (http://www.objectweb.org/)
+
+This product includes/uses software, Maven Artifact (http://maven.apache.org/maven-artifact),
+developed by Apache Software Foundation  (http://www.apache.org/)
+License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+This product includes/uses software, Maven Artifact Manager (http://maven.apache.org/maven-artifact-manager),
+developed by Apache Software Foundation  (http://www.apache.org/)
+License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+This product includes/uses software, Maven Plugin API (http://maven.apache.org/maven-plugin-api),
+developed by Apache Software Foundation  (http://www.apache.org/)
+License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+This product includes/uses software, shade-maven-plugin (http://mojo.codehaus.org/shade-maven-plugin),
+developed by Codehaus  (http://codehaus.org)
+
+This product includes/uses software, Maven Wagon API (http://maven.apache.org/wagon/wagon-provider-api),
+developed by Apache Software Foundation  (http://www.apache.org/)
+License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+
+
diff --git a/buildingtools/java9-maven-settings b/buildingtools/java9-maven-settings
new file mode 100755
index 0000000..7e02947
--- /dev/null
+++ b/buildingtools/java9-maven-settings
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+export MAVEN_OPTS="--add-modules java.activation,java.xml.bind --add-exports=java.xml/com.sun.org.apache.xml.internal.resolver.tools=ALL-UNNAMED --add-exports=java.xml/com.sun.org.apache.xml.internal.resolver=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED --add-opens java.desktop/java.awt.font=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED  --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.util.reg [...]
diff --git a/buildingtools/java9-maven-settings.bat b/buildingtools/java9-maven-settings.bat
new file mode 100644
index 0000000..eedfe0e
--- /dev/null
+++ b/buildingtools/java9-maven-settings.bat
@@ -0,0 +1,18 @@
+@REM
+@REM Licensed to the Apache Software Foundation (ASF) under one or more
+@REM contributor license agreements.  See the NOTICE file distributed with
+@REM this work for additional information regarding copyright ownership.
+@REM The ASF licenses this file to You under the Apache License, Version 2.0
+@REM (the "License"); you may not use this file except in compliance with
+@REM the License.  You may obtain a copy of the License at
+@REM
+@REM      http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing, software
+@REM distributed under the License is distributed on an "AS IS" BASIS,
+@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@REM See the License for the specific language governing permissions and
+@REM limitations under the License.
+@REM
+
+set MAVEN_OPTS="--add-modules java.activation --add-exports=java.xml/com.sun.org.apache.xml.internal.resolver.tools=ALL-UNNAMED --add-exports=java.xml/com.sun.org.apache.xml.internal.resolver=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED --add-opens java.desktop/java.awt.font=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED  --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED -- [...]
\ No newline at end of file
diff --git a/buildingtools/pom.xml b/buildingtools/pom.xml
new file mode 100644
index 0000000..b65565d
--- /dev/null
+++ b/buildingtools/pom.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.camel.kafkaconnector</groupId>
+        <artifactId>parent</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+        <relativePath>../parent/pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-buildtools</artifactId>
+
+    <name>Camel-Kafka-Connector :: Buildtools</name>
+    <description>The build tools for the Apache Camel Kafka Connect project</description>
+
+    <properties>
+        <maven.test.skip>true</maven.test.skip>
+    </properties>
+
+    <build>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <filtering>true</filtering>
+            </resource>
+        </resources>
+        <plugins>
+            <plugin>
+                <artifactId>maven-remote-resources-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+            <plugin><!--
+                     This updates header-*.txt with the content of
+                     header.txt and the appropriate formatting for
+                     the specific style.
+                     So edit header.txt (if you must) and header-*
+                     files in src/main/resources will be updated.
+                -->
+                <groupId>com.mycila</groupId>
+                <artifactId>license-maven-plugin</artifactId>
+                <version>${mycila-license-version}</version>
+                <executions>
+                    <execution>
+                        <id>default-cli</id>
+                        <phase>generate-resources</phase>
+                        <goals>
+                            <goal>format</goal>
+                        </goals>
+                        <configuration>
+                            <header>src/main/resources/header.txt</header>
+                            <includes>
+                                <include>**/header-java.txt</include>
+                                <include>**/header-properties.txt</include>
+                                <include>**/header-xml.txt</include>
+                            </includes>
+                            <mapping>
+                                <header-java.txt>SLASHSTAR_STYLE</header-java.txt>
+                                <header-properties.txt>CAMEL_PROPERTIES_STYLE</header-properties.txt>
+                                <header-xml.txt>XML_STYLE</header-xml.txt>
+                            </mapping>
+                            <headerDefinitions>
+                                <!-- custom style for properties files -->
+                                <headerDefinition>src/main/resources/license-properties-headerdefinition.xml
+                                </headerDefinition>
+                            </headerDefinitions>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin><!--
+                     This is needed so that the camel-checkstyle.xml is
+                     filltered so that the header values are updated
+                     with header-* Maven properties.
+                     The Maven Checkstyle plugin does not provide a way
+                     to reference more than one header file, so we need
+                     to put the headers as concrete values in the
+                     checkstyle rules.
+                -->
+                <artifactId>maven-resources-plugin</artifactId>
+                <configuration>
+                    <delimiters>
+                        <delimiter>${*}</delimiter>
+                    </delimiters>
+                    <useDefaultDelimiters>false</useDefaultDelimiters>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/buildingtools/src/main/resources/META-INF/LICENSE b/buildingtools/src/main/resources/META-INF/LICENSE
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/buildingtools/src/main/resources/META-INF/LICENSE
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
diff --git a/buildingtools/src/main/resources/META-INF/NOTICE b/buildingtools/src/main/resources/META-INF/NOTICE
new file mode 100644
index 0000000..064a0fe
--- /dev/null
+++ b/buildingtools/src/main/resources/META-INF/NOTICE
@@ -0,0 +1,70 @@
+// ------------------------------------------------------------------
+// NOTICE file corresponding to the section 4d of The Apache License,
+// Version 2.0, in this case for Apache CXF Buildtools
+// ------------------------------------------------------------------
+
+Apache CXF Buildtools
+Copyright 2006-2007 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+
+This product includes/uses software, Maven Profile Model (http://maven.apache.org/maven-profile),
+developed by Apache Software Foundation  (http://www.apache.org/)
+License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+This product includes/uses software, Unnamed - junit:junit:jar:3.8.1
+
+This product includes/uses software, Default Plexus Container,
+developed by Codehaus  (http://www.codehaus.org/)
+
+This product includes/uses software, Maven Project Builder (http://maven.apache.org/maven-project),
+developed by Apache Software Foundation  (http://www.apache.org/)
+License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+This product includes/uses software, Maven Local Settings Model (http://maven.apache.org/maven-settings),
+developed by Apache Software Foundation  (http://www.apache.org/)
+License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+This product includes/uses software, classworlds (http://classworlds.codehaus.org/),
+developed by The Codehaus  (http://codehaus.org/)
+
+This product includes/uses software, Plexus Common Utilities,
+developed by Codehaus  (http://www.codehaus.org/)
+License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+This product includes/uses software, Maven Repository Metadata Model (http://maven.apache.org/maven-repository-metadata),
+developed by Apache Software Foundation  (http://www.apache.org/)
+License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+This product includes/uses software, Unnamed - jdom:jdom:jar:1.0
+
+This product includes/uses software, Maven Model (http://maven.apache.org/maven-model),
+developed by Apache Software Foundation  (http://www.apache.org/)
+License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+This product includes/uses software, ASM All (http://asm.objectweb.org/asm-all),
+developed by ObjectWeb  (http://www.objectweb.org/)
+
+This product includes/uses software, Maven Artifact (http://maven.apache.org/maven-artifact),
+developed by Apache Software Foundation  (http://www.apache.org/)
+License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+This product includes/uses software, Maven Artifact Manager (http://maven.apache.org/maven-artifact-manager),
+developed by Apache Software Foundation  (http://www.apache.org/)
+License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+This product includes/uses software, Maven Plugin API (http://maven.apache.org/maven-plugin-api),
+developed by Apache Software Foundation  (http://www.apache.org/)
+License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+This product includes/uses software, shade-maven-plugin (http://mojo.codehaus.org/shade-maven-plugin),
+developed by Codehaus  (http://codehaus.org)
+
+This product includes/uses software, Maven Wagon API (http://maven.apache.org/wagon/wagon-provider-api),
+developed by Apache Software Foundation  (http://www.apache.org/)
+License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+
+
diff --git a/buildingtools/src/main/resources/camel-checkstyle-suppressions.xml b/buildingtools/src/main/resources/camel-checkstyle-suppressions.xml
new file mode 100644
index 0000000..c8d7d69
--- /dev/null
+++ b/buildingtools/src/main/resources/camel-checkstyle-suppressions.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<!DOCTYPE suppressions PUBLIC
+    "-//Puppy Crawl//DTD Suppressions 1.0//EN"
+    "http://www.puppycrawl.com/dtds/suppressions_1_0.dtd">
+<suppressions>
+    <suppress checks=".*"
+              files=".+[\\\/]generated[\\\/].+\.java"
+              />
+    <suppress checks=".*"
+              files=".*/camel-endpointdsl/src/main/java/org/apache/camel/builder/endpoint/dsl/.*"
+              />
+    <suppress checks=".*"
+              files=".*/platforms/spring-boot/components-starter/camel-.+-starter/src/main/java/org/apache/camel/.*"
+              />
+    <suppress checks=".*"
+              files=".+[\\\/]build[\\\/]src[\\\/].+\.java"
+              />
+    <suppress checks=".*"
+              files=".+[\\\/]target[\\\/].+\.java"
+              />
+    <suppress checks=".*"
+              files=".+[\\\/]contrib[\\\/].+\.java"
+              />
+    <suppress checks="LineLength"
+              files=".*/features.xml"
+              />
+    <suppress checks="LineLength"
+              files=".*/main/resources/.*camel-context.xml"
+              />
+    <suppress checks="LineLength"
+              files=".*/test/resources/.*.xml"
+              />
+    <suppress checks="LineLength"
+              files=".*/test/resources/.*.properties"
+              />
+    <suppress checks="LineLength"
+              files=".*/resources/application.properties"
+              />
+    <suppress checks="LineLength"
+              files=".*/resources/example.properties"
+              />
+    <suppress checks="LineLength"
+              files=".*/resources/.*request.xml"
+              />
+</suppressions>
diff --git a/buildingtools/src/main/resources/camel-checkstyle.xml b/buildingtools/src/main/resources/camel-checkstyle.xml
new file mode 100644
index 0000000..ed1361a
--- /dev/null
+++ b/buildingtools/src/main/resources/camel-checkstyle.xml
@@ -0,0 +1,380 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<!DOCTYPE module PUBLIC
+    "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
+    "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
+
+<!--
+Checks to make sure the code meets the Camel coding guidelines which
+
+It also enforces a bunch of other "BestPractices like method
+lengths, if/try depths, etc...
+-->
+
+<module name="Checker">
+    <property name="fileExtensions" value="java,groovy,scala,xml,properties"/>
+
+    <!-- Checks whether files end with a new line.                        -->
+    <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
+    <!--
+    <module name="NewlineAtEndOfFile"/>
+    -->
+
+    <!-- Checks that property files contain the same keys.         -->
+    <!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
+    <module name="Translation"/>
+
+    <!--<module name="StrictDuplicateCode"/>-->
+    
+    <!-- Header checks -->
+    <!--
+         The values for `header-*` are inserted at build time by Maven
+         from the corresponding `header-*.txt` files. We need to do
+         this instead of using `headerFile` property as Maven
+         Checkstyle plugin has support for one `headerLocation`
+         property. This also might help IDEs not to search for header
+         files.
+    -->
+    <module name="Header">
+        <!-- the `header-java` is replaced during build -->
+        <property name="header" value="${header-java}"/>
+        <property name="fileExtensions" value="java,groovy,scala"/>
+    </module>
+
+    <module name="Header">
+        <!-- the `header-properties` is replaced during build -->
+        <property name="header" value="${header-properties}"/>
+        <property name="fileExtensions" value="properties"/>
+    </module>
+   
+    <module name="RegexpHeader">
+        <!-- the `header-xml` is replaced during build -->
+        <property name="header" value="^&lt;\?xml.*&gt;\n${header-xml}"/>
+        <property name="fileExtensions" value="xml,xsd"/>
+    </module>
+
+    <module name="RegexpMultiline">
+        <property name="format" value="(\bgpl\b)|(\bgplv2\b)|(\bgnu\sgeneral\spublic\s*license\b)|(\bwww\.gnu\.org\/licenses\/gpl\.txt\b)"/>
+        <property name="ignoreCase"  value="true"/>
+    </module>
+    
+    <module name="FileLength">
+        <property name="max" value="10000"/>
+    </module>
+    
+    <module name="FileTabCharacter">
+        <property name="fileExtensions" value="java"/>
+    </module>
+    
+    <!-- 
+	<module name="RegexpSingleline">
+		<property name="format" value="\s+$"/>
+		<property name="minimum" value="0"/>
+		<property name="maximum" value="0"/>
+	</module>
+	 -->
+
+    <module name="LineLength">
+        <property name="max" value="250"/>
+    </module>
+
+    <module name="TreeWalker">
+        <!-- Checks for Javadoc comments.                     -->
+        <!-- See http://checkstyle.sf.net/config_javadoc.html -->
+        <!--
+        <module name="PackageHtml"/>
+        <module name="JavadocMethod"/>
+        <module name="JavadocType"/>
+        <module name="JavadocVariable"/>
+        <module name="JavadocStyle"/>
+        -->
+
+
+        <!-- Checks for Naming Conventions.                  -->
+        <!-- See http://checkstyle.sf.net/config_naming.html -->
+        <module name="ConstantName"/>
+        <module name="LocalFinalVariableName"/>
+        <module name="LocalVariableName"/>
+        <module name="MemberName"/>
+        <module name="MethodName"/>
+        <module name="PackageName"/>
+        <module name="ParameterName"/>
+        <module name="StaticVariableName"/>
+        <module name="TypeName"/>
+
+        <!-- <module name="RegexpHeader"/> -->
+
+
+        <!-- Checks for imports                              -->
+        <!-- See http://checkstyle.sf.net/config_import.html -->
+        <module name="AvoidStarImport">
+            <property name="excludes" value="java.io,java.util,java.net,java.nio,java.nio.channels,java.lang.reflect,org.w3c.dom,org.xml.sax,java.awt,javax.swing,junit.framework"/>
+            <property name="allowStaticMemberImports" value="true"/>
+        </module>
+        <!-- 
+        <module name="ConstantName"/>
+         -->
+        <module name="IllegalImport"/> <!-- defaults to sun.* packages -->
+        <module name="RedundantImport"/>
+        <!-- When you javadoc {@link } an import is added that checkstyle thinks is unused import.
+        <module name="UnusedImports"/>
+        -->
+        <module name="ImportOrder">
+            <property name="groups" value="java,javax,org.w3c,org.xml,junit"/>
+            <property name="ordered" value="true"/>
+            <property name="option" value="bottom"/>
+            <property name="separated" value="true"/>
+            <property name="separatedStaticGroups" value="true"/>
+        </module>
+        <!--
+        <module name="ImportControl">
+            <property name="file" value="etc/import-control.xml"/>
+        </module>
+        -->
+
+        <!-- Checks for Size Violations.                    -->
+        <!-- See http://checkstyle.sf.net/config_sizes.html -->
+        <module name="AnonInnerLength">
+            <property name="max" value="200"/>
+        </module>
+        <module name="ExecutableStatementCount">
+            <property name="max" value="180"/>
+        </module>
+        <module name="MethodLength">
+            <property name="max" value="250"/>
+            <property name="countEmpty" value="false"/>
+        </module>
+        <!-- We should try to get this enabled soon..
+        <module name="ParameterNumber">
+            <property name="max" value="7"/>
+        </module>
+        -->
+
+        <!-- Checks for whitespace                               -->
+        <!-- See http://checkstyle.sf.net/config_whitespace.html -->
+        <module name="EmptyForIteratorPad"/>
+        <module name="EmptyForInitializerPad"/>
+        <module name="MethodParamPad"/>
+        <module name="NoWhitespaceAfter">
+            <property name="tokens" value="ARRAY_INIT,BNOT,DEC,DOT,INC,LNOT,UNARY_MINUS,UNARY_PLUS"/>
+        </module>
+        <module name="NoWhitespaceBefore"/>
+        <module name="OperatorWrap"/>
+        <module name="ParenPad"/>
+        <module name="TypecastParenPad"/>
+        <module name="WhitespaceAfter">
+            <property name="tokens" value="COMMA, SEMI"/>
+        </module>
+        <module name="WhitespaceAround">
+            <property name="tokens" value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LCURLY, LE, LITERAL_ASSERT, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN,TYPE_ [...]
+            <!-- <property name="tokens" value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LCURLY, LE, LITERAL_ASSERT, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR [...]
+        </module>
+
+		<!-- 
+		<module name="GenericWhitespace"/>
+		 -->
+
+        <!-- Modifier Checks                                    -->
+        <!-- See http://checkstyle.sf.net/config_modifiers.html -->
+        <module name="ModifierOrder"/>
+        <module name="RedundantModifier">
+            <property name="tokens" value="METHOD_DEF, ANNOTATION_FIELD_DEF, INTERFACE_DEF, CLASS_DEF, ENUM_DEF"/>
+        </module>
+
+
+        <!-- Checks for blocks. You know, those {}'s         -->
+        <!-- See http://checkstyle.sf.net/config_blocks.html -->
+        <!--
+        <module name="AvoidNestedBlocks">
+            <property name="allowInSwitchCase" value="true"/>
+        </module>
+        -->
+        <!-- We use alot of emply blocks..  they can be good too.
+        <module name="EmptyBlock">
+            <property name="option" value="text"/>
+        </module>
+        -->
+        <module name="LeftCurly"/>
+        <module name="NeedBraces"/>
+        <module name="RightCurly"/>
+        
+        <!-- 
+        <module name="OuterTypeNumber"/>
+         -->
+
+
+        <!-- Checks for common coding problems               -->
+        <!-- See http://checkstyle.sf.net/config_coding.html -->
+        <!--<module name="ArrayTrailingComma"/>-->
+        <!--<module name="AvoidInlineConditionals"/>-->
+        <module name="CovariantEquals"/>
+        <module name="EmptyStatement"/>
+        <module name="EqualsHashCode"/>
+        <!--<module name="FinalLocalVariable"/>-->
+        <!--
+        <module name="HiddenField">
+            <property name="ignoreConstructorParameter" value="true"/>
+            <property name="ignoreSetter" value="true"/>
+        </module>
+        -->
+        <!-- 
+        <module name="EqualsAvoidNull"/>
+         -->
+        <module name="IllegalInstantiation"/>
+        <!--<module name="IllegalToken"/>-->
+        <!--<module name="IllegalTokenText"/>-->
+        <!--<module name="InnerAssignment"/>-->
+        <!--<module name="MagicNumber"/>-->
+        <module name="MissingSwitchDefault"/>
+        <!--module name="ModifiedControlVariable"/-->
+        <module name="SimplifyBooleanExpression"/>
+        <module name="SimplifyBooleanReturn"/>
+        <module name="StringLiteralEquality"/>
+        <module name="NestedIfDepth">
+            <property name="max" value="8"/>
+        </module>
+        <module name="NestedTryDepth">
+            <property name="max" value="8"/>
+        </module>
+        <!--<module name="SuperClone"/>-->
+        <module name="SuperFinalize"/>
+        <!--<module name="IllegalCatch"/>-->
+    	<module name="IllegalThrows">
+      		<property name="illegalClassNames" value="java.lang.Error,java.lang.RuntimeException"/>
+    	</module>
+        <!--<module name="RedundantThrows"/>-->
+        <module name="PackageDeclaration"/>
+        <!--
+        <module name="JUnitTestCase"/>
+        -->
+        <module name="ReturnCount">
+            <property name="max" value="21"/>
+            <property name="maxForVoid" value="25"/>
+        </module>
+
+        <!-- Um.. we tend to use these alot.. perhaps enable this check later.
+        <module name="IllegalType">
+            <property name="format" value="^xxx$"/>
+            <property name="illegalClassNames" value="java.util.GregorianCalendar, java.util.Hashtable, java.util.HashSet, java.util.HashMap, java.util.ArrayList, java.util.LinkedList, java.util.LinkedHashMap, java.util.LinkedHashSet, java.util.TreeSet, java.util.TreeMap"/> We use alot of emply blocks..  they can be good too.
+        </module>
+        -->
+        <module name="DeclarationOrder"/>
+        <!--<module name="ParameterAssignment"/>-->
+        <module name="ExplicitInitialization"/>
+        <!-- <module name="AnnotationUseStyle"/> -->
+        <!-- <module name="MissingDeprecated"/> -->
+        <!-- 
+		<module name="MissingOverride">
+			<property name="javaFiveCompatibility" value="true"/>
+		</module>
+         -->
+         <!-- <module name="PackageAnnotation"/> -->
+         <!-- <module name="SuppressWarnings"/> -->
+        <module name="DefaultComesLast"/>
+        <!--<module name="MissingCtor"/>-->
+        <module name="FallThrough"/>
+        <!--<module name="MultipleStringLiterals"/>-->
+        <module name="MultipleVariableDeclarations"/>
+        <!--<module name="RequireThis"/>-->
+        <module name="UnnecessaryParentheses"/>
+
+
+
+        <!-- Checks for class design                         -->
+        <!-- See http://checkstyle.sf.net/config_design.html -->
+        <!--<module name="DesignForExtension"/>-->
+        <module name="FinalClass"/>
+        <module name="HideUtilityClassConstructor"/>
+        <!-- We still do enum style interfaces
+        <module name="InterfaceIsType"/>
+        -->
+        <module name="MutableException">
+            <property name="format" value="^.*Exception$"/>
+        </module>
+        <module name="ThrowsCount">
+            <property name="max" value="5"/>
+        </module>
+
+        <!-- Ah we do a fair bit of using a class like a struct.. so
+             we are not so strict on requirin encapsulation
+        <module name="VisibilityModifier">
+            <property name="protectedAllowed" value="true"/>
+            <property name="packageAllowed" value="true"/>
+            <property name="publicMemberPattern" value="resource[12].*"/>
+        </module>
+        -->
+
+
+        <!-- Metrics checks.                   -->
+        <!-- See http://checkstyle.sf.net/config_metrics.html -->
+        <module name="BooleanExpressionComplexity">
+            <property name="max" value="6"/>
+        </module>
+        <!--<module name="ClassDataAbstractionCoupling"/>-->
+        <!--<module name="ClassFanOutComplexity"/>-->
+        <!--<module name="CyclomaticComplexity"/>-->
+        <!--<module name="NPathComplexity"/>-->
+        <!-- Ah big methods aint so bad! :)
+        <module name="JavaNCSS">
+            <property name="methodMaximum" value="75"/>
+        </module>
+        -->
+
+
+        <!-- Miscellaneous other checks.                   -->
+        <!-- See http://checkstyle.sf.net/config_misc.html -->
+        <!--
+        <module name="ArrayTypeStyle"/>
+        <module name="FinalParameters"/>
+        -->
+        <!--
+        <module name="GenericIllegalRegexp">
+            <property name="format" value="\s+$"/>
+            <property name="message" value="Line has trailing spaces."/>
+        </module>
+        -->
+
+        <module name="UpperEll"/>
+
+        <!--Assert statement may have side effects:-->
+        <module name="DescendantToken">
+            <property name="tokens" value="LITERAL_ASSERT"/>
+            <property name="limitedTokens" value="ASSIGN,DEC,INC,POST_DEC,POST_INC,PLUS_ASSIGN,MINUS_ASSIGN,STAR_ASSIGN,DIV_ASSIGN,MOD_ASSIGN,BSR_ASSIGN,SR_ASSIGN,SL_ASSIGN,BAND_ASSIGN,BXOR_ASSIGN,BOR_ASSIGN"/>
+            <property name="maximumNumber" value="0"/>
+        </module>
+
+        <!--<module name="UncommentedMain"/>-->
+        <!--module name="TrailingComment"/-->
+        <module name="Indentation">
+            <property name="lineWrappingIndentation" value="0"/>
+            <property name="caseIndent" value="0"/>
+        </module>
+        <!--<module name="RequiredRegexp">-->
+        <module name="SuppressionCommentFilter">
+            <property name="offCommentFormat" value="CHECKSTYLE\:OFF"/>
+            <property name="onCommentFormat" value="CHECKSTYLE\:ON"/>
+        </module>
+        <module name="SuppressionCommentFilter">
+            <property name="offCommentFormat" value="CHECKSTYLE.OFF\:([\w\|]+)"/>
+            <property name="onCommentFormat" value="CHECKSTYLE.ON\:([\w\|]+)"/>
+            <property name="checkFormat" value="$1"/>
+        </module>
+    </module>
+</module>
diff --git a/buildingtools/src/main/resources/camel-eclipse-checkstyle b/buildingtools/src/main/resources/camel-eclipse-checkstyle
new file mode 100644
index 0000000..5e8b940
--- /dev/null
+++ b/buildingtools/src/main/resources/camel-eclipse-checkstyle
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements. See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership. The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License. You may obtain a copy of the License at
+ 
+  http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied. See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<fileset-config file-format-version="1.2.0" simple-config="false" sync-formatter="false">
+    <fileset name="all" enabled="true" check-config-name="Camel Checks" local="false">
+        <file-match-pattern match-pattern="^src[/\\].*java$" include-pattern="true"/>
+        <file-match-pattern match-pattern="^src[/\\]main[/\\]generated[/\\]." include-pattern="false"/>
+        <file-match-pattern match-pattern="^src[/\\]test[/\\]generated[/\\]." include-pattern="false"/>
+        <file-match-pattern match-pattern="^src[/\\]main[/\\]resources[/\\]archetype-resources[/\\]." include-pattern="false"/>
+    </fileset>
+</fileset-config>
diff --git a/buildingtools/src/main/resources/camel-eclipse-pmd b/buildingtools/src/main/resources/camel-eclipse-pmd
new file mode 100644
index 0000000..f1bd7be
--- /dev/null
+++ b/buildingtools/src/main/resources/camel-eclipse-pmd
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements. See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership. The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License. You may obtain a copy of the License at
+ 
+  http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied. See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<pmd>
+    <useProjectRuleSet>true</useProjectRuleSet>
+    <rules/>
+</pmd>
\ No newline at end of file
diff --git a/buildingtools/src/main/resources/camel-pmd-ruleset.xml b/buildingtools/src/main/resources/camel-pmd-ruleset.xml
new file mode 100644
index 0000000..7206dd9
--- /dev/null
+++ b/buildingtools/src/main/resources/camel-pmd-ruleset.xml
@@ -0,0 +1,206 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<ruleset name="pmd-eclipse">
+    <description>PMD Plugin preferences rule set</description>
+
+
+    <rule ref="rulesets/basic.xml/BooleanInstantiation"/>
+    <rule ref="rulesets/basic.xml/CollapsibleIfStatements"/>
+    <rule ref="rulesets/basic.xml/DoubleCheckedLocking"/>
+    <!--<rule ref="rulesets/basic.xml/EmptyCatchBlock"/>-->
+    <!--<rule ref="rulesets/basic.xml/EmptyFinallyBlock"/>-->
+    <!--<rule ref="rulesets/basic.xml/EmptyIfStmt"/>-->
+    <rule ref="rulesets/basic.xml/EmptyStatementNotInLoop"/>
+    <!--<rule ref="rulesets/basic.xml/EmptyStaticInitializer"/>-->
+    <!--<rule ref="rulesets/basic.xml/EmptySwitchStatements"/>-->
+    <!--<rule ref="rulesets/basic.xml/EmptySynchronizedBlock"/>-->
+    <!--<rule ref="rulesets/basic.xml/EmptyTryBlock"/>-->
+    <!--<rule ref="rulesets/basic.xml/EmptyWhileStmt"/>-->
+    <rule ref="rulesets/basic.xml/ForLoopShouldBeWhileLoop"/>
+    <rule ref="rulesets/basic.xml/JumbledIncrementer"/>
+    <!--<rule ref="rulesets/basic.xml/OverrideBothEqualsAndHashcode"/>-->
+    <rule ref="rulesets/basic.xml/ReturnFromFinallyBlock"/>
+    <rule ref="rulesets/basic.xml/UnconditionalIfStatement"/>
+    <rule ref="rulesets/basic.xml/UnnecessaryConversionTemporary"/>
+    <rule ref="rulesets/basic.xml/UnnecessaryFinalModifier"/>
+    <rule ref="rulesets/basic.xml/UnnecessaryReturn"/>
+    <!--<rule ref="rulesets/basic.xml/UselessOverridingMethod"/>-->
+
+    <!--<rule ref="rulesets/braces.xml/ForLoopsMustUseBraces"/>-->
+    <!--<rule ref="rulesets/braces.xml/IfElseStmtsMustUseBraces"/>-->
+    <!--<rule ref="rulesets/braces.xml/IfStmtsMustUseBraces"/>-->
+    <!--<rule ref="rulesets/braces.xml/WhileLoopsMustUseBraces"/>-->
+
+    <!--<rule ref="rulesets/clone.xml/CloneMethodMustImplementCloneable"/>-->
+    <!--<rule ref="rulesets/clone.xml/CloneThrowsCloneNotSupportedException"/>-->
+    <!--<rule ref="rulesets/clone.xml/ProperCloneImplementation"/>-->
+
+    <!--<rule ref="rulesets/codesize.xml/CyclomaticComplexity"/>-->
+    <!--<rule ref="rulesets/codesize.xml/ExcessiveClassLength"/>-->
+    <!--<rule ref="rulesets/codesize.xml/ExcessiveMethodLength"/>-->
+    <!--<rule ref="rulesets/codesize.xml/ExcessiveParameterList"/>-->
+    <!--<rule ref="rulesets/codesize.xml/ExcessivePublicCount"/>-->
+    <!--<rule ref="rulesets/codesize.xml/TooManyFields"/>-->
+
+    <!--<rule ref="rulesets/controversial.xml/AssignmentInOperand"/>-->
+    <!--<rule ref="rulesets/controversial.xml/AtLeastOneConstructor"/>-->
+    <!--<rule ref="rulesets/controversial.xml/CallSuperInConstructor"/>-->
+    <!--<rule ref="rulesets/controversial.xml/DontImportSun"/>-->
+    <!--<rule ref="rulesets/controversial.xml/NullAssignment"/>-->
+    <!--<rule ref="rulesets/controversial.xml/OnlyOneReturn"/>-->
+    <!--<rule ref="rulesets/controversial.xml/SingularField"/>-->
+    <!--<rule ref="rulesets/controversial.xml/SuspiciousOctalEscape"/>-->
+    <!--<rule ref="rulesets/controversial.xml/UnnecessaryConstructor"/>-->
+    <!--<rule ref="rulesets/controversial.xml/UnnecessaryParentheses"/>-->
+    <!--<rule ref="rulesets/controversial.xml/UnusedModifier"/>-->
+
+    <!--<rule ref="rulesets/coupling.xml/CouplingBetweenObjects"/>-->
+    <!--<rule ref="rulesets/coupling.xml/ExcessiveImports"/>-->
+    <!--<rule ref="rulesets/coupling.xml/LooseCoupling"/>-->
+
+    <!--<rule ref="rulesets/design.xml/AbstractClassWithoutAbstractMethod"/>-->
+    <!--<rule ref="rulesets/design.xml/AccessorClassGeneration"/>-->
+    <!--<rule ref="rulesets/design.xml/AssignmentToNonFinalStatic"/>-->
+    <!--<rule ref="rulesets/design.xml/AvoidDeeplyNestedIfStmts"/>-->
+    <!--<rule ref="rulesets/design.xml/AvoidInstanceofChecksInCatchClause"/>-->
+    <rule ref="rulesets/design.xml/AvoidProtectedFieldInFinalClass"/>
+    <!--<rule ref="rulesets/design.xml/AvoidReassigningParameters"/>-->
+    <!--<rule ref="rulesets/design.xml/AvoidSynchronizedAtMethodLevel"/>-->
+    <!--<rule ref="rulesets/design.xml/BadComparison"/>-->
+    <!--<rule ref="rulesets/design.xml/CloseConnection"/>-->
+    <!--<rule ref="rulesets/design.xml/CompareObjectsWithEquals"/>-->
+    <!--<rule ref="rulesets/design.xml/ConfusingTernary"/>-->
+    <rule ref="rulesets/design.xml/ConstructorCallsOverridableMethod"/>
+    <!--<rule ref="rulesets/design.xml/DefaultLabelNotLastInSwitchStmt"/>-->
+    <!--<rule ref="rulesets/design.xml/FinalFieldCouldBeStatic"/>-->
+    <rule ref="rulesets/design.xml/IdempotentOperations"/>
+    <!--<rule ref="rulesets/design.xml/ImmutableField"/>-->
+    <!--<rule ref="rulesets/design.xml/InstantiationToGetClass"/>-->
+    <!--<rule ref="rulesets/design.xml/MissingBreakInSwitch"/>-->
+    <!--<rule ref="rulesets/design.xml/MissingStaticMethodInNonInstantiatableClass"/>-->
+    <!--<rule ref="rulesets/design.xml/NonCaseLabelInSwitchStatement"/>-->
+    <!--<rule ref="rulesets/design.xml/NonStaticInitializer"/>-->
+    <rule ref="rulesets/design.xml/OptimizableToArrayCall"/>
+    <rule ref="rulesets/design.xml/PositionLiteralsFirstInComparisons"/>
+    <rule ref="rulesets/design.xml/SimplifyBooleanExpressions"/>
+    <rule ref="rulesets/design.xml/SimplifyBooleanReturns"/>
+    <rule ref="rulesets/design.xml/SimplifyConditional"/>
+    <!--<rule ref="rulesets/design.xml/SwitchDensity"/>-->
+    <!--<rule ref="rulesets/design.xml/SwitchStmtsShouldHaveDefault"/>-->
+    <rule ref="rulesets/design.xml/UnnecessaryLocalBeforeReturn"/>
+    <!--<rule ref="rulesets/design.xml/UseLocaleWithCaseConversions"/>-->
+    <!--<rule ref="rulesets/design.xml/UseNotifyAllInsteadOfNotify"/>-->
+    <!--<rule ref="rulesets/design.xml/UseSingleton"/>-->
+
+    <!--<rule ref="rulesets/finalizers.xml/EmptyFinalizer"/>-->
+    <!--<rule ref="rulesets/finalizers.xml/FinalizeOnlyCallsSuperFinalize"/>-->
+    <!--<rule ref="rulesets/finalizers.xml/FinalizeOverloaded"/>-->
+    <!--<rule ref="rulesets/finalizers.xml/FinalizeDoesNotCallSuperFinalize"/>-->
+    <!--<rule ref="rulesets/finalizers.xml/FinalizeShouldBeProtected"/>-->
+    <!--<rule ref="rulesets/finalizers.xml/AvoidCallingFinalize"/>-->
+
+    <!--<rule ref="rulesets/imports.xml/DuplicateImports"/>-->
+    <!--<rule ref="rulesets/imports.xml/DontImportJavaLang"/>-->
+    <!--<rule ref="rulesets/imports.xml/UnusedImports"/>-->
+    <!--<rule ref="rulesets/imports.xml/ImportFromSamePackage"/>-->
+
+    <!--<rule ref="rulesets/javabeans.xml/BeanMembersShouldSerialize"/>-->
+    <!--<rule ref="rulesets/javabeans.xml/MissingSerialVersionUID"/>-->
+
+    <!--<rule ref="rulesets/junit.xml/JUnitStaticSuite"/>-->
+    <!--<rule ref="rulesets/junit.xml/JUnitSpelling"/>-->
+    <!--<rule ref="rulesets/junit.xml/JUnitAssertionsShouldIncludeMessage"/>-->
+    <!--<rule ref="rulesets/junit.xml/JUnitTestsShouldIncludeAssert"/>-->
+    <!--<rule ref="rulesets/junit.xml/TestClassWithoutTestCases"/>-->
+    <!--<rule ref="rulesets/junit.xml/UnnecessaryBooleanAssertion"/>-->
+    <!--<rule ref="rulesets/junit.xml/UseAssertEqualsInsteadOfAssertTrue"/>-->
+    <!--<rule ref="rulesets/junit.xml/UseAssertSameInsteadOfAssertTrue"/>-->
+
+    <!--<rule ref="rulesets/logging-java.xml/AvoidPrintStackTrace"/>-->
+    <rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>
+    <!--<rule ref="rulesets/logging-java.xml/MoreThanOneLogger"/>-->
+    <!--<rule ref="rulesets/logging-java.xml/LoggerIsNotStaticFinal"/>-->
+    <!--<rule ref="rulesets/logging-java.xml/LogBlockWithoutIf"/>-->
+    <!--<rule ref="rulesets/logging-java.xml/SystemPrintln"/>-->
+    <!--<rule ref="rulesets/logging-jakarta-commons.xml/UseCorrectExceptionLogging"/>-->
+    <!--<rule ref="rulesets/logging-jakarta-commons.xml/ProperLogger"/>-->
+
+    <!--<rule ref="rulesets/naming.xml/ShortVariable"/>-->
+    <!--<rule ref="rulesets/naming.xml/LongVariable"/>-->
+    <!--<rule ref="rulesets/naming.xml/ShortMethodName"/>-->
+    <!--<rule ref="rulesets/naming.xml/VariableNamingConventions"/>-->
+    <!--<rule ref="rulesets/naming.xml/MethodNamingConventions"/>-->
+    <!--<rule ref="rulesets/naming.xml/ClassNamingConventions"/>-->
+    <!--<rule ref="rulesets/naming.xml/AbstractNaming"/>-->
+    <!--<rule ref="rulesets/naming.xml/AvoidDollarSigns"/>-->
+    <!--<rule ref="rulesets/naming.xml/MethodWithSameNameAsEnclosingClass"/>-->
+    <!--<rule ref="rulesets/naming.xml/SuspiciousHashcodeMethodName"/>-->
+    <!--<rule ref="rulesets/naming.xml/SuspiciousConstantFieldName"/>-->
+    <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingTypeName"/>-->
+    <!--<rule ref="rulesets/naming.xml/AvoidFieldNameMatchingMethodName"/>-->
+    <!--<rule ref="rulesets/naming.xml/AvoidNonConstructorMethodsWithClassName"/>-->
+    <!--<rule ref="rulesets/naming.xml/NoPackage"/>-->
+    <!--<rule ref="rulesets/naming.xml/PackageCase"/>-->
+
+    <!--<rule ref="rulesets/optimizations.xml/LocalVariableCouldBeFinal"/>-->
+    <!--<rule ref="rulesets/optimizations.xml/MethodArgumentCouldBeFinal"/>-->
+    <!--<rule ref="rulesets/optimizations.xml/AvoidInstantiatingObjectsInLoops"/>-->
+    <!--<rule ref="rulesets/optimizations.xml/UseArrayListInsteadOfVector"/>-->
+    <!--<rule ref="rulesets/optimizations.xml/SimplifyStartsWith"/>-->
+    <!--<rule ref="rulesets/optimizations.xml/UseStringBufferForStringAppends"/>-->
+
+    <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingThrowable"/>-->
+    <!--<rule ref="rulesets/strictexception.xml/SignatureDeclareThrowsException"/>-->
+    <!--<rule ref="rulesets/strictexception.xml/ExceptionAsFlowControl"/>-->
+    <!--<rule ref="rulesets/strictexception.xml/AvoidCatchingNPE"/>-->
+    <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingRawExceptionTypes"/>-->
+    <!--<rule ref="rulesets/strictexception.xml/AvoidThrowingNullPointerException"/>-->
+
+    <!--<rule ref="rulesets/strings.xml/AvoidDuplicateLiterals"/>-->
+    <!--<rule ref="rulesets/strings.xml/StringInstantiation"/>-->
+    <!--<rule ref="rulesets/strings.xml/StringToString"/>-->
+    <!--<rule ref="rulesets/strings.xml/AvoidConcatenatingNonLiteralsInStringBuffer"/>-->
+    <!--<rule ref="rulesets/strings.xml/UnnecessaryCaseChange"/>-->
+
+    <!--<rule ref="rulesets/sunsecure.xml/MethodReturnsInternalArray"/>-->
+    <!--<rule ref="rulesets/sunsecure.xml/ArrayIsStoredDirectly"/>-->
+
+    <rule ref="rulesets/unusedcode.xml/UnusedLocalVariable"/>
+    <rule ref="rulesets/unusedcode.xml/UnusedPrivateField"/>
+    <rule ref="rulesets/unusedcode.xml/UnusedPrivateMethod"/>
+    <!--<rule ref="rulesets/unusedcode.xml/UnusedFormalParameter"/>-->
+
+    <rule name="DontUseLoggerGetLogger"
+          message="Don't use Logger.getLogger(...), use LogUtils.getL7dLogger(....) instead"
+          class="net.sourceforge.pmd.rules.XPathRule">
+        <priority>2</priority>
+        <description>Don't use Logger.getLogger(...), use LogUtils.getL7dLogger(....) instead</description>
+        <properties>
+            <property name="xpath">
+                <value>
+<![CDATA[
+//PrimaryPrefix/Name[ends-with(@Image, 'Logger.getLogger') and //PackageDeclaration/Name[starts-with(@Image, 'org.apache.cxf')]]
+]]>
+                </value>
+            </property>
+        </properties>
+    </rule>
+
+</ruleset>
diff --git a/buildingtools/src/main/resources/header-java.txt b/buildingtools/src/main/resources/header-java.txt
new file mode 100644
index 0000000..ae6f28c
--- /dev/null
+++ b/buildingtools/src/main/resources/header-java.txt
@@ -0,0 +1,16 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
diff --git a/buildingtools/src/main/resources/header-properties.txt b/buildingtools/src/main/resources/header-properties.txt
new file mode 100644
index 0000000..fa7a54b
--- /dev/null
+++ b/buildingtools/src/main/resources/header-properties.txt
@@ -0,0 +1,16 @@
+## ---------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements.  See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License.  You may obtain a copy of the License at
+##
+##      http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ---------------------------------------------------------------------------
diff --git a/buildingtools/src/main/resources/header-xml.txt b/buildingtools/src/main/resources/header-xml.txt
new file mode 100644
index 0000000..f0a6f8f
--- /dev/null
+++ b/buildingtools/src/main/resources/header-xml.txt
@@ -0,0 +1,18 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
diff --git a/buildingtools/src/main/resources/header.txt b/buildingtools/src/main/resources/header.txt
new file mode 100644
index 0000000..b916c3e
--- /dev/null
+++ b/buildingtools/src/main/resources/header.txt
@@ -0,0 +1,14 @@
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
diff --git a/buildingtools/src/main/resources/license-properties-headerdefinition.xml b/buildingtools/src/main/resources/license-properties-headerdefinition.xml
new file mode 100644
index 0000000..d61303b
--- /dev/null
+++ b/buildingtools/src/main/resources/license-properties-headerdefinition.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<additionalHeaders>
+    <camel_properties_style>
+        <firstLine>## ---------------------------------------------------------------------------</firstLine>
+        <beforeEachLine>## </beforeEachLine>
+        <endLine>## ---------------------------------------------------------------------------</endLine>
+        <firstLineDetectionPattern>^## -+$</firstLineDetectionPattern>
+        <lastLineDetectionPattern>^## -+$</lastLineDetectionPattern>
+        <allowBlankLines>true</allowBlankLines>
+        <isMultiline>true</isMultiline>
+    </camel_properties_style>
+</additionalHeaders>
diff --git a/buildingtools/src/main/resources/notice-supplements.xml b/buildingtools/src/main/resources/notice-supplements.xml
new file mode 100644
index 0000000..4ee9c87
--- /dev/null
+++ b/buildingtools/src/main/resources/notice-supplements.xml
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<supplementalDataModels>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.bind</groupId>
+      <artifactId>jaxb-impl</artifactId>
+      <name>Sun JAXB Reference Implementation Runtime</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.bind</groupId>
+      <artifactId>jaxb-jxc</artifactId>
+      <name>Sun JAXB Reference Implementation Tools</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.fastinfoset</groupId>
+      <artifactId>FastInfoset</artifactId>
+      <name>Sun FastInfoset Implementation</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+            <name>The Apache Software License, Version 2.0</name>
+            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.messaging.saaj</groupId>
+      <artifactId>saaj-impl</artifactId>
+      <name>Sun SAAJ Reference Implementation</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>javax.xml.soap</groupId>
+      <artifactId>saaj-api</artifactId>
+      <name>Sun SAAJ API</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.apache.ws.security</groupId>
+      <artifactId>wss4j</artifactId>
+      <name>Apache WSS4J</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>javax.xml.bind</groupId>
+      <artifactId>jaxb-api</artifactId>
+      <name>Java Architecture for XML Binding (JAXB API)</name>
+      <organization>
+        <name>Sun Microsystems</name>
+        <url>http://www.sun.com/</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0</name>
+          <url>http://www.sun.com/cddl/cddl.html</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>xalan</groupId>
+      <artifactId>xalan</artifactId>
+      <name>Apache Xalan-Java</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>net.java.dev.stax-utils</groupId>
+      <artifactId>stax-utils</artifactId>
+      <name>StAX Utilities</name>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>jdom</groupId>
+      <artifactId>jdom</artifactId>
+      <name>JDOM</name>
+      <organization>
+        <name>jdom.org</name>
+        <url>http://www.jdom.org</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>Modified Apache Software License</name>
+          <url>licenses/jdom.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>xml-security</groupId>
+      <artifactId>xmlsec</artifactId>
+      <name>XML Security</name>
+      <organization>
+        <name>The Apache Software Foundation</name>
+        <url>http://www.apache.org</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.codehaus.jettison</groupId>
+      <artifactId>jettison</artifactId>
+      <name>Jettison</name>
+      <organization>
+        <name>Envoi Solutions LLC</name>
+        <url>http://www.envoisolutions.com</url>
+      </organization>
+      <licenses>
+        <license>
+          <name>The Apache Software License, Version 2.0</name>
+          <url>http://jettison.codehaus.org/License</url>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+</supplementalDataModels>
diff --git a/core/pom.xml b/core/pom.xml
index 576fd61..d3f603f 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -30,7 +30,7 @@
     <artifactId>camel-kafka-connector</artifactId>
     <packaging>jar</packaging>
 
-    <name>Camel-Kafka-Connector</name>
+    <name>Camel-Kafka-Connector :: Core</name>
     <description>Camel Kafka Connector</description>
 
     <dependencies>
diff --git a/parent/pom.xml b/parent/pom.xml
index 7f32be9..3ea81de 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -6,7 +6,7 @@
     <version>0.0.1-SNAPSHOT</version>
     <packaging>pom</packaging>
 
-    <name>Camel-Kafka-connector Parent</name>
+    <name>Camel-Kafka-Connector :: Parent</name>
     <description>Parent for all Camel Kafka Connector modules</description>
 
     <licenses>
@@ -33,7 +33,7 @@
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        
+
         <jboss.releases.repo.id>jboss-releases-repository</jboss.releases.repo.id>
         <jboss.releases.nexus.url>https://repository.jboss.org/nexus</jboss.releases.nexus.url>
         <jboss.releases.repo.url>${jboss.releases.nexus.url}/service/local/staging/deploy/maven2/</jboss.releases.repo.url>
@@ -61,9 +61,10 @@
         <version.testcontainers>1.12.0</version.testcontainers>
         <version.qpid-jms-client>0.40.0</version.qpid-jms-client>
 
-        <version.maven.checkstyle>7.6.1</version.maven.checkstyle>
-        <version.maven.checkstyle.plugin>3.0.0</version.maven.checkstyle.plugin>
+        <version.maven.checkstyle>8.26</version.maven.checkstyle>
+        <version.maven.checkstyle.plugin>3.1.0</version.maven.checkstyle.plugin>
         <maven-surefire-plugin.version>3.0.0-M4</maven-surefire-plugin.version>
+        <mycila-license-version>3.0</mycila-license-version>
     </properties>
 
     <repositories>
diff --git a/pom.xml b/pom.xml
index 793b528..5f886b4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,7 +31,7 @@
     <version>0.0.1-SNAPSHOT</version>
     <packaging>pom</packaging>
 
-    <name>Aggregator module for the Camel-Kafka-Connector project</name>
+    <name>Camel-Kafka-Connector :: Root</name>
     <description>Builds the distribution of the Camel-Kafka-Connector project</description>
 
     <properties>
@@ -47,6 +47,7 @@
         <module>parent</module>
         <module>core</module>
         <module>tests</module>
+        <module>buildingtools</module>
     </modules>
 
     <developers>
diff --git a/tests/pom.xml b/tests/pom.xml
index ebcaac3..cfb389d 100644
--- a/tests/pom.xml
+++ b/tests/pom.xml
@@ -31,7 +31,7 @@
 
     <packaging>jar</packaging>
 
-    <name>Camel-Kafka-Connector Tests</name>
+    <name>Camel-Kafka-Connector :: Tests</name>
     <description>Camel Kafka Connector Tests</description>
 
     <artifactId>tests</artifactId>