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

mmiller pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/accumulo-examples.git


The following commit(s) were added to refs/heads/master by this push:
     new cb78047  ACCUMULO-1641 Add checkstyle plugin for API check
cb78047 is described below

commit cb7804799c316d7e05b715ac5d9baabb9627dc05
Author: Mike Miller <mmil...@apache.org>
AuthorDate: Wed Nov 1 21:52:40 2017 +0000

    ACCUMULO-1641 Add checkstyle plugin for API check
---
 bin/runex      |  2 +-
 checkstyle.xml | 28 ++++++++++++++++++++++++++++
 pom.xml        | 11 +++++++++++
 3 files changed, 40 insertions(+), 1 deletion(-)

diff --git a/bin/runex b/bin/runex
index feabbe9..aa55ef3 100755
--- a/bin/runex
+++ b/bin/runex
@@ -19,7 +19,7 @@ main_class="$1"
 main_args="${*:2}"
 
 if command -v accumulo > /dev/null 2>&1 ; then
-  av_arg="-Daccumulo.version=`accumulo version`"
+  av_arg="-Daccumulo.version=`accumulo version | tail -n 1`"
 fi
 
 mvn -q exec:java -Dexec.mainClass="org.apache.accumulo.examples.$main_class" 
$av_arg -Dexec.args="$main_args"
diff --git a/checkstyle.xml b/checkstyle.xml
new file mode 100755
index 0000000..4bfef83
--- /dev/null
+++ b/checkstyle.xml
@@ -0,0 +1,28 @@
+<?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 module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" 
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd";>
+<module name="Checker">
+  <property name="charset" value="UTF-8"/>
+  <module name="TreeWalker">
+    <module name="RegexpSinglelineJava">
+      <!--check that only Accumulo public APIs are imported-->
+      <property name="format" 
value="import\s+org\.apache\.accumulo\.(.*\.(impl|thrift|crypto)\..*|(?!core|minicluster|examples).*|core\.(?!client|data|security|cli|iterators).*)"/>
+      <property name="ignoreComments" value="true" />
+      <property name="message" value="Accumulo non-public classes imported" />
+    </module>
+  </module>
+</module>
+
diff --git a/pom.xml b/pom.xml
index d994d0e..834c761 100644
--- a/pom.xml
+++ b/pom.xml
@@ -113,6 +113,17 @@
           </execution>
         </executions>
       </plugin>
+      <plugin>
+        <!-- This was added to ensure project only uses public API. Run with 
the following:
+              mvn checkstyle:checkstyle
+         -->
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+        <version>2.17</version>
+        <configuration>
+          <configLocation>checkstyle.xml</configLocation>
+        </configuration>
+      </plugin>
     </plugins>
   </build>
 

-- 
To stop receiving notification emails like this one, please contact
['"commits@accumulo.apache.org" <commits@accumulo.apache.org>'].

Reply via email to