From b6fa9f2948fb3202145621a9b1429c740f3d9cea Mon Sep 17 00:00:00 2001 From: Walter Oggioni Date: Sat, 28 Dec 2024 15:04:59 +0800 Subject: [PATCH] fixed configuration cache issue in Sambal plugin --- gradle.properties | 4 ++-- .../java/net/woggioni/gradle/sambal/SambalPlugin.java | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/gradle.properties b/gradle.properties index 5c51658..db7dddd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ -lys.catalog.version=2024.12.07 -version.myGradlePlugins=2024.12.08 +lys.catalog.version=2024.12.28 +version.myGradlePlugins=2024.12.28 version.gradle=8.11.1 gitea.maven.url = https://gitea.woggioni.net/api/packages/woggioni/maven diff --git a/sambal/src/main/java/net/woggioni/gradle/sambal/SambalPlugin.java b/sambal/src/main/java/net/woggioni/gradle/sambal/SambalPlugin.java index 2b4d2a8..896ce07 100644 --- a/sambal/src/main/java/net/woggioni/gradle/sambal/SambalPlugin.java +++ b/sambal/src/main/java/net/woggioni/gradle/sambal/SambalPlugin.java @@ -18,6 +18,7 @@ import org.gradle.api.plugins.AppliedPlugin; import org.gradle.api.plugins.ExtraPropertiesExtension; import org.gradle.api.plugins.JavaPlugin; import org.gradle.api.plugins.PluginManager; +import org.gradle.api.provider.Provider; import org.gradle.api.tasks.TaskContainer; import org.gradle.api.tasks.bundling.Jar; @@ -208,11 +209,11 @@ public class SambalPlugin implements Plugin { public void apply(Project project) { ExtraPropertiesExtension ext = project.getRootProject().getExtensions().getExtraProperties(); ext.set("getIntegerVersion", new MethodClosure(this, "getVersionInt").curry(project)); - ext.set("currentTag", getCurrentTag(project)); + ext.set("currentTag", project.provider(() -> getCurrentTag(project))); ext.set("resolveProperty", new MethodClosure(this, "resolveProperty").curry(project)); ext.set("copyConfigurationAttributes", new MethodClosure(this, "copyConfigurationAttributes")); - final String gitRevision = getGitRevision(project); - ext.set("gitRevision", gitRevision); + final Provider gitRevisionProvider = project.provider(() -> getGitRevision(project)); + ext.set("gitRevision", gitRevisionProvider); PluginManager pluginManager = project.getPluginManager(); pluginManager.withPlugin("java-library", (AppliedPlugin plugin) -> { @@ -223,7 +224,7 @@ public class SambalPlugin implements Plugin { Attributes attrs = mf.getAttributes(); attrs.put(java.util.jar.Attributes.Name.SPECIFICATION_TITLE.toString(), project.getName()); attrs.put(java.util.jar.Attributes.Name.SPECIFICATION_VERSION.toString(), project.getVersion()); - attrs.put(java.util.jar.Attributes.Name.IMPLEMENTATION_VERSION.toString(), gitRevision); + attrs.put(java.util.jar.Attributes.Name.IMPLEMENTATION_VERSION.toString(), gitRevisionProvider); }); }); });