Compare commits
2 commits
18576d27ba
...
9d301b5ef6
Author | SHA1 | Date | |
---|---|---|---|
9d301b5ef6 | |||
8218c4c945 |
5 changed files with 40 additions and 27 deletions
14
.vscode/launch.json
vendored
14
.vscode/launch.json
vendored
|
@ -1,23 +1,11 @@
|
||||||
{
|
{
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
"configurations": [
|
"configurations": [
|
||||||
{
|
|
||||||
"type": "java",
|
|
||||||
"name": "Run Main",
|
|
||||||
"request": "launch",
|
|
||||||
"mainClass": "rife.bld.extension.PmdOperation },
|
|
||||||
{
|
{
|
||||||
"type": "java",
|
"type": "java",
|
||||||
"name": "Run Tests",
|
"name": "Run Tests",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"mainClass": "org.junit.platform.console.ConsoleLauncher",
|
"mainClass": "rife.bld.extension.PmdOperationTest"
|
||||||
"args": [
|
|
||||||
"--details=verbose",
|
|
||||||
"--scan-classpath",
|
|
||||||
"--disable-banner",
|
|
||||||
"--disable-ansi-colors",
|
|
||||||
"--exclude-engine=junit-platform-suite",
|
|
||||||
"--exclude-engine=junit-vintage"]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
4
.vscode/settings.json
vendored
4
.vscode/settings.json
vendored
|
@ -7,8 +7,10 @@
|
||||||
],
|
],
|
||||||
"java.configuration.updateBuildConfiguration": "automatic",
|
"java.configuration.updateBuildConfiguration": "automatic",
|
||||||
"java.project.referencedLibraries": [
|
"java.project.referencedLibraries": [
|
||||||
"${HOME}bld-1.7.0-SNAPSHOT.jar",
|
"${HOME}/.bld/dist/bld-1.8.0.jar",
|
||||||
|
"lib/bld/*.jar",
|
||||||
"lib/compile/*.jar",
|
"lib/compile/*.jar",
|
||||||
|
"lib/provided/*.jar",
|
||||||
"lib/runtime/*.jar",
|
"lib/runtime/*.jar",
|
||||||
"lib/test/*.jar"
|
"lib/test/*.jar"
|
||||||
]
|
]
|
||||||
|
|
Binary file not shown.
|
@ -34,7 +34,7 @@ public class PmdOperationBuild extends Project {
|
||||||
public PmdOperationBuild() {
|
public PmdOperationBuild() {
|
||||||
pkg = "rife.bld.extension";
|
pkg = "rife.bld.extension";
|
||||||
name = "bld-pmd";
|
name = "bld-pmd";
|
||||||
version = version(0, 9, 5);
|
version = version(0, 9, 6);
|
||||||
|
|
||||||
javaRelease = 17;
|
javaRelease = 17;
|
||||||
downloadSources = true;
|
downloadSources = true;
|
||||||
|
@ -47,11 +47,11 @@ public class PmdOperationBuild extends Project {
|
||||||
.include(dependency("net.sourceforge.pmd", "pmd-java", pmd));
|
.include(dependency("net.sourceforge.pmd", "pmd-java", pmd));
|
||||||
scope(runtime)
|
scope(runtime)
|
||||||
.include(dependency("net.sourceforge.pmd", "pmd-java", pmd))
|
.include(dependency("net.sourceforge.pmd", "pmd-java", pmd))
|
||||||
.include(dependency("org.slf4j", "slf4j-simple", version(2, 0, 11)));
|
.include(dependency("org.slf4j", "slf4j-simple", version(2, 0, 12)));
|
||||||
scope(test)
|
scope(test)
|
||||||
.include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 10, 1)))
|
.include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 10, 2)))
|
||||||
.include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 10, 1)))
|
.include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 10, 2)))
|
||||||
.include(dependency("org.assertj", "assertj-core", version(3, 25, 2)));
|
.include(dependency("org.assertj", "assertj-core", version(3, 25, 3)));
|
||||||
|
|
||||||
javadocOperation()
|
javadocOperation()
|
||||||
.javadocOptions()
|
.javadocOptions()
|
||||||
|
|
|
@ -81,6 +81,10 @@ public class PmdOperation extends AbstractOperation<PmdOperation> {
|
||||||
* The path of the ignore file
|
* The path of the ignore file
|
||||||
*/
|
*/
|
||||||
Path ignoreFile_;
|
Path ignoreFile_;
|
||||||
|
/**
|
||||||
|
* The include line number toggle.
|
||||||
|
*/
|
||||||
|
boolean includeLineNumber_ = true;
|
||||||
/**
|
/**
|
||||||
* The incremental analysis toggle.
|
* The incremental analysis toggle.
|
||||||
*/
|
*/
|
||||||
|
@ -300,6 +304,18 @@ public class PmdOperation extends AbstractOperation<PmdOperation> {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables or disables including the line number for the beginning of the violation in the analyzed source file URI.
|
||||||
|
* <p>
|
||||||
|
* While clicking on the URI works in IntelliJ IDEA, Visual Studio Code, etc.; it might not in terminal emulators.
|
||||||
|
* <p>
|
||||||
|
* Default: {@code TRUE}
|
||||||
|
*/
|
||||||
|
public PmdOperation includeLineNumber(boolean includeLineNumber) {
|
||||||
|
includeLineNumber_ = includeLineNumber;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enables or disables incremental analysis.
|
* Enables or disables incremental analysis.
|
||||||
*/
|
*/
|
||||||
|
@ -399,14 +415,17 @@ public class PmdOperation extends AbstractOperation<PmdOperation> {
|
||||||
}
|
}
|
||||||
var numErrors = report.getViolations().size();
|
var numErrors = report.getViolations().size();
|
||||||
if (numErrors > 0) {
|
if (numErrors > 0) {
|
||||||
var msg = String.format(
|
|
||||||
"[%s] %d rule violations were found. See the report at: %s", commandName, numErrors,
|
|
||||||
config.getReportFilePath().toUri());
|
|
||||||
for (var v : report.getViolations()) {
|
for (var v : report.getViolations()) {
|
||||||
if (LOGGER.isLoggable(Level.WARNING)) {
|
if (LOGGER.isLoggable(Level.WARNING)) {
|
||||||
LOGGER.log(Level.WARNING, "[{0}] {1}:{2}:\n\t{3} ({4})\n\t\t--> {5}",
|
final String msg;
|
||||||
|
if (includeLineNumber_) {
|
||||||
|
msg = "[{0}] {1}:{2}\n\t{3} ({4})\n\t\t--> {5}";
|
||||||
|
} else {
|
||||||
|
msg = "\"[{0}] {1} (line: {2})\\n\\t{3} ({4})\\n\\t\\t--> {5}\"";
|
||||||
|
}
|
||||||
|
LOGGER.log(Level.WARNING, msg,
|
||||||
new Object[]{commandName,
|
new Object[]{commandName,
|
||||||
v.getFileId().getAbsolutePath(),
|
v.getFileId().getUriString(),
|
||||||
v.getBeginLine(),
|
v.getBeginLine(),
|
||||||
v.getRule().getName(),
|
v.getRule().getName(),
|
||||||
v.getRule().getExternalInfoUrl() //TODO bug in PMD?
|
v.getRule().getExternalInfoUrl() //TODO bug in PMD?
|
||||||
|
@ -415,11 +434,15 @@ public class PmdOperation extends AbstractOperation<PmdOperation> {
|
||||||
v.getDescription()});
|
v.getDescription()});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var violations = String.format(
|
||||||
|
"[%s] %d rule violations were found. See the report at: %s", commandName, numErrors,
|
||||||
|
config.getReportFilePath().toUri());
|
||||||
if (config.isFailOnViolation()) {
|
if (config.isFailOnViolation()) {
|
||||||
throw new RuntimeException(msg); // NOPMD
|
throw new RuntimeException(violations); // NOPMD
|
||||||
} else {
|
} else {
|
||||||
if (LOGGER.isLoggable(Level.WARNING)) {
|
if (LOGGER.isLoggable(Level.WARNING)) {
|
||||||
LOGGER.warning(msg);
|
LOGGER.warning(violations);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue