@@ -116,8 +116,10 @@ public static void applyCheckstyle(@NonNull Logger logger, @NonNull Project proj
116116 logger .info ("Configuring extension `checkstyle`" );
117117 checkstyle .setToolVersion ("10.20.0" );
118118 checkstyle .setIgnoreFailures (false );
119+ });
119120
120- checkstyle .setConfigFile (ConfigUtils .getConfig (project , "checkstyle.xml" ));
121+ project .getTasks ().withType (Checkstyle .class , task -> {
122+ task .doFirst (_ -> task .setConfigFile (ConfigUtils .getConfig (project , "checkstyle.xml" )));
121123 });
122124 }
123125
@@ -128,12 +130,19 @@ public static void applyPmd(@NonNull Logger logger, @NonNull Project project) {
128130 pmd .setIgnoreFailures (true );
129131
130132 pmd .setConsoleOutput (true );
131-
132- pmd .ruleSetFiles (ConfigUtils .getConfig (project , "pmd-ruleset.xml" ));
133133 });
134+
135+ project .getTasks ().withType (Pmd .class , task -> task .doFirst (_ -> {
136+ var files = project .files (ConfigUtils .getConfig (project , "pmd-ruleset.xml" ));
137+ task .setRuleSetFiles (files );
138+ }));
134139 }
135140
136141 public static void applySpotBugs (@ NonNull Logger logger , @ NonNull Project project ) {
142+ var generateConfigs = project .getTasks ().register ("generateSpotbugsExludeConfig" , task -> {
143+ task .doLast (_ -> ConfigUtils .getConfig (project , "findbugs-exclude.xml" ));
144+ });
145+
137146 project .getExtensions ().configure (SpotBugsExtension .class , spotBugs -> {
138147 logger .info ("Configuring extension `spotBugs`" );
139148 spotBugs .getToolVersion ().set ("4.9.0" );
@@ -142,6 +151,7 @@ public static void applySpotBugs(@NonNull Logger logger, @NonNull Project projec
142151 });
143152
144153 project .getTasks ().withType (SpotBugsTask .class ).configureEach (task -> {
154+ task .dependsOn (generateConfigs );
145155 logger .info ("Configuring task `spotBugs`" );
146156 task .setIgnoreFailures (true );
147157 task .getExcludeFilter ().set (ConfigUtils .getConfig (project , "findbugs-exclude.xml" ));
0 commit comments