Checks for a duplicate import statements.
Checks for an import of a class that is within the same package as the importing class.
New in CodeNarc 0.14 Avoid importing anything from the 'sun.*' packages. These packages are not portable and are likely to change.
Example of violations:
import sun.misc.foo import sun.misc.foo as Foo public class MyClass{}
New in CodeNarc 0.14 Checks for static import statements which should never be after nonstatic imports.
This rule has one property comesBefore, which defaults to true. If you like your static imports to come after the others, then set this property to false.
Examples of violations:
import my.something.another import static foo.bar public class MyClass{}
Checks for an import from any package that is already automatically imported for Groovy files. A Groovy file does not need to include an import for classes from java.lang, java.util, java.io, java.net, groovy.lang and groovy.util, as well as the classes java.math.BigDecimal and java.math.BigInteger.
Checks for import statements for classes that are never referenced within the source file. Also checks static imports.
Known limitations:
Since CodeNarc 0.21
Wildcard imports, static or otherwise, should not be used.
Example of violations:
import my.something.* import static foo.bar.* public class MyClass{}