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{}