From 8c0dd7c29420275612bc285d6767a7bbe5de391f Mon Sep 17 00:00:00 2001 From: Natig Babayev Date: Wed, 2 Jul 2025 15:28:50 +0300 Subject: [PATCH] Apply JavaPlugin conditionally This pull request addresses an issue where the revapi-gradle-plugin unconditionally applies the org.gradle.api.plugins.JavaPlugin. This can lead to build failures in projects where a compatible Java plugin (like com.android.library or java-library itself) is already applied, resulting in errors such as "Cannot add task 'test' as a task with that name already exists." --- src/main/java/org/revapi/gradle/RevapiPlugin.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/revapi/gradle/RevapiPlugin.java b/src/main/java/org/revapi/gradle/RevapiPlugin.java index 8e6feb3b..1c90ec7f 100644 --- a/src/main/java/org/revapi/gradle/RevapiPlugin.java +++ b/src/main/java/org/revapi/gradle/RevapiPlugin.java @@ -46,7 +46,12 @@ public final class RevapiPlugin implements Plugin { @Override public void apply(Project project) { project.getPluginManager().apply(LifecycleBasePlugin.class); - project.getPluginManager().apply(JavaPlugin.class); + if (!project.getPlugins().hasPlugin("java") && + !project.getPlugins().hasPlugin("java-library") && + !project.getPlugins().hasPlugin("com.android.library") && + !project.getPlugins().hasPlugin("com.android.application")) { + project.getPluginManager().apply(JavaPlugin.class); + } RevapiExtension extension = project.getExtensions().create("revapi", RevapiExtension.class, project);