diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index 932827cf..ce4b500d 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -25,3 +25,5 @@ jobs: build: name: Verify uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml@v4 + with: + maven4-enabled: true diff --git a/pom.xml b/pom.xml index 4596f97c..47ec8c84 100644 --- a/pom.xml +++ b/pom.xml @@ -396,6 +396,7 @@ under the License. ${project.build.directory}/local-repo false true + true clean site diff --git a/src/it/MPMD-323-ruleset-basedir-jgitver/invoker.properties b/src/it/MPMD-323-ruleset-basedir-jgitver/invoker.properties index 7f2402bc..cff89989 100644 --- a/src/it/MPMD-323-ruleset-basedir-jgitver/invoker.properties +++ b/src/it/MPMD-323-ruleset-basedir-jgitver/invoker.properties @@ -17,3 +17,7 @@ invoker.goals = clean verify invoker.java.version = 11+ + +# TODO investigate on Maven 4 +# [ERROR] detection of jgitver old setting mechanism: jgitver must now use maven core extensions only -> [Help 1] +invoker.maven.version=!4+ diff --git a/src/it/MPMD-335-aggregate-classpath-repositories/pom.xml b/src/it/MPMD-335-aggregate-classpath-repositories/pom.xml index a5533b5d..b422dd42 100644 --- a/src/it/MPMD-335-aggregate-classpath-repositories/pom.xml +++ b/src/it/MPMD-335-aggregate-classpath-repositories/pom.xml @@ -57,7 +57,12 @@ under the License. corp1 - file://${user.dir}/private-repo + + @baseurl@/target/it/MPMD-335-aggregate-classpath-repositories/private-repo + + + ignore + diff --git a/src/main/java/org/apache/maven/plugins/pmd/AbstractPmdReport.java b/src/main/java/org/apache/maven/plugins/pmd/AbstractPmdReport.java index 3c3164af..3176dadf 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/AbstractPmdReport.java +++ b/src/main/java/org/apache/maven/plugins/pmd/AbstractPmdReport.java @@ -453,18 +453,6 @@ protected boolean canGenerateReportInternal() throws MavenReportException { return true; } - protected String determineCurrentRootLogLevel() { - String logLevel = System.getProperty("org.slf4j.simpleLogger.defaultLogLevel"); - if (logLevel == null) { - logLevel = System.getProperty("maven.logging.root.level"); - } - if (logLevel == null) { - // TODO: logback level - logLevel = "info"; - } - return logLevel; - } - static String getPmdVersion() { return PMDVersion.VERSION; } diff --git a/src/main/java/org/apache/maven/plugins/pmd/CpdReport.java b/src/main/java/org/apache/maven/plugins/pmd/CpdReport.java index d117f3dc..463652a4 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/CpdReport.java +++ b/src/main/java/org/apache/maven/plugins/pmd/CpdReport.java @@ -184,7 +184,6 @@ private void executeCpd() throws MavenReportException { request.setIgnoreLiterals(ignoreLiterals); request.setSourceEncoding(getInputEncoding()); request.addFiles(filesToProcess.keySet()); - request.setLogLevel(determineCurrentRootLogLevel()); request.setExcludeFromFailureFile(excludeFromFailureFile); request.setTargetDirectory(targetDirectory.getAbsolutePath()); request.setOutputEncoding(getOutputEncoding()); diff --git a/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java b/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java index d16845d4..ecdc78f9 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java +++ b/src/main/java/org/apache/maven/plugins/pmd/PmdReport.java @@ -367,7 +367,6 @@ private void executePmd() throws MavenReportException { request.setSkipPmdError(skipPmdError); request.setIncludeXmlInReports(includeXmlInReports); request.setReportOutputDirectory(getReportOutputDirectory().getAbsolutePath()); - request.setLogLevel(determineCurrentRootLogLevel()); request.setJdkToolchain(getJdkToolchain()); getLog().info("PMD version: " + AbstractPmdReport.getPmdVersion()); diff --git a/src/main/java/org/apache/maven/plugins/pmd/exec/CpdExecutor.java b/src/main/java/org/apache/maven/plugins/pmd/exec/CpdExecutor.java index f84162e4..de7ddc93 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/exec/CpdExecutor.java +++ b/src/main/java/org/apache/maven/plugins/pmd/exec/CpdExecutor.java @@ -101,7 +101,6 @@ public static void main(String[] args) { try (ObjectInputStream in = new ObjectInputStream(new FileInputStream(requestFile))) { CpdRequest request = (CpdRequest) in.readObject(); CpdExecutor cpdExecutor = new CpdExecutor(request); - cpdExecutor.setupLogLevel(request.getLogLevel()); cpdExecutor.run(); System.exit(0); } catch (IOException | ClassNotFoundException | MavenReportException e) { diff --git a/src/main/java/org/apache/maven/plugins/pmd/exec/CpdRequest.java b/src/main/java/org/apache/maven/plugins/pmd/exec/CpdRequest.java index f972bbfa..efcff60f 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/exec/CpdRequest.java +++ b/src/main/java/org/apache/maven/plugins/pmd/exec/CpdRequest.java @@ -45,8 +45,6 @@ public class CpdRequest implements Serializable { private String sourceEncoding; private List files = new ArrayList<>(); - private String logLevel; - private String excludeFromFailureFile; private String targetDirectory; private String outputEncoding; @@ -105,10 +103,6 @@ public void setReportOutputDirectory(String reportOutputDirectory) { this.reportOutputDirectory = reportOutputDirectory; } - public void setLogLevel(String logLevel) { - this.logLevel = logLevel; - } - public Map getJdkToolchain() { return jdkToolchain; } @@ -157,10 +151,6 @@ public String getReportOutputDirectory() { return reportOutputDirectory; } - public String getLogLevel() { - return logLevel; - } - public boolean isIgnoreAnnotations() { return ignoreAnnotations; } diff --git a/src/main/java/org/apache/maven/plugins/pmd/exec/Executor.java b/src/main/java/org/apache/maven/plugins/pmd/exec/Executor.java index e128f7c1..f92630ad 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/exec/Executor.java +++ b/src/main/java/org/apache/maven/plugins/pmd/exec/Executor.java @@ -30,28 +30,9 @@ import java.net.URLDecoder; import java.nio.charset.StandardCharsets; -import org.apache.maven.cli.logging.Slf4jConfiguration; -import org.apache.maven.cli.logging.Slf4jConfigurationFactory; import org.codehaus.plexus.logging.console.ConsoleLogger; -import org.slf4j.ILoggerFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; abstract class Executor { - private static final Logger LOG = LoggerFactory.getLogger(Executor.class); - - protected void setupLogLevel(String logLevel) { - ILoggerFactory slf4jLoggerFactory = LoggerFactory.getILoggerFactory(); - Slf4jConfiguration slf4jConfiguration = Slf4jConfigurationFactory.getConfiguration(slf4jLoggerFactory); - if ("debug".equals(logLevel)) { - slf4jConfiguration.setRootLoggerLevel(Slf4jConfiguration.Level.DEBUG); - } else if ("info".equals(logLevel)) { - slf4jConfiguration.setRootLoggerLevel(Slf4jConfiguration.Level.INFO); - } else { - slf4jConfiguration.setRootLoggerLevel(Slf4jConfiguration.Level.ERROR); - } - slf4jConfiguration.activate(); - } protected static String buildClasspath() { StringBuilder classpath = new StringBuilder(); @@ -74,7 +55,7 @@ static void buildClasspath(StringBuilder classpath, ClassLoader cl) { String filename = URLDecoder.decode(url.getPath(), StandardCharsets.UTF_8.name()); classpath.append(new File(filename).getPath()).append(File.pathSeparatorChar); } catch (UnsupportedEncodingException e) { - LOG.warn("Ignoring " + url + " in classpath due to UnsupportedEncodingException", e); + // skip as we provide the correct standard encoding } } } @@ -109,7 +90,7 @@ public void run() { } out.flush(); } catch (IOException e) { - LOG.error(e.getMessage(), e); + e.printStackTrace(); } } } diff --git a/src/main/java/org/apache/maven/plugins/pmd/exec/PmdExecutor.java b/src/main/java/org/apache/maven/plugins/pmd/exec/PmdExecutor.java index 09a3ca2b..d2a0002a 100644 --- a/src/main/java/org/apache/maven/plugins/pmd/exec/PmdExecutor.java +++ b/src/main/java/org/apache/maven/plugins/pmd/exec/PmdExecutor.java @@ -117,7 +117,6 @@ public static void main(String[] args) { try (ObjectInputStream in = new ObjectInputStream(new FileInputStream(requestFile))) { PmdRequest request = (PmdRequest) in.readObject(); PmdExecutor pmdExecutor = new PmdExecutor(request); - pmdExecutor.setupLogLevel(request.getLogLevel()); pmdExecutor.run(); System.exit(0); } catch (IOException | ClassNotFoundException | MavenReportException e) {