Added PMD extension

This commit is contained in:
Erik C. Thauvin 2023-11-25 15:00:41 -08:00
parent b333128660
commit ba4741062c
5 changed files with 129 additions and 12 deletions

View file

@ -16,6 +16,7 @@
package rife.bld.extension;
import rife.bld.BuildCommand;
import rife.bld.Project;
import rife.bld.publish.PublishDeveloper;
import rife.bld.publish.PublishLicense;
@ -93,4 +94,13 @@ public class DetektOperationBuild extends Project {
public static void main(String[] args) {
new DetektOperationBuild().start(args);
}
@BuildCommand(summary = "Check source code with PMD")
public void pmd() throws Exception {
new PmdOperation()
.fromProject(this)
.addRuleSet("config/pmd.xml")
.execute();
}
}

View file

@ -40,15 +40,15 @@ public class DetektOperation extends AbstractProcessOperation<DetektOperation> {
private final Collection<String> input_ = new ArrayList<>();
private final Collection<String> plugins_ = new ArrayList<>();
private final Collection<DetektReport> report_ = new ArrayList<>();
private boolean allRules_ = false;
private boolean autoCorrect_ = false;
private boolean allRules_;
private boolean autoCorrect_;
private String basePath_;
private String baseline_;
private boolean buildUponDefaultConfig_;
private String configResource_;
private boolean createBaseline_;
private boolean debug_ = false;
private boolean disableDefaultRuleSets_ = false;
private boolean debug_;
private boolean disableDefaultRuleSets_;
private String excludes_;
private boolean generateConfig_;
private String includes_;
@ -514,9 +514,7 @@ public class DetektOperation extends AbstractProcessOperation<DetektOperation> {
}
/**
* Enables parallel compilation and analysis of source files. Do some
* benchmarks first before enabling this flag. Heuristics show performance
* benefits starting from 2000 lines of Kotlin code.
* Extra paths to plugin jars.
*
* @param jars one or more jars
* @return this operation instance
@ -527,9 +525,7 @@ public class DetektOperation extends AbstractProcessOperation<DetektOperation> {
}
/**
* Enables parallel compilation and analysis of source files. Do some
* benchmarks first before enabling this flag. Heuristics show performance
* benefits starting from 2000 lines of Kotlin code.
* Extra paths to plugin jars.
*
* @param jars the list of jars
* @return this operation instance

View file

@ -29,9 +29,10 @@ import java.util.logging.ConsoleHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
import static org.assertj.core.api.Assertions.*;
import static org.assertj.core.api.Assertions.*; // NOPMD
@SuppressWarnings("PMD.AvoidDuplicateLiterals")
class DetektOperationTest {
@BeforeAll
static void beforeAll() {