Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Checkstyle, Unable to create Root Module

I'm trying to configure Checkstyle in the project. I've added:

    apply plugin: 'checkstyle'     checkstyle {         // assign the latest checkstyle version explicitly         // default version is very old, likes 5.9         toolVersion = '8.6'         // checkstyle.xml copy from:         // https://raw.githubusercontent.com/checkstyle/checkstyle/checkstyle-8.6/src/main/resources/google_checks.xml         // the version should be as same as plugin version         configFile = rootProject.file('config/checkstyle/checkstyle.xml')     }     task Checkstyle(type: Checkstyle) {         source 'src/main/java'         include '**/*.java'         exclude '**/gen/**'         exclude '**/R.java'         exclude '**/BuildConfig.java'          // empty classpath         classpath = rootProject.files()     } 

to my root gradle file in allprojects.

But when I run ./gradlew checkstyle

I get:

* What went wrong: Execution failed for task ':app:Checkstyle'. > Unable to create Root Module: config {/Users/user/Development/project/config/checkstyle/checkstyle.xml}, classpath {null}. 

Even the file with rules is located in specified dir.

like image 555
Dawid Hyży Avatar asked Apr 04 '18 07:04

Dawid Hyży


2 Answers

This happened to me when I updated Android Gradle Plugin to 3.3.0

Please run this:

./gradlew checkstyle --stacktrace

Probably you will need to check your checkstyle.xml config file.

I needed to move those two tags:

 <module name="SuppressionCommentFilter"/>          <!--Enable usage SUPPRESS CHECKSTYLE comment-->         <module name="SuppressWithNearbyCommentFilter">             <property name="commentFormat" value="CHECKSTYLE IGNORE"/>             <property name="checkFormat" value=".*"/>             <property name="influenceFormat" value="0"/>         </module> 

inside

<module name="TreeWalker">  

tag

Also I needed to remove:

<module name="SuppressionCommentFilter"/> 
like image 150
Mladen Rakonjac Avatar answered Sep 20 '22 09:09

Mladen Rakonjac


From the release notes of version 8.24:

Change LineLength Check parent from TreeWalker to Checker.

So I had to move

<module name="LineLength">

from inside

<module name="TreeWalker">

to inside

<module name="Checker">

like image 42
kaybee99 Avatar answered Sep 20 '22 09:09

kaybee99