我有multi-module composite build project。
项目结构如下:
Panda. // Root project
-PandaService. // Service module
-PandaDataAccessLayer // DAL module whose code are generated with JOOQ
我想排除checkstyle的PandaDataAccessLayer
模块,因为它的代码是用JOOQ自动生成的。
我的checkstyle.xml位于Panda/config/checkstyle/checkstyle.xml
,下面是我的根项目Panda
中的build.gradle
:
repositories {
mavenCentral() // Use Maven Central for resolving dependencies.
}
subprojects {
apply plugin: 'java'
apply plugin: 'checkstyle'
checkstyle {
toolVersion = '10.7.0'
configFile = rootProject.file('config/checkstyle/checkstyle.xml')
checkstyleMain.exclude '**/PandaDataAccessLayer/**'
}
sourceCompatibility = '11'
targetCompatibility = '11'
}
我可以看到checkstyle正在运行./gradlew build
。然而,生成的报告仍然显示它检查PandaDataAccessLayer
模块中的代码。Checkstyle rule violations were found. See the report at:file:///****/panda/PandaDataAccessLayer/build/reports/checkstyle/main.html
如何从checkstyle中完全排除PandaDataAccessLayer
?
1条答案
按热度按时间mepcadol1#
要在rootProject/main项目和所有子模块中激活checkstyle,您必须执行以下步骤
1.在根项目中添加
allprojects { apply plugin:在这里,您可以找到一个简单的方法来解决这个问题。您可以在这里找到一个简单的方法来解决这个问题。您可以在这里找到一个简单的方法来解决这个问题。
}
1.在子模块的gradle文件中
插件{ id 'java' id 'checkstyle' }
checkstyle { toolVersion = '10.6.0' configFile = file(“${rootDir}/config/checkstyle/checkstyle_google_customized.xml”)ignoreFailures = false maxWarnings = 0 }
如果你排除了一个子模块,那么只排除第二步,它只会考虑主项目