Created
November 14, 2022 13:28
-
-
Save lptr/b015ece5ba3ae66dce4891c8951a3233 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/subprojects/core/src/main/java/org/gradle/plugin/management/internal/autoapply/AutoAppliedPluginRegistry.java b/subprojects/core/src/main/java/org/gradle/plugin/management/internal/autoapply/AutoAppliedPluginRegistry.java | |
index 783884a76ad..d1de44d30d0 100644 | |
--- a/subprojects/core/src/main/java/org/gradle/plugin/management/internal/autoapply/AutoAppliedPluginRegistry.java | |
+++ b/subprojects/core/src/main/java/org/gradle/plugin/management/internal/autoapply/AutoAppliedPluginRegistry.java | |
@@ -18,6 +18,7 @@ | |
import org.gradle.api.Project; | |
import org.gradle.api.initialization.Settings; | |
+import org.gradle.plugin.management.PluginRequest; | |
import org.gradle.plugin.management.internal.PluginRequests; | |
/** | |
@@ -34,4 +35,8 @@ public interface AutoAppliedPluginRegistry { | |
PluginRequests getAutoAppliedPlugins(Project target); | |
PluginRequests getAutoAppliedPlugins(Settings target); | |
+ | |
+ interface PluginAutoApplicationListener { | |
+ void pluginAutoApplied(PluginRequest request); | |
+ } | |
} | |
diff --git a/subprojects/enterprise/src/main/java/org/gradle/internal/enterprise/impl/GradleEnterpriseAutoAppliedPluginRegistry.java b/subprojects/enterprise/src/main/java/org/gradle/internal/enterprise/impl/GradleEnterpriseAutoAppliedPluginRegistry.java | |
index 854109d10f7..a6eae03c9cf 100644 | |
--- a/subprojects/enterprise/src/main/java/org/gradle/internal/enterprise/impl/GradleEnterpriseAutoAppliedPluginRegistry.java | |
+++ b/subprojects/enterprise/src/main/java/org/gradle/internal/enterprise/impl/GradleEnterpriseAutoAppliedPluginRegistry.java | |
@@ -25,6 +25,9 @@ | |
import org.gradle.api.internal.artifacts.DefaultModuleIdentifier; | |
import org.gradle.api.internal.artifacts.DefaultModuleVersionSelector; | |
import org.gradle.api.invocation.Gradle; | |
+import org.gradle.internal.concurrent.Stoppable; | |
+import org.gradle.internal.event.ListenerManager; | |
+import org.gradle.plugin.management.PluginRequest; | |
import org.gradle.plugin.management.internal.DefaultPluginRequest; | |
import org.gradle.plugin.management.internal.PluginRequestInternal; | |
import org.gradle.plugin.management.internal.PluginRequests; | |
@@ -33,12 +36,18 @@ | |
import static org.gradle.initialization.StartParameterBuildOptions.BuildScanOption; | |
-public class GradleEnterpriseAutoAppliedPluginRegistry implements AutoAppliedPluginRegistry { | |
+public class GradleEnterpriseAutoAppliedPluginRegistry implements AutoAppliedPluginRegistry, AutoAppliedPluginRegistry.PluginAutoApplicationListener, Stoppable { | |
private final GradleEnterprisePluginAutoAppliedStatus autoAppliedStatus; | |
+ private final ListenerManager listenerManager; | |
- public GradleEnterpriseAutoAppliedPluginRegistry(GradleEnterprisePluginAutoAppliedStatus autoAppliedStatus) { | |
+ public GradleEnterpriseAutoAppliedPluginRegistry( | |
+ GradleEnterprisePluginAutoAppliedStatus autoAppliedStatus, | |
+ ListenerManager listenerManager | |
+ ) { | |
this.autoAppliedStatus = autoAppliedStatus; | |
+ this.listenerManager = listenerManager; | |
+ listenerManager.addListener(this); | |
} | |
@Override | |
@@ -76,7 +85,19 @@ private PluginRequestInternal createGradleEnterprisePluginRequest() { | |
); | |
} | |
+ @Override | |
+ public void pluginAutoApplied(PluginRequest request) { | |
+ if (request.getId().equals(AutoAppliedGradleEnterprisePlugin.ID)) { | |
+ autoAppliedStatus.markAsAutoApplied(); | |
+ } | |
+ } | |
+ | |
private static String getScriptDisplayName() { | |
return String.format("auto-applied by using --%s", BuildScanOption.LONG_OPTION); | |
} | |
+ | |
+ @Override | |
+ public void stop() { | |
+ listenerManager.removeListener(this); | |
+ } | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment