From 0ccffb0642ec15c8f3a5b0c287a72c4dff76241c Mon Sep 17 00:00:00 2001 From: Walter Oggioni Date: Mon, 23 Feb 2026 18:53:21 +0800 Subject: [PATCH] fixed default finalguard exclusion prefix --- .../woggioni/finalguard/FinalGuardPlugin.java | 43 ++++++++++++++++--- .../gradle/finalguard/FinalGuardPlugin.java | 2 +- gradle.properties | 2 +- 3 files changed, 40 insertions(+), 7 deletions(-) diff --git a/finalguard/finalguard-javac-plugin/src/main/java/net/woggioni/finalguard/FinalGuardPlugin.java b/finalguard/finalguard-javac-plugin/src/main/java/net/woggioni/finalguard/FinalGuardPlugin.java index 2f5fbea..9ebf946 100644 --- a/finalguard/finalguard-javac-plugin/src/main/java/net/woggioni/finalguard/FinalGuardPlugin.java +++ b/finalguard/finalguard-javac-plugin/src/main/java/net/woggioni/finalguard/FinalGuardPlugin.java @@ -1,19 +1,51 @@ package net.woggioni.finalguard; -import com.sun.source.tree.*; -import com.sun.source.util.*; +import com.sun.source.tree.AssignmentTree; +import com.sun.source.tree.BlockTree; +import com.sun.source.tree.CatchTree; +import com.sun.source.tree.CompilationUnitTree; +import com.sun.source.tree.CompoundAssignmentTree; +import com.sun.source.tree.EnhancedForLoopTree; +import com.sun.source.tree.ForLoopTree; +import com.sun.source.tree.IdentifierTree; +import com.sun.source.tree.LambdaExpressionTree; +import com.sun.source.tree.MethodTree; +import com.sun.source.tree.Tree; +import com.sun.source.tree.TryTree; +import com.sun.source.tree.UnaryTree; +import com.sun.source.tree.VariableTree; +import com.sun.source.util.JavacTask; +import com.sun.source.util.Plugin; +import com.sun.source.util.TaskEvent; +import com.sun.source.util.TaskListener; +import com.sun.source.util.TreePath; +import com.sun.source.util.TreePathScanner; +import com.sun.source.util.Trees; import javax.lang.model.element.Element; import javax.lang.model.element.ExecutableElement; import javax.lang.model.element.Modifier; import javax.tools.Diagnostic; -import java.util.*; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.AbstractMap; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; import java.util.stream.Collectors; public class FinalGuardPlugin implements Plugin { public static final String DEFAULT_LEVEL_KEY = "default.level"; public static final String EXCLUDE_KEY = "exclude"; - public static final String IGNORE_ABSTRACT_METHOD_PARAMS_KEY = "net.woggioni.finalguard.ignore.abstract.method.params"; + enum VariableType { LOCAL_VAR("local.variable.level"), METHOD_PARAM("method.param.level"), @@ -75,7 +107,8 @@ public class FinalGuardPlugin implements Plugin { final String[] parts = arg.split("=", 2); if (parts.length == 2) { if (EXCLUDE_KEY.equals(parts[0])) { - excluded.add(parts[1]); + final Path path = Paths.get(parts[1]); + excluded.add(path.toAbsolutePath().toString()); } else { props.put(parts[0], parts[1]); } diff --git a/finalguard/src/main/java/net/woggioni/gradle/finalguard/FinalGuardPlugin.java b/finalguard/src/main/java/net/woggioni/gradle/finalguard/FinalGuardPlugin.java index b971da8..b701787 100644 --- a/finalguard/src/main/java/net/woggioni/gradle/finalguard/FinalGuardPlugin.java +++ b/finalguard/src/main/java/net/woggioni/gradle/finalguard/FinalGuardPlugin.java @@ -67,7 +67,7 @@ public class FinalGuardPlugin implements Plugin { appendOption(xpluginArg, "catch.param.level", finalGuardExtension.getCatchParameterLevel()); appendOption(xpluginArg, "lambda.param.level", finalGuardExtension.getLambdaParameterLevel()); if (finalGuardExtension.getSkipGeneratedSources().getOrElse(true)) { - final File generatedSourceDir = options.getGeneratedSourceOutputDirectory().getAsFile().getOrNull(); + final File generatedSourceDir = project.getLayout().getBuildDirectory().getAsFile().get(); if (generatedSourceDir != null) { appendOption(xpluginArg, EXCLUDE_KEY, generatedSourceDir.getAbsolutePath()); } diff --git a/gradle.properties b/gradle.properties index 2134a37..97b0dee 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ lys.catalog.version=2025.12.27 -version.myGradlePlugins=2026.02.19 +version.myGradlePlugins=2026.02.23 version.gradle=9.3.1 gitea.maven.url = https://gitea.woggioni.net/api/packages/woggioni/maven