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

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


The following commit(s) were added to refs/heads/asf-site by this push:
     new 0b1e9b2  Jekyll build from master:aefbfd7
0b1e9b2 is described below

commit 0b1e9b2c9305b44b63c4c05cd355c1a8687bc1ee
Author: Mike Miller <mmil...@apache.org>
AuthorDate: Thu Nov 7 13:26:54 2019 -0500

    Jekyll build from master:aefbfd7
    
    Checkstyle import control blog post. Fixes #149 (#206)
---
 api/index.html                                     |   2 +
 .../2019/11/04/checkstyle-import-control.html      | 116 +++++++++++++-----
 feed.xml                                           | 130 +++++++++++++++------
 index.html                                         |  14 +--
 news/index.html                                    |   7 ++
 redirects.json                                     |   2 +-
 search_data.json                                   |   8 ++
 7 files changed, 207 insertions(+), 72 deletions(-)

diff --git a/api/index.html b/api/index.html
index 23c687b..b06e035 100644
--- a/api/index.html
+++ b/api/index.html
@@ -178,6 +178,8 @@ for public API were relocated, and also altered to include 
the new MapReduce mod
 <pre><code 
class="language-regex">import\s+org\.apache\.accumulo\.(?!(core\.(client|data|security)|minicluster|hadoop)\.).*
 </code></pre>
 
+<p>See the <a href="/blog/2019/11/04/checkstyle-import-control.html">blog 
post</a> about using the checkstyle plugin for more explicit non-API 
detection.</p>
+
 
         </div>
 
diff --git a/api/index.html b/blog/2019/11/04/checkstyle-import-control.html
similarity index 51%
copy from api/index.html
copy to blog/2019/11/04/checkstyle-import-control.html
index 23c687b..718297f 100644
--- a/api/index.html
+++ b/blog/2019/11/04/checkstyle-import-control.html
@@ -25,7 +25,7 @@
 <link rel="stylesheet" type="text/css" 
href="https://cdn.datatables.net/v/bs/jq-2.2.3/dt-1.10.12/datatables.min.css";>
 <link href="/css/accumulo.css" rel="stylesheet" type="text/css">
 
-<title>Public API Definition</title>
+<title>Checking API use</title>
 
 <script 
src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"; 
integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" 
crossorigin="anonymous"></script>
 <script 
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"; 
integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
 crossorigin="anonymous"></script>
@@ -138,46 +138,100 @@
         </div>
         <div id="content">
           
-          <h1 class="title">Public API Definition</h1>
+          <h1 class="title">Checking API use</h1>
           
-          <p>Accumulo’s public API is composed of all public types in the 
following
-packages and their sub-packages excluding those named <em>impl</em>, 
<em>thrift</em>, or
-<em>crypto</em>.</p>
+          <p>
 
-<ul>
-  <li><a 
href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.0/org/apache/accumulo/core/client/package-summary.html";>org.apache.accumulo.core.client</a></li>
-  <li><a 
href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.0/org/apache/accumulo/core/data/package-summary.html";>org.apache.accumulo.core.data</a></li>
-  <li><a 
href="https://static.javadoc.io/org.apache.accumulo/accumulo-core/2.0.0/org/apache/accumulo/core/security/package-summary.html";>org.apache.accumulo.core.security</a></li>
-  <li><a 
href="https://static.javadoc.io/org.apache.accumulo/accumulo-minicluster/2.0.0/org/apache/accumulo/minicluster/package-summary.html";>org.apache.accumulo.minicluster</a></li>
-  <li><a 
href="https://static.javadoc.io/org.apache.accumulo/accumulo-hadoop/2.0.0/org/apache/accumulo/hadoop/package-summary.html";>org.apache.accumulo.hadoop</a>
 (since 2.0.0)</li>
-</ul>
+<b>Date: </b>&nbsp;&nbsp;04 Nov 2019<br>
 
-<p>A type is a class, interface, or enum. Anything with public or protected
-access in an API type is in the API. This includes, but is not limited to:
-methods, members classes, interfaces, and enums. Package-private types in the
-above packages are <em>not</em> considered public API.</p>
+</p>
 
-<p>The Accumulo project maintains binary compatibility across this API within a
-major release, as defined in the Java Language Specification 3rd ed. Starting
-with Accumulo 1.6.2 and 1.7.0 all API changes follow <a 
href="http://semver.org/spec/v2.0.0";>semver 2.0</a>.
-Accumulo code outside of the defined API does not follow semver and may change
-in incompatible ways at any release.</p>
+<p>Accumulo follows <a href="https://semver.org/";>SemVer</a> across versions 
with the declaration of a public API.  Code not in the public API should be
+considered unstable, at risk of changing between versions.  The public API 
packages are <a href="/api/">listed on the website</a>
+but may not be considered when an Accumulo user writes code.  This blog post 
explains how to make Maven
+automatically detect usage of Accumulo code outside the public API.</p>
 
-<p>The following regex matches imports that are <em>not</em> Accumulo public 
API. This
-regex can be used with <a 
href="http://checkstyle.sourceforge.net/config_regexp.html";>RegexpSingleline</a>
 to automatically find suspicious
-imports in a project using Accumulo.</p>
+<p>The techniques described in this blog post only work for Accumulo 2.0 and 
later.  Do not use with 1.X versions.</p>
 
-<p>For 1.9 and earlier:</p>
+<h2 id="checkstyle-plugin">Checkstyle Plugin</h2>
 
-<pre><code 
class="language-regex">import\s+org\.apache\.accumulo\.(.*\.(impl|thrift|crypto)\..*|(?!(core\.(client|data|security)|minicluster)\.).*)
-</code></pre>
+<p>First add the checkstyle Maven plugin to your pom.</p>
 
-<p>For 2.0 and later, this can be simplified, because sub-packages not intended
-for public API were relocated, and also altered to include the new MapReduce 
module:</p>
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="nt">&lt;plugin&gt;</span>
+    <span class="c">&lt;!-- This was added to ensure project only uses 
Accumulo's public API --&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.maven.plugins<span 
class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>maven-checkstyle-plugin<span 
class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span>3.1.0<span 
class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;executions&gt;</span>
+      <span class="nt">&lt;execution&gt;</span>
+        <span class="nt">&lt;id&gt;</span>check-style<span 
class="nt">&lt;/id&gt;</span>
+        <span class="nt">&lt;goals&gt;</span>
+          <span class="nt">&lt;goal&gt;</span>check<span 
class="nt">&lt;/goal&gt;</span>
+        <span class="nt">&lt;/goals&gt;</span>
+        <span class="nt">&lt;configuration&gt;</span>
+          <span class="nt">&lt;configLocation&gt;</span>checkstyle.xml<span 
class="nt">&lt;/configLocation&gt;</span>
+        <span class="nt">&lt;/configuration&gt;</span>
+      <span class="nt">&lt;/execution&gt;</span>
+    <span class="nt">&lt;/executions&gt;</span>
+  <span class="nt">&lt;/plugin&gt;</span>
+</code></pre></div></div>
+<p>The plugin version is the latest at the time of this post.  For more 
information see the website for
+the <a href="https://maven.apache.org/plugins/maven-checkstyle-plugin/";>Apache 
Maven Checkstyle Plugin</a>.  The configuration above adds the plugin to <code 
class="highlighter-rouge">check</code> execution goal
+so it will always run with your build.</p>
 
-<pre><code 
class="language-regex">import\s+org\.apache\.accumulo\.(?!(core\.(client|data|security)|minicluster|hadoop)\.).*
-</code></pre>
+<p>Create the configuration file specified above: <code 
class="highlighter-rouge">checkstyle.xml</code></p>
 
+<h3 id="checkstylexml">checkstyle.xml</h3>
+
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="cp">&lt;!DOCTYPE module PUBLIC "-//Puppy 
Crawl//DTD Check Configuration 1.3//EN" 
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd"&gt;</span>
+<span class="nt">&lt;module</span> <span class="na">name=</span><span 
class="s">"Checker"</span><span class="nt">&gt;</span>
+  <span class="nt">&lt;property</span> <span class="na">name=</span><span 
class="s">"charset"</span> <span class="na">value=</span><span 
class="s">"UTF-8"</span><span class="nt">/&gt;</span>
+  <span class="nt">&lt;module</span> <span class="na">name=</span><span 
class="s">"TreeWalker"</span><span class="nt">&gt;</span>
+    <span class="c">&lt;!--check that only Accumulo public APIs are 
imported--&gt;</span>
+    <span class="nt">&lt;module</span> <span class="na">name=</span><span 
class="s">"ImportControl"</span><span class="nt">&gt;</span>
+      <span class="nt">&lt;property</span> <span class="na">name=</span><span 
class="s">"file"</span> <span class="na">value=</span><span 
class="s">"import-control.xml"</span><span class="nt">/&gt;</span>
+    <span class="nt">&lt;/module&gt;</span>
+  <span class="nt">&lt;/module&gt;</span>
+<span class="nt">&lt;/module&gt;</span>
+</code></pre></div></div>
+<p>This file sets up the ImportControl module.</p>
+
+<h2 id="import-control-configuration">Import Control Configuration</h2>
+
+<p>Create the second file specified above, <code 
class="highlighter-rouge">import-control.xml</code> and copy the configuration 
below.  Make sure to replace
+“insert-your-package-name” with the package name of your project.</p>
+<div class="language-xml highlighter-rouge"><div class="highlight"><pre 
class="highlight"><code><span class="cp">&lt;!DOCTYPE import-control PUBLIC
+    "-//Checkstyle//DTD ImportControl Configuration 1.4//EN"
+    "https://checkstyle.org/dtds/import_control_1_4.dtd"&gt;</span>
+
+<span class="c">&lt;!-- This checkstyle rule is configured to ensure only use 
of Accumulo API --&gt;</span>
+<span class="nt">&lt;import-control</span> <span class="na">pkg=</span><span 
class="s">"insert-your-package-name"</span> <span 
class="na">strategyOnMismatch=</span><span class="s">"allowed"</span><span 
class="nt">&gt;</span>
+    <span class="c">&lt;!-- API packages --&gt;</span>
+    <span class="nt">&lt;allow</span> <span class="na">pkg=</span><span 
class="s">"org.apache.accumulo.core.client"</span><span class="nt">/&gt;</span>
+    <span class="nt">&lt;allow</span> <span class="na">pkg=</span><span 
class="s">"org.apache.accumulo.core.data"</span><span class="nt">/&gt;</span>
+    <span class="nt">&lt;allow</span> <span class="na">pkg=</span><span 
class="s">"org.apache.accumulo.core.security"</span><span 
class="nt">/&gt;</span>
+    <span class="nt">&lt;allow</span> <span class="na">pkg=</span><span 
class="s">"org.apache.accumulo.core.iterators"</span><span 
class="nt">/&gt;</span>
+    <span class="nt">&lt;allow</span> <span class="na">pkg=</span><span 
class="s">"org.apache.accumulo.minicluster"</span><span class="nt">/&gt;</span>
+    <span class="nt">&lt;allow</span> <span class="na">pkg=</span><span 
class="s">"org.apache.accumulo.hadoop.mapreduce"</span><span 
class="nt">/&gt;</span>
+
+    <span class="c">&lt;!-- disallow everything else coming from accumulo 
--&gt;</span>
+    <span class="nt">&lt;disallow</span> <span class="na">pkg=</span><span 
class="s">"org.apache.accumulo"</span><span class="nt">/&gt;</span>
+<span class="nt">&lt;/import-control&gt;</span>
+</code></pre></div></div>
+<p>This file configures the ImportControl module to only allow packages that 
are declared public API.</p>
+
+<h2 id="hold-the-line">Hold the line</h2>
+
+<p>Adding this to an existing project may expose usage of non public Accumulo 
API’s. It may take more time than is available
+to fix those at first, but do not let this discourage adding this plugin. One 
possible way to proceed is to allow the
+currently used non-public APIs in a commented section of import-control.xml 
noting these are temporarily allowed until
+they can be removed. This strategy prevents new usages of non-public APIs 
while allowing time to work on fixing the current
+ usages of non public APIs.  Also, if you don’t want your project failing to 
build because of this, you can add <code 
class="highlighter-rouge">&lt;failOnViolation&gt;false&lt;/failOnViolation&gt;</code>
+to the maven-checkstyle-plugin configuration.</p>
+
+
+
+<p><strong>View all posts in the <a href="/news">news archive</a></strong></p>
 
         </div>
 
diff --git a/feed.xml b/feed.xml
index f714b74..2ce1521 100644
--- a/feed.xml
+++ b/feed.xml
@@ -6,12 +6,107 @@
 </description>
     <link>https://accumulo.apache.org/</link>
     <atom:link href="https://accumulo.apache.org/feed.xml"; rel="self" 
type="application/rss+xml"/>
-    <pubDate>Mon, 04 Nov 2019 13:41:25 -0500</pubDate>
-    <lastBuildDate>Mon, 04 Nov 2019 13:41:25 -0500</lastBuildDate>
+    <pubDate>Thu, 07 Nov 2019 13:26:50 -0500</pubDate>
+    <lastBuildDate>Thu, 07 Nov 2019 13:26:50 -0500</lastBuildDate>
     <generator>Jekyll v4.0.0</generator>
     
     
       <item>
+        <title>Checking API use</title>
+        <description>&lt;p&gt;Accumulo follows &lt;a 
href=&quot;https://semver.org/&quot;&gt;SemVer&lt;/a&gt; across versions with 
the declaration of a public API.  Code not in the public API should be
+considered unstable, at risk of changing between versions.  The public API 
packages are &lt;a href=&quot;/api/&quot;&gt;listed on the website&lt;/a&gt;
+but may not be considered when an Accumulo user writes code.  This blog post 
explains how to make Maven
+automatically detect usage of Accumulo code outside the public API.&lt;/p&gt;
+
+&lt;p&gt;The techniques described in this blog post only work for Accumulo 2.0 
and later.  Do not use with 1.X versions.&lt;/p&gt;
+
+&lt;h2 id=&quot;checkstyle-plugin&quot;&gt;Checkstyle Plugin&lt;/h2&gt;
+
+&lt;p&gt;First add the checkstyle Maven plugin to your pom.&lt;/p&gt;
+
+&lt;div class=&quot;language-xml highlighter-rouge&quot;&gt;&lt;div 
class=&quot;highlight&quot;&gt;&lt;pre 
class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span 
class=&quot;nt&quot;&gt;&amp;lt;plugin&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;c&quot;&gt;&amp;lt;!-- This was added to ensure 
project only uses Accumulo's public API --&amp;gt;&lt;/span&gt;
+    &lt;span 
class=&quot;nt&quot;&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.apache.maven.plugins&lt;span
 class=&quot;nt&quot;&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
+    &lt;span 
class=&quot;nt&quot;&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;maven-checkstyle-plugin&lt;span
 class=&quot;nt&quot;&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;
+    &lt;span 
class=&quot;nt&quot;&gt;&amp;lt;version&amp;gt;&lt;/span&gt;3.1.0&lt;span 
class=&quot;nt&quot;&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;executions&amp;gt;&lt;/span&gt;
+      &lt;span class=&quot;nt&quot;&gt;&amp;lt;execution&amp;gt;&lt;/span&gt;
+        &lt;span 
class=&quot;nt&quot;&gt;&amp;lt;id&amp;gt;&lt;/span&gt;check-style&lt;span 
class=&quot;nt&quot;&gt;&amp;lt;/id&amp;gt;&lt;/span&gt;
+        &lt;span class=&quot;nt&quot;&gt;&amp;lt;goals&amp;gt;&lt;/span&gt;
+          &lt;span 
class=&quot;nt&quot;&gt;&amp;lt;goal&amp;gt;&lt;/span&gt;check&lt;span 
class=&quot;nt&quot;&gt;&amp;lt;/goal&amp;gt;&lt;/span&gt;
+        &lt;span class=&quot;nt&quot;&gt;&amp;lt;/goals&amp;gt;&lt;/span&gt;
+        &lt;span 
class=&quot;nt&quot;&gt;&amp;lt;configuration&amp;gt;&lt;/span&gt;
+          &lt;span 
class=&quot;nt&quot;&gt;&amp;lt;configLocation&amp;gt;&lt;/span&gt;checkstyle.xml&lt;span
 class=&quot;nt&quot;&gt;&amp;lt;/configLocation&amp;gt;&lt;/span&gt;
+        &lt;span 
class=&quot;nt&quot;&gt;&amp;lt;/configuration&amp;gt;&lt;/span&gt;
+      &lt;span class=&quot;nt&quot;&gt;&amp;lt;/execution&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;/executions&amp;gt;&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;&amp;lt;/plugin&amp;gt;&lt;/span&gt;
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
+&lt;p&gt;The plugin version is the latest at the time of this post.  For more 
information see the website for
+the &lt;a 
href=&quot;https://maven.apache.org/plugins/maven-checkstyle-plugin/&quot;&gt;Apache
 Maven Checkstyle Plugin&lt;/a&gt;.  The configuration above adds the plugin to 
&lt;code class=&quot;highlighter-rouge&quot;&gt;check&lt;/code&gt; execution 
goal
+so it will always run with your build.&lt;/p&gt;
+
+&lt;p&gt;Create the configuration file specified above: &lt;code 
class=&quot;highlighter-rouge&quot;&gt;checkstyle.xml&lt;/code&gt;&lt;/p&gt;
+
+&lt;h3 id=&quot;checkstylexml&quot;&gt;checkstyle.xml&lt;/h3&gt;
+
+&lt;div class=&quot;language-xml highlighter-rouge&quot;&gt;&lt;div 
class=&quot;highlight&quot;&gt;&lt;pre 
class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span 
class=&quot;cp&quot;&gt;&amp;lt;!DOCTYPE module PUBLIC &quot;-//Puppy 
Crawl//DTD Check Configuration 1.3//EN&quot; 
&quot;http://www.puppycrawl.com/dtds/configuration_1_3.dtd&quot;&amp;gt;&lt;/span&gt;
+&lt;span class=&quot;nt&quot;&gt;&amp;lt;module&lt;/span&gt; &lt;span 
class=&quot;na&quot;&gt;name=&lt;/span&gt;&lt;span 
class=&quot;s&quot;&gt;&quot;Checker&quot;&lt;/span&gt;&lt;span 
class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span 
class=&quot;na&quot;&gt;name=&lt;/span&gt;&lt;span 
class=&quot;s&quot;&gt;&quot;charset&quot;&lt;/span&gt; &lt;span 
class=&quot;na&quot;&gt;value=&lt;/span&gt;&lt;span 
class=&quot;s&quot;&gt;&quot;UTF-8&quot;&lt;/span&gt;&lt;span 
class=&quot;nt&quot;&gt;/&amp;gt;&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;&amp;lt;module&lt;/span&gt; &lt;span 
class=&quot;na&quot;&gt;name=&lt;/span&gt;&lt;span 
class=&quot;s&quot;&gt;&quot;TreeWalker&quot;&lt;/span&gt;&lt;span 
class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;c&quot;&gt;&amp;lt;!--check that only Accumulo public 
APIs are imported--&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;module&lt;/span&gt; &lt;span 
class=&quot;na&quot;&gt;name=&lt;/span&gt;&lt;span 
class=&quot;s&quot;&gt;&quot;ImportControl&quot;&lt;/span&gt;&lt;span 
class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
+      &lt;span class=&quot;nt&quot;&gt;&amp;lt;property&lt;/span&gt; &lt;span 
class=&quot;na&quot;&gt;name=&lt;/span&gt;&lt;span 
class=&quot;s&quot;&gt;&quot;file&quot;&lt;/span&gt; &lt;span 
class=&quot;na&quot;&gt;value=&lt;/span&gt;&lt;span 
class=&quot;s&quot;&gt;&quot;import-control.xml&quot;&lt;/span&gt;&lt;span 
class=&quot;nt&quot;&gt;/&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;/module&amp;gt;&lt;/span&gt;
+  &lt;span class=&quot;nt&quot;&gt;&amp;lt;/module&amp;gt;&lt;/span&gt;
+&lt;span class=&quot;nt&quot;&gt;&amp;lt;/module&amp;gt;&lt;/span&gt;
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
+&lt;p&gt;This file sets up the ImportControl module.&lt;/p&gt;
+
+&lt;h2 id=&quot;import-control-configuration&quot;&gt;Import Control 
Configuration&lt;/h2&gt;
+
+&lt;p&gt;Create the second file specified above, &lt;code 
class=&quot;highlighter-rouge&quot;&gt;import-control.xml&lt;/code&gt; and copy 
the configuration below.  Make sure to replace
+“insert-your-package-name” with the package name of your project.&lt;/p&gt;
+&lt;div class=&quot;language-xml highlighter-rouge&quot;&gt;&lt;div 
class=&quot;highlight&quot;&gt;&lt;pre 
class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span 
class=&quot;cp&quot;&gt;&amp;lt;!DOCTYPE import-control PUBLIC
+    &quot;-//Checkstyle//DTD ImportControl Configuration 1.4//EN&quot;
+    
&quot;https://checkstyle.org/dtds/import_control_1_4.dtd&quot;&amp;gt;&lt;/span&gt;
+
+&lt;span class=&quot;c&quot;&gt;&amp;lt;!-- This checkstyle rule is configured 
to ensure only use of Accumulo API --&amp;gt;&lt;/span&gt;
+&lt;span class=&quot;nt&quot;&gt;&amp;lt;import-control&lt;/span&gt; &lt;span 
class=&quot;na&quot;&gt;pkg=&lt;/span&gt;&lt;span 
class=&quot;s&quot;&gt;&quot;insert-your-package-name&quot;&lt;/span&gt; 
&lt;span class=&quot;na&quot;&gt;strategyOnMismatch=&lt;/span&gt;&lt;span 
class=&quot;s&quot;&gt;&quot;allowed&quot;&lt;/span&gt;&lt;span 
class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;c&quot;&gt;&amp;lt;!-- API packages 
--&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;allow&lt;/span&gt; &lt;span 
class=&quot;na&quot;&gt;pkg=&lt;/span&gt;&lt;span 
class=&quot;s&quot;&gt;&quot;org.apache.accumulo.core.client&quot;&lt;/span&gt;&lt;span
 class=&quot;nt&quot;&gt;/&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;allow&lt;/span&gt; &lt;span 
class=&quot;na&quot;&gt;pkg=&lt;/span&gt;&lt;span 
class=&quot;s&quot;&gt;&quot;org.apache.accumulo.core.data&quot;&lt;/span&gt;&lt;span
 class=&quot;nt&quot;&gt;/&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;allow&lt;/span&gt; &lt;span 
class=&quot;na&quot;&gt;pkg=&lt;/span&gt;&lt;span 
class=&quot;s&quot;&gt;&quot;org.apache.accumulo.core.security&quot;&lt;/span&gt;&lt;span
 class=&quot;nt&quot;&gt;/&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;allow&lt;/span&gt; &lt;span 
class=&quot;na&quot;&gt;pkg=&lt;/span&gt;&lt;span 
class=&quot;s&quot;&gt;&quot;org.apache.accumulo.core.iterators&quot;&lt;/span&gt;&lt;span
 class=&quot;nt&quot;&gt;/&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;allow&lt;/span&gt; &lt;span 
class=&quot;na&quot;&gt;pkg=&lt;/span&gt;&lt;span 
class=&quot;s&quot;&gt;&quot;org.apache.accumulo.minicluster&quot;&lt;/span&gt;&lt;span
 class=&quot;nt&quot;&gt;/&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;allow&lt;/span&gt; &lt;span 
class=&quot;na&quot;&gt;pkg=&lt;/span&gt;&lt;span 
class=&quot;s&quot;&gt;&quot;org.apache.accumulo.hadoop.mapreduce&quot;&lt;/span&gt;&lt;span
 class=&quot;nt&quot;&gt;/&amp;gt;&lt;/span&gt;
+
+    &lt;span class=&quot;c&quot;&gt;&amp;lt;!-- disallow everything else 
coming from accumulo --&amp;gt;&lt;/span&gt;
+    &lt;span class=&quot;nt&quot;&gt;&amp;lt;disallow&lt;/span&gt; &lt;span 
class=&quot;na&quot;&gt;pkg=&lt;/span&gt;&lt;span 
class=&quot;s&quot;&gt;&quot;org.apache.accumulo&quot;&lt;/span&gt;&lt;span 
class=&quot;nt&quot;&gt;/&amp;gt;&lt;/span&gt;
+&lt;span class=&quot;nt&quot;&gt;&amp;lt;/import-control&amp;gt;&lt;/span&gt;
+&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
+&lt;p&gt;This file configures the ImportControl module to only allow packages 
that are declared public API.&lt;/p&gt;
+
+&lt;h2 id=&quot;hold-the-line&quot;&gt;Hold the line&lt;/h2&gt;
+
+&lt;p&gt;Adding this to an existing project may expose usage of non public 
Accumulo API’s. It may take more time than is available
+to fix those at first, but do not let this discourage adding this plugin. One 
possible way to proceed is to allow the
+currently used non-public APIs in a commented section of import-control.xml 
noting these are temporarily allowed until
+they can be removed. This strategy prevents new usages of non-public APIs 
while allowing time to work on fixing the current
+ usages of non public APIs.  Also, if you don’t want your project failing to 
build because of this, you can add &lt;code 
class=&quot;highlighter-rouge&quot;&gt;&amp;lt;failOnViolation&amp;gt;false&amp;lt;/failOnViolation&amp;gt;&lt;/code&gt;
+to the maven-checkstyle-plugin configuration.&lt;/p&gt;
+
+</description>
+        <pubDate>Mon, 04 Nov 2019 00:00:00 -0500</pubDate>
+        
<link>https://accumulo.apache.org/blog/2019/11/04/checkstyle-import-control.html</link>
+        <guid 
isPermaLink="true">https://accumulo.apache.org/blog/2019/11/04/checkstyle-import-control.html</guid>
+        
+        
+        <category>blog</category>
+        
+      </item>
+    
+      <item>
         <title>Using Azure Data Lake Gen2 storage as a data store for 
Accumulo</title>
         <description>&lt;p&gt;Accumulo can store its files in &lt;a 
href=&quot;https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction&quot;&gt;Azure
 Data Lake Storage Gen2&lt;/a&gt;
 using the &lt;a 
href=&quot;https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-abfs-driver&quot;&gt;ABFS
 (Azure Blob File System)&lt;/a&gt; driver.
@@ -1226,36 +1321,5 @@ complete in this alpha release.&lt;/li&gt;
         
       </item>
     
-      <item>
-        <title>Apache Accumulo 2.0.0-alpha-1</title>
-        <description>&lt;p&gt;Apache Accumulo 2.0.0-alpha-1 contains numerous 
changes since the 1.9. This
-alpha release is a preview of features coming in 2.0.0. It is being made
-available for preview, testing, and evaluation of those upcoming features, but
-is &lt;em&gt;not yet suitable for production use&lt;/em&gt;. API, packaging, 
and other changes may
-still occur before a final 2.0.0 release.&lt;/p&gt;
-
-&lt;ul&gt;
-  &lt;li&gt;&lt;a href=&quot;/docs/2.x/&quot;&gt;User Manual&lt;/a&gt; - 
In-depth developer and administrator documentation&lt;/li&gt;
-  &lt;li&gt;&lt;a href=&quot;/docs/2.x/apidocs/&quot;&gt;Javadocs&lt;/a&gt; - 
Accumulo 2.0 API (subject to change)&lt;/li&gt;
-&lt;/ul&gt;
-
-&lt;h2 id=&quot;notable-changes&quot;&gt;Notable Changes&lt;/h2&gt;
-
-&lt;ul&gt;
-  &lt;li&gt;Please see the &lt;a 
href=&quot;/release/accumulo-2.0.0&quot;&gt;draft release notes for 
2.0.0&lt;/a&gt; for a list of the
-changes coming in 2.0.0, many of which are either complete, or nearly
-complete in this alpha release.&lt;/li&gt;
-&lt;/ul&gt;
-
-</description>
-        <pubDate>Sun, 14 Oct 2018 00:00:00 -0400</pubDate>
-        
<link>https://accumulo.apache.org/release/accumulo-2.0.0-alpha-1/</link>
-        <guid 
isPermaLink="true">https://accumulo.apache.org/release/accumulo-2.0.0-alpha-1/</guid>
-        
-        
-        <category>release</category>
-        
-      </item>
-    
   </channel>
 </rss>
diff --git a/index.html b/index.html
index 756ac21..d2d6818 100644
--- a/index.html
+++ b/index.html
@@ -179,6 +179,13 @@
         
         <div class="row latest-news-item">
           <div class="col-sm-12" style="margin-bottom: 5px">
+           <span style="font-size: 12px; margin-right: 5px;">Nov 2019</span>
+           <a href="/blog/2019/11/04/checkstyle-import-control.html">Checking 
API use</a>
+          </div>
+        </div>
+        
+        <div class="row latest-news-item">
+          <div class="col-sm-12" style="margin-bottom: 5px">
            <span style="font-size: 12px; margin-right: 5px;">Oct 2019</span>
            <a href="/blog/2019/10/15/accumulo-adlsgen2-notes.html">Using Azure 
Data Lake Gen2 storage as a data store for Accumulo</a>
           </div>
@@ -205,13 +212,6 @@
           </div>
         </div>
         
-        <div class="row latest-news-item">
-          <div class="col-sm-12" style="margin-bottom: 5px">
-           <span style="font-size: 12px; margin-right: 5px;">Aug 2019</span>
-           <a href="/release/accumulo-2.0.0/">Apache Accumulo 2.0.0</a>
-          </div>
-        </div>
-        
         <div id="news-archive-link">
          <p>View all posts in the <a href="/news">news archive</a></p>
         </div>
diff --git a/news/index.html b/news/index.html
index c304dea..a548889 100644
--- a/news/index.html
+++ b/news/index.html
@@ -148,6 +148,13 @@
   
   
   <div class="row" style="margin-top: 15px">
+    <div class="col-md-1">Nov 04</div>
+    <div class="col-md-10"><a 
href="/blog/2019/11/04/checkstyle-import-control.html">Checking API 
use</a></div>
+  </div>
+
+  
+  
+  <div class="row" style="margin-top: 15px">
     <div class="col-md-1">Oct 15</div>
     <div class="col-md-10"><a 
href="/blog/2019/10/15/accumulo-adlsgen2-notes.html">Using Azure Data Lake Gen2 
storage as a data store for Accumulo</a></div>
   </div>
diff --git a/redirects.json b/redirects.json
index 4bda3a4..6e10199 100644
--- a/redirects.json
+++ b/redirects.json
@@ -1 +1 @@
-{"/release_notes/1.5.1.html":"https://accumulo.apache.org/release/accumulo-1.5.1/","/release_notes/1.6.0.html":"https://accumulo.apache.org/release/accumulo-1.6.0/","/release_notes/1.6.1.html":"https://accumulo.apache.org/release/accumulo-1.6.1/","/release_notes/1.6.2.html":"https://accumulo.apache.org/release/accumulo-1.6.2/","/release_notes/1.7.0.html":"https://accumulo.apache.org/release/accumulo-1.7.0/","/release_notes/1.5.3.html":"https://accumulo.apache.org/release/accumulo-1.5.3/";
 [...]
\ No newline at end of file
+{"/release_notes/1.5.1.html":"https://accumulo.apache.org/release/accumulo-1.5.1/","/release_notes/1.6.0.html":"https://accumulo.apache.org/release/accumulo-1.6.0/","/release_notes/1.6.1.html":"https://accumulo.apache.org/release/accumulo-1.6.1/","/release_notes/1.6.2.html":"https://accumulo.apache.org/release/accumulo-1.6.2/","/release_notes/1.7.0.html":"https://accumulo.apache.org/release/accumulo-1.7.0/","/release_notes/1.5.3.html":"https://accumulo.apache.org/release/accumulo-1.5.3/";
 [...]
\ No newline at end of file
diff --git a/search_data.json b/search_data.json
index 72bed5e..7f4e9e4 100644
--- a/search_data.json
+++ b/search_data.json
@@ -295,6 +295,14 @@
     },
   
   
+    "blog-2019-11-04-checkstyle-import-control-html": {
+      "title": "Checking API use",
+      "content"         : "Accumulo follows SemVer across versions with the 
declaration of a public API.  Code not in the public API should beconsidered 
unstable, at risk of changing between versions.  The public API packages are 
listed on the websitebut may not be considered when an Accumulo user writes 
code.  This blog post explains how to make Mavenautomatically detect usage of 
Accumulo code outside the public API.The techniques described in this blog post 
only work for Accumulo 2.0 and late [...]
+      "url": " /blog/2019/11/04/checkstyle-import-control.html",
+      "categories": "blog"
+    }
+    ,
+  
     "blog-2019-10-15-accumulo-adlsgen2-notes-html": {
       "title": "Using Azure Data Lake Gen2 storage as a data store for 
Accumulo",
       "content"         : "Accumulo can store its files in Azure Data Lake 
Storage Gen2using the ABFS (Azure Blob File System) driver.Similar to S3 blog, 
the write ahead logs &amp;amp; Accumulo metadata can be stored in HDFS and 
everything else on Gen2 storageusing the volume chooser feature introduced in 
Accumulo 2.0. The configurations referred on this blogare specific to Accumulo 
2.0 and Hadoop 3.2.0.Hadoop setupFor ABFS client to talk to Gen2 storage, it 
requires one of the Authentication m [...]

Reply via email to