Reputation: 2257
I am trying to configure checkstyle plugin with gradle (in a java 11) project as follows:
checkstyle {
toolVersion = '8.2'
configFile = rootProject.file('config/checkstyle/checkstyle.xml')
configProperties = [
'checkstyle.cache.file': "${buildDir}/checkstyle.cache",
]
ignoreFailures = true
showViolations = true
}
My checkstyle.xml is like as follows:
<?xml version="1.0"?>
<code_scheme name="CustomStyle" version="1">
<AndroidXmlCodeStyleSettings>
<option name="USE_CUSTOM_SETTINGS" value="true"/>
<option name="LAYOUT_SETTINGS">
<value>
<option name="INSERT_BLANK_LINE_BEFORE_TAG" value="false"/>
</value>
</option>
......
And I am getting the below exception
Caused by: com.puppycrawl.tools.checkstyle.api.CheckstyleException: unable to parse configuration stream - Document is invalid: no grammar found.:3:13 at com.puppycrawl.tools.checkstyle.ConfigurationLoader.loadConfiguration(ConfigurationLoader.java:441) at com.puppycrawl.tools.checkstyle.ConfigurationLoader.loadConfiguration(ConfigurationLoader.java:386) at com.puppycrawl.tools.checkstyle.ant.CheckstyleAntTask.createRootModule(CheckstyleAntTask.java:407) ... 106 more Caused by: org.xml.sax.SAXParseException; systemId: file:/home/workspace/service/config/checkstyle/checkstyle.xml; lineNumber: 3; columnNumber: 13; Document is invalid: no grammar found.
Any pointers to fix this issue?
Upvotes: 2
Views: 10035
Reputation: 2201
My checkstyle.xml is like as follows:
<code_scheme name="CustomStyle" version="1">
This not the correct markup for checkstyle. Checkstyle configurations are like:
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"https://checkstyle.org/dtds/configuration_1_3.dtd">
<module name="Checker">
<property name="charset" value="UTF-8"/>
<module name="TreeWalker">
</module>
</module>
You can read https://checkstyle.sourceforge.io/config.html for more information.
It looks like what you have given it was an IntelliJ configuration file. Either way, it is not compatible with checkstyle.
Upvotes: 3
Reputation: 76769
you need to define what to check against; for example:
<!DOCTYPE module PUBLIC
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
"https://checkstyle.org/dtds/configuration_1_3.dtd">
which should be one of these .dtd files.
Upvotes: 0