This is an automated email from the ASF dual-hosted git repository. mmiller pushed a commit to branch tour in repository https://gitbox.apache.org/repos/asf/accumulo-website.git
The following commit(s) were added to refs/heads/tour by this push: new 9f39df5 Add checkstyle import control for API 9f39df5 is described below commit 9f39df5ad557570d6b256f64ccbc27c6028c1923 Author: Mike Miller <mmil...@apache.org> AuthorDate: Thu Nov 7 15:25:21 2019 -0500 Add checkstyle import control for API --- README.md | 2 +- checkstyle.xml | 26 ++++++++++++++++++++++++++ import-control.xml | 32 ++++++++++++++++++++++++++++++++ pom.xml | 17 +++++++++++++++++ 4 files changed, 76 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 72c7849..b040e53 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ go through the tour edit [Main.java] and use the following maven command to run will execute Main.java with all of the correct dependencies on the classpath. ```commandline -mvn -q clean compile exec:exec +mvn -q clean verify exec:exec ``` The above command will compile the project and run a MiniAccumuloCluster. diff --git a/checkstyle.xml b/checkstyle.xml new file mode 100644 index 0000000..8631397 --- /dev/null +++ b/checkstyle.xml @@ -0,0 +1,26 @@ +<?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"> + <!--check that only Accumulo public APIs are imported--> + <module name="ImportControl"> + <property name="file" value="import-control.xml"/> + </module> + </module> +</module> + diff --git a/import-control.xml b/import-control.xml new file mode 100644 index 0000000..5ff313c --- /dev/null +++ b/import-control.xml @@ -0,0 +1,32 @@ +<?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 import-control PUBLIC + "-//Checkstyle//DTD ImportControl Configuration 1.4//EN" + "https://checkstyle.org/dtds/import_control_1_4.dtd"> + +<!-- This checkstyle rule is configured to ensure only use of Accumulo API --> +<import-control pkg="tour" strategyOnMismatch="allowed"> + <!-- API packages --> + <allow pkg="org.apache.accumulo.core.client"/> + <allow pkg="org.apache.accumulo.core.data"/> + <allow pkg="org.apache.accumulo.core.security"/> + <allow pkg="org.apache.accumulo.core.iterators"/> + <allow pkg="org.apache.accumulo.minicluster"/> + <allow pkg="org.apache.accumulo.hadoop.mapreduce"/> + + <!-- disallow everything else coming from accumulo --> + <disallow pkg="org.apache.accumulo"/> +</import-control> diff --git a/pom.xml b/pom.xml index 8813d13..1a92132 100644 --- a/pom.xml +++ b/pom.xml @@ -40,6 +40,23 @@ <cleanupDaemonThreads>false</cleanupDaemonThreads> </configuration> </plugin> + <plugin> + <!-- This was added to ensure project only uses public API --> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-checkstyle-plugin</artifactId> + <version>3.1.0</version> + <executions> + <execution> + <id>check-style</id> + <goals> + <goal>check</goal> + </goals> + <configuration> + <configLocation>checkstyle.xml</configLocation> + </configuration> + </execution> + </executions> + </plugin> </plugins> </build> <dependencies>