add checkstyle and basic pom structure

Project: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/commit/fbd13875
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/tree/fbd13875
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tamaya/diff/fbd13875

Branch: refs/heads/master
Commit: fbd13875d8857831c20eca39bb74209584e8f778
Parents: d9964c6
Author: Mark Struberg <strub...@apache.org>
Authored: Sat Dec 27 10:16:02 2014 +0100
Committer: Mark Struberg <strub...@apache.org>
Committed: Sat Dec 27 11:10:11 2014 +0100

----------------------------------------------------------------------
 api/pom.xml          |  35 ++++++
 core/pom.xml         |  41 +++++++
 dormant/api/pom.xml  |  85 -------------
 dormant/core/pom.xml | 114 ------------------
 pom.xml              | 298 +++++++++++++++++++++++++++++++++-------------
 5 files changed, 291 insertions(+), 282 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/fbd13875/api/pom.xml
----------------------------------------------------------------------
diff --git a/api/pom.xml b/api/pom.xml
new file mode 100644
index 0000000..03c4ab7
--- /dev/null
+++ b/api/pom.xml
@@ -0,0 +1,35 @@
+<!--
+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 current 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.tamaya</groupId>
+        <artifactId>tamaya-all</artifactId>
+        <version>0.2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>tamaya-api</artifactId>
+    <description>
+        The API defines a complete SE based API for reading of configuration 
data.
+    </description>
+
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/fbd13875/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
new file mode 100644
index 0000000..26ccce0
--- /dev/null
+++ b/core/pom.xml
@@ -0,0 +1,41 @@
+<!-- 
+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 current 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.tamaya</groupId>
+        <artifactId>tamaya-all</artifactId>
+        <version>0.2-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>tamaya-core</artifactId>
+
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.tamaya</groupId>
+            <artifactId>tamaya-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/fbd13875/dormant/api/pom.xml
----------------------------------------------------------------------
diff --git a/dormant/api/pom.xml b/dormant/api/pom.xml
deleted file mode 100644
index 78925f5..0000000
--- a/dormant/api/pom.xml
+++ /dev/null
@@ -1,85 +0,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 current 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.tamaya</groupId>
-        <artifactId>tamaya-all</artifactId>
-        <version>0.1-SNAPSHOT</version>
-        <relativePath>..</relativePath>
-    </parent>
-
-    <artifactId>tamaya-api</artifactId>
-    <name>Apache Tamaya - API</name>
-    <description>The API defines a complete SE based API for reading, creating 
an dmanaging of configuration and
-        environment data.
-    </description>
-    <packaging>jar</packaging>
-
-    <properties>
-    </properties>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>attach-javadocs</id>
-                        <goals>
-                            <goal>jar</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <additionalparam>-Xdoclint:none</additionalparam>
-                    <detectLinks>false</detectLinks>
-                    <keywords>true</keywords>
-                    <linksource>false</linksource>
-                    <failOnError>false</failOnError>
-                    <verbose>false</verbose>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.jacoco</groupId>
-                <artifactId>jacoco-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>prepare-agent</id>
-                        <goals>
-                            <goal>prepare-agent</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-    <dependencies>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/fbd13875/dormant/core/pom.xml
----------------------------------------------------------------------
diff --git a/dormant/core/pom.xml b/dormant/core/pom.xml
deleted file mode 100644
index 85ef679..0000000
--- a/dormant/core/pom.xml
+++ /dev/null
@@ -1,114 +0,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 current 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.tamaya</groupId>
-        <artifactId>tamaya-all</artifactId>
-        <version>0.1-SNAPSHOT</version>
-        <relativePath>..</relativePath>
-    </parent>
-    <artifactId>tamaya-core</artifactId>
-    <name>Apache Tamaya - Core Implementation Library</name>
-    <packaging>jar</packaging>
-
-    <properties>
-        <slf4j.version>1.7.2</slf4j.version>
-        <log4j.version>1.2.17</log4j.version>
-        <log4j2.version>2.1</log4j2.version>
-    </properties>
-
-    <build>
-        <plugins>
-            <!-- ======================================================= -->
-            <!-- Packaging (OSGi bundle) -->
-            <!-- =======================================================
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <extensions>true</extensions>
-                <configuration>
-                    <instructions>
-                        <Import-package>org.apache.tamaya.*</Import-package>
-                        
<Import-package>org.apache.tamaya.spi.*</Import-package>
-                        
<Import-package>org.apache.tamaya.injectt.*</Import-package>
-                        
<Export-Package>org.apache.tamaya.core.cdi.*</Export-Package>
-                        
<Export-Package>org.apache.tamaya.core.config.*</Export-Package>
-                        
<Export-Package>org.apache.tamaya.core.env.*</Export-Package>
-                        
<Export-Package>org.apache.tamaya.core.properties.*</Export-Package>
-                        
<Export-Package>org.apache.tamaya.core.spi.*</Export-Package>
-                        <Private-Package>!*</Private-Package>
-                    </instructions>
-                </configuration>
-            </plugin>
-            -->
-            <plugin>
-                <groupId>org.jacoco</groupId>
-                <artifactId>jacoco-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>prepare-agent</id>
-                        <goals>
-                            <goal>prepare-agent</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-    <dependencies>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.tamaya</groupId>
-            <artifactId>tamaya-api</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <version>${log4j.version}</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-api</artifactId>
-            <version>${log4j2.version}</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>commons-logging</groupId>
-            <artifactId>commons-logging</artifactId>
-            <version>1.1.1</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-            <version>${slf4j.version}</version>
-            <scope>provided</scope>
-        </dependency>
-    </dependencies>
-
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-tamaya/blob/fbd13875/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index a2260fd..8c24c74 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,12 +27,14 @@ under the License.
     </parent>
     <groupId>org.apache.tamaya</groupId>
     <artifactId>tamaya-all</artifactId>
-    <version>0.1-SNAPSHOT</version>
+    <version>0.2-SNAPSHOT</version>
     <packaging>pom</packaging>
+
     <name>Apache Tamaya</name>
     <description>Apache Tamaya - Java Configuration</description>
     <url>http://tamaya.incubator.apache.org</url>
     <inceptionYear>2014</inceptionYear>
+
     <organization>
         <name>Apache Software Foundation</name>
         <url>http://apache.org</url>
@@ -49,7 +51,6 @@ under the License.
         <maven.javadoc.skip>true</maven.javadoc.skip>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-        <rat.skip>false</rat.skip>
         <junit.version>4.12</junit.version>
 
         <!-- Dependency and plugin relate version properties go here -->
@@ -63,7 +64,6 @@ under the License.
         <!-- Must/should match the JRuby version used by AsciidoctorJ -->
         <jruby.version>1.7.16.1</jruby.version>
         <findbugs.version>3.0.0</findbugs.version>
-        <rat.version>0.11</rat.version>
     </properties>
 
     <licenses>
@@ -73,6 +73,7 @@ under the License.
             <distribution>repo</distribution>
         </license>
     </licenses>
+
     <scm>
         <connection>
             scm:git://git.apache.org/incubator-tamaya.git
@@ -84,10 +85,12 @@ under the License.
             https://git-wip-us.apache.org/repos/asf?p=incubator-tamaya.git
         </url>
     </scm>
+
     <issueManagement>
         <system>jira</system>
         <url>http://issues.apache.org/jira/browse/TAMAYA</url>
     </issueManagement>
+
     <mailingLists>
         <mailingList>
             <name>Tamaya Development List</name>
@@ -111,6 +114,7 @@ under the License.
             
<archive>http://mail-archives.apache.org/mod_mbox/tamaya-private/</archive>
         </mailingList>
     </mailingLists>
+
     <distributionManagement>
         <repository>
             <id>apache.releases.https</id>
@@ -130,22 +134,30 @@ under the License.
             
<url>scpexe://people.apache.org/www/incubator.apache.org/tamaya</url>
         </site>
     </distributionManagement>
+
     <ciManagement>
         <system>Jenkins</system>
         <url>https://builds.apache.org/job/tamaya</url>
     </ciManagement>
+
     <developers>
         <developer>
             <name>Anatole Tresch</name>
             <id>atsticks</id>
             <email>atsticks -at- apache.org</email>
             <roles>
-                <role>Project Lead</role>
+                <role>PMC</role>
             </roles>
             <timezone/>
         </developer>
     </developers>
 
+    <modules>
+        <module>api</module>
+        <module>core</module>
+    </modules>
+
+
     <build>
         <pluginManagement>
             <plugins>
@@ -154,6 +166,7 @@ under the License.
                     <artifactId>gem-maven-plugin</artifactId>
                     <version>${gem.plugin}</version>
                 </plugin>
+
                 <plugin>
                     <groupId>org.codehaus.mojo</groupId>
                     <artifactId>findbugs-maven-plugin</artifactId>
@@ -173,8 +186,8 @@ under the License.
                         <threshold>Low</threshold>
                         <failOnError>true</failOnError>
                     </configuration>
-
                 </plugin>
+
                 <plugin>
                     <groupId>org.asciidoctor</groupId>
                     <artifactId>asciidoctor-maven-plugin</artifactId>
@@ -188,15 +201,11 @@ under the License.
                         </dependency>
                     </dependencies>
                 </plugin>
-                <plugin>
-                    <groupId>org.jacoco</groupId>
-                    <artifactId>jacoco-maven-plugin</artifactId>
-                    <version>0.7.2.201409121644</version>
-                </plugin>
+
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-compiler-plugin</artifactId>
-                    <version>2.1</version>
+                    <version>3.1</version>
                     <configuration>
                         <debug>true</debug>
                         <optimize>${maven.compile.optimize}</optimize>
@@ -206,54 +215,13 @@ under the License.
                         
<showDeprecation>${maven.compile.deprecation}</showDeprecation>
                     </configuration>
                 </plugin>
+
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-surefire-plugin</artifactId>
                     <inherited>true</inherited>
                 </plugin>
-                <plugin>
-                    <groupId>org.apache.rat</groupId>
-                    <artifactId>apache-rat-plugin</artifactId>
-                    <version>${rat.version}</version>
-                    <configuration>
-                        <excludes>
-                            <exclude>**/target</exclude>
-                            <exclude>*.iml</exclude>
-                            <exclude>**/.idea/**</exclude>
-                        </excludes>
-                    </configuration>
-                    <executions>
-                        <execution>
-                            <phase>verify</phase>
-                            <goals>
-                                <goal>check</goal>
-                            </goals>
-                        </execution>
-                    </executions>
-                </plugin>
-                <plugin>
-                    <groupId>org.codehaus.mojo</groupId>
-                    <artifactId>surefire-report-maven-plugin</artifactId>
-                    <inherited>true</inherited>
-                    <version>2.0-beta-1</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.codehaus.mojo</groupId>
-                    <artifactId>buildnumber-maven-plugin</artifactId>
-                    <version>1.0</version>
-                    <executions>
-                        <execution>
-                            <phase>validate</phase>
-                            <goals>
-                                <goal>create</goal>
-                            </goals>
-                        </execution>
-                    </executions>
-                    <configuration>
-                        <doCheck>false</doCheck>
-                        <doUpdate>false</doUpdate>
-                    </configuration>
-                </plugin>
+
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-jar-plugin</artifactId>
@@ -265,7 +233,7 @@ under the License.
                                 
<Specification-Version>${project.version}</Specification-Version>
                                 <Specification-Vendor>The Apache Software 
Foundation</Specification-Vendor>
                                 
<Implementation-Title>${project.name}</Implementation-Title>
-                                <Implementation-Version>${project.version} 
${buildNumber} - ${user.name}</Implementation-Version>
+                                <Implementation-Version>${project.version} 
${buildNumber}</Implementation-Version>
                                 <Implementation-Vendor>The Apache Software 
Foundation</Implementation-Vendor>
                                 <SCM-Revision>${buildNumber}</SCM-Revision>
                                 <SCM-url>${project.scm.url}</SCM-url>
@@ -274,27 +242,6 @@ under the License.
                     </configuration>
                 </plugin>
                 <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-assembly-plugin</artifactId>
-                    <version>2.4</version>
-                    <configuration>
-                        <finalName>apache-tamaya-${project.version}</finalName>
-                    </configuration>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-source-plugin</artifactId>
-                    <version>2.2.1</version>
-                    <configuration>
-                        <archive>
-                            <manifest>
-                                
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-                                
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
-                            </manifest>
-                        </archive>
-                    </configuration>
-                </plugin>
-                <plugin>
                     <groupId>org.apache.felix</groupId>
                     <artifactId>maven-bundle-plugin</artifactId>
                     <version>2.3.7</version>
@@ -308,11 +255,14 @@ under the License.
                 </plugin>
             </plugins>
         </pluginManagement>
+
+
         <plugins>
             <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>findbugs-maven-plugin</artifactId>
             </plugin>
+
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-enforcer-plugin</artifactId>
@@ -336,6 +286,7 @@ under the License.
                     </execution>
                 </executions>
             </plugin>
+
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-javadoc-plugin</artifactId>
@@ -358,10 +309,198 @@ under the License.
                     <verbose>false</verbose>
                 </configuration>
             </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-checkstyle-plugin</artifactId>
+                <version>2.12</version>
+                <executions>
+                    <execution>
+                        <id>verify-style</id>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>check</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <logViolationsToConsole>true</logViolationsToConsole>
+                    <checkstyleRules>
+                        <module name="Checker">
+                            <module name="SuppressionCommentFilter" />
+
+                            <!-- Checks for Size Violations.                   
 -->
+                            <!-- See 
http://checkstyle.sf.net/config_sizes.html -->
+                            <module name="FileLength">
+                                <property name="max" value="3500" />
+                                <property name="fileExtensions" value="java" />
+                            </module>
+
+                            <!-- Checks for whitespace                         
      -->
+                            <!-- See 
http://checkstyle.sf.net/config_whitespace.html -->
+                            <module name="FileTabCharacter" />
+
+
+                            <module name="TreeWalker">
+                                <!-- needed for the SuppressionCommentFilter 
-->
+                                <module name="FileContentsHolder" />
+
+                                <!-- Checks for Javadoc comments.              
       -->
+                                <!-- See 
http://checkstyle.sf.net/config_javadoc.html -->
+                                <!-- module name="JavadocMethod"/ -->
+                                <!-- module name="JavadocType"/ -->
+                                <!-- module name="JavadocVariable"/ -->
+
+
+                                <!-- Checks for Naming Conventions.            
      -->
+                                <!-- See 
http://checkstyle.sf.net/config_naming.html -->
+                                <!--
+                                        <module name="MemberName">
+                                          <property name="format" 
value="^_[a-z][a-zA-Z0-9]*$" />
+                                        </module>
+                                -->
+
+                                <module name="ConstantName">
+                                    <!-- Normal rules, except that:
+                                       -  * any name can start with an 
underscore.
+                                       -  * "log" is allowed; this is a 
traditional name for log objects
+                                       -  * names ending with "ThreadLocal" 
are allowed so that threadlocal vars don't have to be
+                                       -    all-caps. They are static final, 
but are not really constants. Yes, type prefixes
+                                       -    on variable names sucks 
("hungarian notation") but checkstyle doesn't allow
+                                       -    name rules to vary by the type of 
the constant, and no other alternative seems
+                                       -    any better.
+                                       -->
+                                    <property name="format" 
value="^_?((log)|(logger)|([a-z][a-zA-Z]*ThreadLocal)|([A-Z][A-Z0-9]*(_[A-Z0-9]+)*))$"
 />
+                                </module>
+
+                                <module name="LocalVariableName" />
+                                <module name="MethodName">
+                                    <property name="format" 
value="^_?[a-z][a-zA-Z0-9]*$" />
+                                </module>
+                                <module name="PackageName" />
+                                <module name="LocalFinalVariableName" />
+                                <module name="ParameterName" />
+                                <module name="StaticVariableName" />
+                                <module name="TypeName">
+                                    <property name="format" 
value="^_?[A-Z][a-zA-Z0-9]*$" />
+                                </module>
+
+                                <!-- Checks for imports                        
      -->
+                                <!-- See 
http://checkstyle.sf.net/config_import.html -->
+                                <module name="AvoidStarImport">
+                                    <property name="excludes" 
value="java.io,java.net,java.util" />
+                                </module>
+                                <module name="IllegalImport" />
+                                <module name="RedundantImport" />
+                                <module name="UnusedImports" />
+
+
+                                <module name="LineLength">
+                                    <property name="max" value="180" />
+                                    <property name="ignorePattern" 
value="@version|@see" />
+                                </module>
+                                <module name="MethodLength">
+                                    <property name="max" value="250" />
+                                </module>
+                                <module name="ParameterNumber">
+                                    <property name="max" value="10" />
+                                </module>
+
+                                <!-- Checks for blocks. You know, those {}'s   
      -->
+                                <!-- See 
http://checkstyle.sf.net/config_blocks.html -->
+                                <module name="EmptyBlock">
+                                    <property name="option" value="text" />
+                                </module>
+
+                                <module name="NeedBraces" />
+                                <module name="LeftCurly">
+                                    <property name="option" value="EOL" />
+                                </module>
+                                <module name="RightCurly">
+                                    <property name="option" value="SAME" />
+                                </module>
+
+                                <!-- Checks for common coding problems         
      -->
+                                <!-- See 
http://checkstyle.sf.net/config_coding.html -->
+                                <module name="EmptyStatement" />
+                                <module name="EqualsHashCode" />
+                                <module name="DefaultComesLast" />
+                                <module name="MissingSwitchDefault" />
+                                <module name="FallThrough" />
+                                <module name="MultipleVariableDeclarations" />
+
+                                <!-- Checks for class design                   
      -->
+                                <!-- See 
http://checkstyle.sf.net/config_design.html -->
+                                <!-- module name="DesignForExtension"/ -->
+                                <module 
name="com.puppycrawl.tools.checkstyle.checks.design.DesignForExtensionCheck">
+                                    <property name="severity" value="ignore" />
+                                </module>
+
+                                <!-- module name="FinalClass"/ -->
+
+                                <module name="HideUtilityClassConstructor" />
+
+                                <!-- module name="InterfaceIsType"/ -->
+                                <!-- module name="VisibilityModifier"/ -->
+
+                                <module 
name="com.puppycrawl.tools.checkstyle.checks.design.VisibilityModifierCheck">
+                                    <property name="packageAllowed" 
value="false" />
+                                    <property name="protectedAllowed" 
value="true" />
+                                    <property name="publicMemberPattern" 
value="^serialVersionUID" />
+                                    <property name="severity" value="warning" 
/>
+                                </module>
+
+
+                                <!-- Miscellaneous other checks.               
    -->
+                                <!-- See 
http://checkstyle.sf.net/config_misc.html -->
+                                <!-- module name="ArrayTypeStyle"/ -->
+                                <!-- module name="FinalParameters"/ -->
+                                <!-- Line with Trailing Spaces (disabled as 
it's to noisy)
+                                <module name="GenericIllegalRegexp">
+                                    <property name="format" value="\s+$" />
+                                    <property name="message" value="Line has 
trailing spaces." />
+                                </module>
+                                  -->
+                                <module name="UpperEll" />
+
+                            </module>
+
+                        </module>
+                    </checkstyleRules>
+                </configuration>
+            </plugin>
+
             <plugin>
                 <groupId>org.apache.rat</groupId>
                 <artifactId>apache-rat-plugin</artifactId>
+                <version>0.11</version>
+                <configuration>
+                    <includes>
+                        <include>src/**/*</include>
+                        <include>pom.xml</include>
+                    </includes>
+                    <excludes>
+                        <exclude>**/*/MANIFEST.MF</exclude>
+                        <exclude>.git</exclude>
+                        <exclude>.gitignore</exclude>
+                        <exclude>derby.log</exclude>
+                        <exclude>**/META-INF/services/*</exclude>
+                        <exclude>**/bootstrap-*</exclude>
+                        <exclude>**/js/jquery-*</exclude>
+                        <exclude>**/*.json</exclude>
+                        <!-- json can't get comments -->
+                    </excludes>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>validate</phase>
+                        <goals>
+                            <goal>check</goal>
+                        </goals>
+                    </execution>
+                </executions>
             </plugin>
+
         </plugins>
     </build>
 
@@ -581,11 +720,4 @@ under the License.
         </repository>
     </repositories>
 
-    <modules>
-        <module>buildtools</module>
-        <module>api</module>
-        <module>core</module>
-        <module>modules</module>
-    </modules>
-
 </project>

Reply via email to