config/import-control.xml (155 lines of code) (raw):

<?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"> <import-control pkg="com.puppycrawl.tools.checkstyle"> <allow pkg="antlr"/> <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.util"/> <allow pkg="javax.xml.parsers"/> <allow pkg="org.apache.commons.beanutils"/> <allow pkg="org.apache.commons.logging"/> <allow pkg="org.xml.sax"/> <!--Disallowed till https://github.com/mojohaus/cobertura-maven-plugin/issues/29--> <disallow class="java.util.stream.Stream"/> <disallow class="java.util.stream.Stream.Builder"/> <disallow class="java.util.stream.DoubleStream"/> <disallow class="java.util.stream.DoubleStream.Builder"/> <disallow class="java.util.stream.IntStream"/> <disallow class="java.util.stream.IntStream.Builder"/> <disallow class="java.util.stream.LongStream"/> <disallow class="java.util.stream.LongStream.Builder"/> <disallow class="java.util.stream.BaseStream"/> <disallow class="java.util.stream.Collector"/> <disallow class="java.util.Comparator"/> <!-- The local ones --> <allow pkg="java.lang.reflect" local-only="true" /> <allow pkg="java.nio" local-only="true" /> <allow class="java.security.MessageDigest" local-only="true"/> <allow class="java.security.NoSuchAlgorithmException" local-only="true"/> <allow pkg="com.puppycrawl.tools.checkstyle.utils" local-only="true"/> <allow pkg="com.puppycrawl.tools.checkstyle.grammars" local-only="true"/> <allow pkg="org.apache.commons.cli" local-only="true"/> <allow pkg="org.antlr.v4.runtime" local-only="true"/> <allow class="com.puppycrawl.tools.checkstyle.JavadocDetailNodeParser.+" local-only="true" regex="true"/> <allow class="java.lang.annotation.ElementType" local-only="true"/> <allow class="java.lang.annotation.Inherited" local-only="true"/> <allow class="java.lang.annotation.Retention" local-only="true"/> <allow class="java.lang.annotation.RetentionPolicy" local-only="true"/> <allow class="java.lang.annotation.Target" local-only="true"/> <allow class="com.puppycrawl.tools.checkstyle.FileStatefulCheck"/> <allow class="com.puppycrawl.tools.checkstyle.StatelessCheck"/> <!-- allowed till https://github.com/checkstyle/checkstyle/issues/3455 --> <allow class="com.google.common.base.CaseFormat" local-only="true"/> <allow class="com.google.common.io.BaseEncoding" local-only="true"/> <allow class="com.google.common.io.Closeables" local-only="true"/> <allow class="com.google.common.io.Flushables" local-only="true"/> <allow class="com.google.common.collect.HashMultimap" local-only="true"/> <allow class="com.google.common.collect.ImmutableCollection" local-only="true"/> <allow class="com.google.common.collect.ImmutableList" local-only="true"/> <allow class="com.google.common.collect.ImmutableMap" local-only="true"/> <allow class="com.google.common.collect.Multimap" local-only="true"/> <allow class="com.google.common.io.ByteStreams" local-only="true"/> <subpackage name="utils"> <allow pkg="java.lang.reflect" local-only="true" /> <allow pkg="java.nio" local-only="true" /> <allow class="com.puppycrawl.tools.checkstyle.TreeWalkerFilter"/> <!-- allowed till https://github.com/checkstyle/checkstyle/issues/3455 --> <allow class="com.google.common.collect.ImmutableMap" local-only="true"/> <allow class="com.google.common.reflect.ClassPath" local-only="true"/> </subpackage> <subpackage name="ant"> <allow pkg="org.apache.tools.ant" local-only="true"/> <allow pkg="com.puppycrawl.tools.checkstyle"/> <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"/> <!-- allowed till https://github.com/checkstyle/checkstyle/issues/3455 --> <allow class="com.google.common.io.Closeables" local-only="true"/> </subpackage> <subpackage name="api"> <allow pkg="com.puppycrawl.tools.checkstyle.grammars"/> <allow pkg="java.lang.reflect" local-only="true"/> <allow pkg="java.nio.charset" local-only="true"/> <allow class="java.beans.PropertyDescriptor" local-only="true"/> <allow class="java.text.MessageFormat" local-only="true"/> <allow class="com.puppycrawl.tools.checkstyle.grammars.CommentListener" local-only="true"/> <!-- AccessModifier is in util package (should be moved to api package) to disallow its usage by API clients till https://github.com/checkstyle/checkstyle/issues/3511--> <allow class="com.puppycrawl.tools.checkstyle.checks.naming.AccessModifier" local-only="true"/> <allow pkg="org.antlr.v4.runtime" local-only="true"/> <allow class="com.puppycrawl.tools.checkstyle.Checker" local-only="true"/> <!-- allowed till https://github.com/checkstyle/checkstyle/issues/3817 --> <allow pkg="com.puppycrawl.tools.checkstyle.utils"/> </subpackage> <subpackage name="checks"> <allow pkg="java.math"/> <allow pkg="com.puppycrawl.tools.checkstyle.utils"/> <allow class="java.nio.charset.StandardCharsets" local-only="true"/> <allow class="com.puppycrawl.tools.checkstyle.Definitions" local-only="true"/> <!-- allowed till https://github.com/checkstyle/checkstyle/issues/3455 --> <allow class="com.google.common.io.Closeables" local-only="true"/> <allow class="com.google.common.collect.HashMultiset" local-only="true"/> <allow class="com.google.common.collect.HashMultimap" local-only="true"/> <allow class="com.google.common.collect.ImmutableMultiset" local-only="true"/> <allow class="com.google.common.collect.Multiset" local-only="true"/> <allow class="com.google.common.collect.Multiset.Entry" local-only="true"/> <allow class="com.google.common.collect.SetMultimap" local-only="true"/> <subpackage name="imports"> <allow class="com.puppycrawl.tools.checkstyle.XmlLoader" local-only="true"/> </subpackage> <subpackage name="indentation"> <allow pkg="java.lang.reflect"/> </subpackage> <subpackage name="header"> <allow class="java.nio.charset.Charset" local-only="true"/> <allow class="java.nio.charset.StandardCharsets" local-only="true" /> <!-- allowed till https://github.com/checkstyle/checkstyle/issues/3455 --> <allow class="com.google.common.io.Closeables" local-only="true"/> </subpackage> <subpackage name="javadoc"> <allow pkg="com.puppycrawl.tools.checkstyle.grammars.javadoc"/> <allow pkg="java.lang.reflect"/> <allow class="com.puppycrawl.tools.checkstyle.JavadocDetailNodeParser" local-only="true"/> <allow class="com.puppycrawl.tools.checkstyle.JavadocDetailNodeParser.+" regex="true" local-only="true"/> <!-- allowed till https://github.com/checkstyle/checkstyle/issues/3455 --> <allow class="com.google.common.base.CharMatcher" local-only="true"/> </subpackage> </subpackage> <subpackage name="doclets" strategyOnMismatch="disallowed"> <allow class="java.nio.charset.StandardCharsets"/> <allow pkg="com.sun.javadoc"/> <allow pkg="java.io"/> <allow pkg="java.util"/> </subpackage> <subpackage name="filters"> <allow pkg="net.sf.saxon"/> <allow class="java.lang.ref.WeakReference" local-only="true"/> <allow class="com.puppycrawl.tools.checkstyle.TreeWalkerAuditEvent" local-only="true"/> <allow class="com.puppycrawl.tools.checkstyle.TreeWalkerFilter" local-only="true"/> <allow class="com.puppycrawl.tools.checkstyle.XmlLoader" local-only="true"/> <disallow pkg="com\.puppycrawl\.tools\.checkstyle\.checks\.[^.]+" regex="true"/> <allow pkg="com.puppycrawl.tools.checkstyle.utils"/> <allow pkg="com.puppycrawl.tools.checkstyle.xpath"/> <allow class="java.nio.charset.StandardCharsets" local-only="true"/> </subpackage> <subpackage name="gui" strategyOnMismatch="disallowed"> <allow pkg="antlr"/> <allow pkg="java.awt"/> <allow pkg="java.io"/> <allow pkg="javax.swing"/> <allow pkg="java.util" exact-match="true"/> <allow pkg="com.puppycrawl.tools.checkstyle.api" local-only="true"/> <allow pkg="com.puppycrawl.tools.checkstyle.utils" local-only="true"/> <allow class="com.puppycrawl.tools.checkstyle.JavaParser" local-only="true"/> <allow class="com.puppycrawl.tools.checkstyle.gui.MainFrameModel.ParseMode" local-only="true"/> <allow class="com.puppycrawl.tools.checkstyle.JavadocDetailNodeParser" local-only="true"/> <allow class="com.google.common.collect.ImmutableList" local-only="true"/> <allow class="java.nio.charset.StandardCharsets" local-only="true" /> </subpackage> <subpackage name="xpath"> <allow pkg="net.sf.saxon"/> <allow class="java.lang.reflect.Field"/> <allow class="java.nio.charset.StandardCharsets" local-only="true"/> <allow pkg="com.puppycrawl.tools.checkstyle.utils" local-only="true"/> </subpackage> </import-control>