From 37eae99a3b4b10f4b5711a31231f3a6d7db9a5cb Mon Sep 17 00:00:00 2001 From: David Walluck Date: Wed, 7 Feb 2024 11:54:03 -0500 Subject: [PATCH] Remove animalsniffer plugin automatically --- .../jboss/gm/common/utils/PluginUtils.java | 6 ++- .../gm/common/utils/PluginUtilsTest.java | 40 +++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/common/src/main/java/org/jboss/gm/common/utils/PluginUtils.java b/common/src/main/java/org/jboss/gm/common/utils/PluginUtils.java index 1a0e4246..e7ce444c 100644 --- a/common/src/main/java/org/jboss/gm/common/utils/PluginUtils.java +++ b/common/src/main/java/org/jboss/gm/common/utils/PluginUtils.java @@ -59,6 +59,10 @@ public class PluginUtils { PLUGINS.put("nebula.publish-verification", new PluginReference("nebulaPublishVerification")); PLUGINS.put("signing", new PluginReference(Collections.singleton("signing"), "SigningPlugin", null)); PLUGINS.put(SEMANTIC_BUILD_VERSIONING, new PluginReference("preRelease")); + PLUGINS.put("ru.vyarus.animalsniffer", new PluginReference(Stream.of("animalsniffer").collect( + Collectors.toSet()), "", + Stream.of("org.codehaus.mojo.signature:", "ru.vyarus:gradle-animalsniffer-plugin") + .collect(Collectors.toSet()))); } /** @@ -141,7 +145,7 @@ public static DokkaVersion parseVersion(String version) public static void pluginRemoval(Logger logger, File target, Set plugins) throws ManipulationException { - if (plugins == null || plugins.size() == 0) { + if (plugins == null || plugins.isEmpty()) { return; } else if (plugins.contains("ALL")) { // Shortcut to represent removing any/all of the supported plugins diff --git a/common/src/test/java/org/jboss/gm/common/utils/PluginUtilsTest.java b/common/src/test/java/org/jboss/gm/common/utils/PluginUtilsTest.java index e4a9da46..e0ed83a0 100644 --- a/common/src/test/java/org/jboss/gm/common/utils/PluginUtilsTest.java +++ b/common/src/test/java/org/jboss/gm/common/utils/PluginUtilsTest.java @@ -969,6 +969,46 @@ public void testRemoval17() assertFalse(result.contains("")); } + @Test + public void testRemoval18() + throws IOException, ManipulationException { + + File target = folder.newFile("build.gradle"); + org.apache.commons.io.FileUtils.writeStringToFile(target, + "buildscript {\n" + + " repositories {\n" + + " jcenter()\n" + + " mavenCentral()\n" + + " maven {\n" + + " url \"https://plugins.gradle.org/m2/\"\n" + + " }\n" + + " }\n" + + " dependencies {\n" + + " classpath \"ru.vyarus:gradle-animalsniffer-plugin:1.2.0\"\n" + + " }\n" + + "}\n" + + "\n" + + "apply plugin: \"ru.vyarus.animalsniffer\"\n" + + "\n" + + "dependencies {\n" + + " signature \"org.codehaus.mojo.signature:java16:1.1@signature\"\n" + + "}\n" + + "\n" + + "animalsniffer {\n" + + " annotation = \"io.reactivex.internal.util.SuppressAnimalSniffer\"\n" + + "}", + Charset.defaultCharset()); + + HashSet plugins = new LinkedHashSet<>(); + plugins.add("ALL"); + PluginUtils.pluginRemoval(logger, target.getParentFile(), plugins); + + String result = FileUtils.readFileToString(target, Charset.defaultCharset()); + + assertFalse(result.contains("signature")); + assertFalse(result.contains("animalsniffer")); + } + @Test public void testCheckForSemanticPlugin1() throws IOException, ManipulationException {