Skip to content

Instantly share code, notes, and snippets.

@jochenvdv
Last active December 22, 2016 18:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jochenvdv/65dbaab165f011576e0a18c5a24fcc08 to your computer and use it in GitHub Desktop.
Save jochenvdv/65dbaab165f011576e0a18c5a24fcc08 to your computer and use it in GitHub Desktop.
Example ImportControl configuration files for Checkstyle issue #3462
<?xml version="1.0"?>
<!DOCTYPE import-control PUBLIC
"-//Puppy Crawl//DTD Import Control 1.3//EN"
"http://checkstyle.sourceforge.net/dtds/import_control_1_2.dtd">
<!-- Example with new 'files' element -->
<import-control pkg="com.puppycrawl.tools.checkstyle">
<!-- Allow Guava only in src/test directory -->
<files pattern="^.*[\\/]src[\\/]test[\\/].*$">
<allow pkg="com.google.common"/>
</files>
<allow pkg="antlr"/>
<allow pkg="org.antlr.v4.runtime"/>
<allow pkg="com.puppycrawl.tools.checkstyle.api"/>
<allow pkg="com.puppycrawl.tools.checkstyle.checks"/>
<allow pkg="java.io"/>
<allow pkg="java.net"/>
<allow pkg="java.nio"/>
<allow pkg="java.util"/>
<allow pkg="javax.xml.parsers"/>
<allow pkg="org.apache.commons.beanutils"/>
<allow pkg="org.apache.commons.logging"/>
<allow pkg="org.xml.sax"/>
<allow pkg="com.puppycrawl.tools.checkstyle"/>
<allow pkg="java.lang.reflect"/>
<!-- The local ones -->
<allow class="java.security.MessageDigest" local-only="true"/>
<allow class="java.security.NoSuchAlgorithmException" local-only="true"/>
<allow class="javax.xml.bind.DatatypeConverter" local-only="true"/>
<allow pkg="com.puppycrawl.tools.checkstyle.grammars" local-only="true"/>
<allow pkg="org.apache.commons.cli" local-only="true"/>
<subpackage name="ant">
<allow pkg="org.apache.tools.ant" local-only="true"/>
<disallow pkg="com.puppycrawl.tools.checkstyle.checks"/>
<disallow pkg="com.puppycrawl.tools.checkstyle.filters"/>
<disallow pkg="com.puppycrawl.tools.checkstyle.doclets"/>
<disallow pkg="com.puppycrawl.tools.checkstyle.gui"/>
</subpackage>
<subpackage name="api">
<allow pkg="com.puppycrawl.tools.checkstyle.grammars"/>
<allow pkg="java.beans"/>
<allow pkg="java.text"/>
<allow class="com.puppycrawl.tools.checkstyle.grammars.CommentListener"
local-only="true"/>
<allow class="com.puppycrawl.tools.checkstyle.grammars.GeneratedJavaTokenTypes"
local-only="true"/>
<allow class="com.puppycrawl.tools.checkstyle.Utils"
local-only="true"/>
</subpackage>
<subpackage name="checks">
<allow pkg="com.puppycrawl.tools.checkstyle.checks"/>
<allow class="com.puppycrawl.tools.checkstyle.Definitions"/>
<allow pkg="java.math"/>
<subpackage name="indentation">
<allow pkg="java.lang.reflect"/>
</subpackage>
<subpackage name="header">
<allow class="java.nio.charset.Charset" local-only="true"/>
</subpackage>
<subpackage name="javadoc">
<allow pkg="com.puppycrawl.tools.checkstyle.grammars.javadoc"/>
<allow pkg="java.lang.reflect"/>
</subpackage>
</subpackage>
<subpackage name="doclets">
<allow pkg="com.sun.javadoc"/>
<disallow pkg="com\.puppycrawl\.tools\.checkstyle\.(checks|ant|filters|gui)" regex="true"/>
</subpackage>
<subpackage name="filters">
<allow pkg="java.lang.ref"/>
<!-- check's subpackages -->
<disallow pkg="com\.puppycrawl\.tools\.checkstyle\.checks\.[^.]+" regex="true"/>
<disallow pkg="com\.puppycrawl\.tools\.checkstyle\.(ant|doclets|gui)" regex="true"/>
</subpackage>
<subpackage name="gui">
<allow pkg="java.awt"/>
<allow pkg="javax.swing"/>
<disallow pkg="com\.puppycrawl\.tools\.checkstyle\.(checks|ant|doclets|filters)" regex="true"/>
</subpackage>
</import-control>
<?xml version="1.0"?>
<!DOCTYPE import-control PUBLIC
"-//Puppy Crawl//DTD Import Control 1.3//EN"
"http://checkstyle.sourceforge.net/dtds/import_control_1_3.dtd">
<!-- Example with new root element -->
<new-root>
<import-control pkg="com.puppycrawl.tools.checkstyle" path="^.*[\\/]src[\\/]test[\\/].*$">
<!-- Full freedom in src/test directory -->
</import-control>
<import-control pkg="com.puppycrawl.tools.checkstyle" path="^.*[\\/]src[\\/]main[\\/].*$">
<allow pkg="antlr"/>
<allow pkg="org.antlr.v4.runtime"/>
<allow pkg="com.puppycrawl.tools.checkstyle.api"/>
<allow pkg="com.puppycrawl.tools.checkstyle.checks"/>
<allow pkg="java.io"/>
<allow pkg="java.net"/>
<allow pkg="java.nio"/>
<allow pkg="java.util"/>
<allow pkg="javax.xml.parsers"/>
<allow pkg="org.apache.commons.beanutils"/>
<allow pkg="org.apache.commons.logging"/>
<allow pkg="org.xml.sax"/>
<allow pkg="com.puppycrawl.tools.checkstyle"/>
<allow pkg="java.lang.reflect"/>
<!-- The local ones -->
<allow class="java.security.MessageDigest" local-only="true"/>
<allow class="java.security.NoSuchAlgorithmException" local-only="true"/>
<allow class="javax.xml.bind.DatatypeConverter" local-only="true"/>
<allow pkg="com.puppycrawl.tools.checkstyle.grammars" local-only="true"/>
<allow pkg="org.apache.commons.cli" local-only="true"/>
<subpackage name="ant">
<allow pkg="org.apache.tools.ant" local-only="true"/>
<disallow pkg="com.puppycrawl.tools.checkstyle.checks"/>
<disallow pkg="com.puppycrawl.tools.checkstyle.filters"/>
<disallow pkg="com.puppycrawl.tools.checkstyle.doclets"/>
<disallow pkg="com.puppycrawl.tools.checkstyle.gui"/>
</subpackage>
<subpackage name="api">
<allow pkg="com.puppycrawl.tools.checkstyle.grammars"/>
<allow pkg="java.beans"/>
<allow pkg="java.text"/>
<allow class="com.puppycrawl.tools.checkstyle.grammars.CommentListener"
local-only="true"/>
<allow class="com.puppycrawl.tools.checkstyle.grammars.GeneratedJavaTokenTypes"
local-only="true"/>
<allow class="com.puppycrawl.tools.checkstyle.Utils"
local-only="true"/>
</subpackage>
<subpackage name="checks">
<allow pkg="com.puppycrawl.tools.checkstyle.checks"/>
<allow class="com.puppycrawl.tools.checkstyle.Definitions"/>
<allow pkg="java.math"/>
<subpackage name="indentation">
<allow pkg="java.lang.reflect"/>
</subpackage>
<subpackage name="header">
<allow class="java.nio.charset.Charset" local-only="true"/>
</subpackage>
<subpackage name="javadoc">
<allow pkg="com.puppycrawl.tools.checkstyle.grammars.javadoc"/>
<allow pkg="java.lang.reflect"/>
</subpackage>
</subpackage>
<subpackage name="doclets">
<allow pkg="com.sun.javadoc"/>
<disallow pkg="com\.puppycrawl\.tools\.checkstyle\.(checks|ant|filters|gui)" regex="true"/>
</subpackage>
<subpackage name="filters">
<allow pkg="java.lang.ref"/>
<!-- check's subpackages -->
<disallow pkg="com\.puppycrawl\.tools\.checkstyle\.checks\.[^.]+" regex="true"/>
<disallow pkg="com\.puppycrawl\.tools\.checkstyle\.(ant|doclets|gui)" regex="true"/>
</subpackage>
<subpackage name="gui">
<allow pkg="java.awt"/>
<allow pkg="javax.swing"/>
<disallow pkg="com\.puppycrawl\.tools\.checkstyle\.(checks|ant|doclets|filters)" regex="true"/>
</subpackage>
</import-control>
</new-root>
<?xml version="1.0"?>
<!DOCTYPE import-control PUBLIC
"-//Puppy Crawl//DTD Import Control 1.3//EN"
"http://checkstyle.sourceforge.net/dtds/import_control_1_3.dtd">
<!-- Example with 'path' attribute on allow/disallow element -->
<import-control pkg="com.puppycrawl.tools.checkstyle">
<!-- Allow Guava only in src/test directory -->
<allow pkg="com.google.common" path="^.*[\\/]src[\\/]test[\\/].*$"/>
<allow pkg="antlr"/>
<allow pkg="org.antlr.v4.runtime"/>
<allow pkg="com.puppycrawl.tools.checkstyle.api"/>
<allow pkg="com.puppycrawl.tools.checkstyle.checks"/>
<allow pkg="java.io"/>
<allow pkg="java.net"/>
<allow pkg="java.nio"/>
<allow pkg="java.util"/>
<allow pkg="javax.xml.parsers"/>
<allow pkg="org.apache.commons.beanutils"/>
<allow pkg="org.apache.commons.logging"/>
<allow pkg="org.xml.sax"/>
<allow pkg="com.puppycrawl.tools.checkstyle"/>
<allow pkg="java.lang.reflect"/>
<!-- The local ones -->
<allow class="java.security.MessageDigest" local-only="true"/>
<allow class="java.security.NoSuchAlgorithmException" local-only="true"/>
<allow class="javax.xml.bind.DatatypeConverter" local-only="true"/>
<allow pkg="com.puppycrawl.tools.checkstyle.grammars" local-only="true"/>
<allow pkg="org.apache.commons.cli" local-only="true"/>
<subpackage name="ant">
<allow pkg="org.apache.tools.ant" local-only="true"/>
<disallow pkg="com.puppycrawl.tools.checkstyle.checks"/>
<disallow pkg="com.puppycrawl.tools.checkstyle.filters"/>
<disallow pkg="com.puppycrawl.tools.checkstyle.doclets"/>
<disallow pkg="com.puppycrawl.tools.checkstyle.gui"/>
</subpackage>
<subpackage name="api">
<allow pkg="com.puppycrawl.tools.checkstyle.grammars"/>
<allow pkg="java.beans"/>
<allow pkg="java.text"/>
<allow class="com.puppycrawl.tools.checkstyle.grammars.CommentListener"
local-only="true"/>
<allow class="com.puppycrawl.tools.checkstyle.grammars.GeneratedJavaTokenTypes"
local-only="true"/>
<allow class="com.puppycrawl.tools.checkstyle.Utils"
local-only="true"/>
</subpackage>
<subpackage name="checks">
<allow pkg="com.puppycrawl.tools.checkstyle.checks"/>
<allow class="com.puppycrawl.tools.checkstyle.Definitions"/>
<allow pkg="java.math"/>
<subpackage name="indentation">
<allow pkg="java.lang.reflect"/>
</subpackage>
<subpackage name="header">
<allow class="java.nio.charset.Charset" local-only="true"/>
</subpackage>
<subpackage name="javadoc">
<allow pkg="com.puppycrawl.tools.checkstyle.grammars.javadoc"/>
<allow pkg="java.lang.reflect"/>
</subpackage>
</subpackage>
<subpackage name="doclets">
<allow pkg="com.sun.javadoc"/>
<disallow pkg="com\.puppycrawl\.tools\.checkstyle\.(checks|ant|filters|gui)" regex="true"/>
</subpackage>
<subpackage name="filters">
<allow pkg="java.lang.ref"/>
<!-- check's subpackages -->
<disallow pkg="com\.puppycrawl\.tools\.checkstyle\.checks\.[^.]+" regex="true"/>
<disallow pkg="com\.puppycrawl\.tools\.checkstyle\.(ant|doclets|gui)" regex="true"/>
</subpackage>
<subpackage name="gui">
<allow pkg="java.awt"/>
<allow pkg="javax.swing"/>
<disallow pkg="com\.puppycrawl\.tools\.checkstyle\.(checks|ant|doclets|filters)" regex="true"/>
</subpackage>
</import-control>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment