diff --git a/src/main/java/org/javamodularity/moduleplugin/ModuleSystemPlugin.java b/src/main/java/org/javamodularity/moduleplugin/ModuleSystemPlugin.java index c5bb11f..33a733d 100644 --- a/src/main/java/org/javamodularity/moduleplugin/ModuleSystemPlugin.java +++ b/src/main/java/org/javamodularity/moduleplugin/ModuleSystemPlugin.java @@ -27,6 +27,7 @@ public void apply(Project project) { new ModuleName().findModuleName(project).ifPresent(moduleName -> configureModularity(project, moduleName)); } + @SuppressWarnings("deprecation") private void configureModularity(Project project, String moduleName) { ExtensionContainer extensions = project.getExtensions(); extensions.add("moduleName", moduleName); diff --git a/src/main/java/org/javamodularity/moduleplugin/extensions/PatchModuleContainer.java b/src/main/java/org/javamodularity/moduleplugin/extensions/PatchModuleContainer.java index 96f0553..ba5c92c 100644 --- a/src/main/java/org/javamodularity/moduleplugin/extensions/PatchModuleContainer.java +++ b/src/main/java/org/javamodularity/moduleplugin/extensions/PatchModuleContainer.java @@ -73,6 +73,7 @@ public static void configure(Project project) { project.afterEvaluate(container::configureAfterEvaluate); } + @SuppressWarnings("deprecation") private void configureAfterEvaluate(Project project) { PatchModuleExtension patchModuleExtension = new JavaProjectHelper(project).extension(PatchModuleExtension.class); patchModuleExtension.getConfig().forEach( config -> { diff --git a/src/main/java/org/javamodularity/moduleplugin/extensions/PatchModuleExtension.java b/src/main/java/org/javamodularity/moduleplugin/extensions/PatchModuleExtension.java index 6fe24d1..50b1cd8 100644 --- a/src/main/java/org/javamodularity/moduleplugin/extensions/PatchModuleExtension.java +++ b/src/main/java/org/javamodularity/moduleplugin/extensions/PatchModuleExtension.java @@ -27,12 +27,14 @@ public void setConfig(List config) { } /** @deprecated As of 1.7.0, this method is no longer used and can be removed */ + @SuppressWarnings("removal") @Deprecated(since = "1.7.0", forRemoval = true) public PatchModuleResolver resolvePatched(FileCollection classpath) { return resolvePatched(jarName -> classpath.filter(jar -> jar.getName().endsWith(jarName)).getAsPath()); } /** @deprecated As of 1.7.0, this method is no longer used and can be removed */ + @SuppressWarnings("removal") @Deprecated(since = "1.7.0", forRemoval = true) public PatchModuleResolver resolvePatched(UnaryOperator jarNameResolver) { return new PatchModuleResolver(this, jarNameResolver); diff --git a/src/main/java/org/javamodularity/moduleplugin/tasks/ClasspathFile.java b/src/main/java/org/javamodularity/moduleplugin/tasks/ClasspathFile.java index 17f1a09..bcb0234 100644 --- a/src/main/java/org/javamodularity/moduleplugin/tasks/ClasspathFile.java +++ b/src/main/java/org/javamodularity/moduleplugin/tasks/ClasspathFile.java @@ -4,6 +4,7 @@ import java.util.Map; import java.util.Optional; import java.util.concurrent.ConcurrentSkipListMap; +import java.util.stream.Stream; import org.gradle.api.Task; import org.gradle.api.logging.Logger; import org.gradle.api.logging.Logging; @@ -132,8 +133,7 @@ public void configure(final Task task) { // // - rootNode.children().stream() // loop over all children - .filter(i -> i instanceof Node) // better safe than sorry + children(rootNode) // loop over all children .filter(i -> NAME_ITEM.equals(((Node)i).name())) // with name "classpathentry" .filter(i -> isKindOf((Node)i, "lib")) // kind of "lib" .filter(i -> getGradleScope((Node)i).contains("main")) // appropriate gradle scope @@ -169,8 +169,7 @@ public void configure(final Task task) { // // - rootNode.children().stream() // loop over all children - .filter(i -> i instanceof Node) // better safe than sorry + children(rootNode) // loop over all children .filter(i -> NAME_ITEM.equals(((Node)i).name())) // with name "classpathentry" .filter(i -> "test".equals(getGradleScope((Node)i))) // appropriate gradle scope .filter(i -> hasNoAttributeTest((Node)i)) // without "test" information @@ -193,8 +192,7 @@ public void configure(final Task task) { * XML-content to be improved */ /* package */ void putJreOnModulePath(final Node rootNode) { - rootNode.children().stream() // loop over all children - .filter(i -> i instanceof Node) // better safe than sorry + children(rootNode) // loop over all children .filter(i -> NAME_ITEM.equals(((Node)i).name())) // with name "classpathentry" .filter(i -> isJre((Node)i)) // indicating JRE .filter(i -> hasNoAttributeModule((Node)i)) // without "module" information @@ -225,8 +223,7 @@ public void configure(final Task task) { // ... Note 1: In real usage (i.e. no test scenario) item has name "classpathentry". - final Optional oChild = item.children().stream() // loop over all children - .filter(c -> c instanceof Node) // better safe than sorry + final Optional oChild = children(item) // loop over all children .filter(c -> NAME_CHILD.equals(((Node)c).name())) // with name "attributes" .findFirst(); // first child named "attributes" @@ -267,8 +264,7 @@ public void configure(final Task task) { /* package */ Optional getAttributeNamed(final Node child, final String name) { // ... Note 1: In real usage (i.e. no test scenario) node has name "attributes". - return child.children().stream() // loop over all children - .filter(g -> g instanceof Node) // better safe than sorry + return children(child) // loop over all children .filter(g -> NAME_GRAND.equals(((Node)g).name())) // nodes with name "attribute" .filter(g -> name.equals(((Node)g).attribute("name"))) // nodes with appropriate attribute .findFirst(); @@ -287,8 +283,7 @@ public void configure(final Task task) { /* package */ boolean hasNoAttributeModule(final Node item) { // ... Note 1: In real usage (i.e. no test scenario) item has name "classpathentry". - return item.children().stream() // loop over all children - .filter(c -> c instanceof Node) // better safe than sorry + return children(item) // loop over all children .filter(c -> NAME_CHILD.equals(((Node)c).name())) // child named "attributes" .filter(c -> hasAttributeNamed((Node)c, "module")) // grand-child with attribute "module" .findFirst() @@ -308,8 +303,7 @@ public void configure(final Task task) { /* package */ boolean hasNoAttributeTest(final Node item) { // ... Note 1: In real usage (i.e. no test scenario) item has name "classpathentry". - return item.children().stream() // loop over all children - .filter(c -> c instanceof Node) // better safe than sorry + return children(item) // loop over all children .filter(c -> NAME_CHILD.equals(((Node)c).name())) // child named "attributes" .filter(c -> hasAttributeNamed((Node)c, "test")) // grand-child with attribute "test" .findFirst() @@ -437,8 +431,7 @@ public void run() { map.put("value", "true"); // --- find first child named "attributes" - item.children().stream() // loop over all children - .filter(c -> c instanceof Node) // better safe than sorry + children(item) // loop over all children .filter(c -> NAME_CHILD.equals(((Node)c).name())) // nodes with name "attributes" .findFirst() .ifPresentOrElse( @@ -452,4 +445,11 @@ public void run() { new AddAttribute(item, map) ); // end ifPresentOrElse(...) } // end method */ + + @SuppressWarnings("unchecked") + private static Stream children(final Node item) { + return item.children().stream() + .filter(c -> c instanceof Node) + .map(Node.class::cast); + } } // end class \ No newline at end of file diff --git a/src/test/java/org/javamodularity/moduleplugin/tasks/CompileJavaTaskMutatorTest.java b/src/test/java/org/javamodularity/moduleplugin/tasks/CompileJavaTaskMutatorTest.java index ab63fa4..670a3a3 100644 --- a/src/test/java/org/javamodularity/moduleplugin/tasks/CompileJavaTaskMutatorTest.java +++ b/src/test/java/org/javamodularity/moduleplugin/tasks/CompileJavaTaskMutatorTest.java @@ -18,6 +18,7 @@ class CompileJavaTaskMutatorTest { + @SuppressWarnings("deprecation") @Test void modularizeJavaCompileTask() { // given