You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2021/05/01 00:51:03 UTC

[tomee-patch-plugin] branch master updated: Don't fail builds because default patch directories are not present

This is an automated email from the ASF dual-hosted git repository.

dblevins pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee-patch-plugin.git


The following commit(s) were added to refs/heads/master by this push:
     new e8625bf  Don't fail builds because default patch directories are not present
e8625bf is described below

commit e8625bf3588b42ef9f47dca02d4a74317b1b9737
Author: David Blevins <da...@gmail.com>
AuthorDate: Fri Apr 30 17:50:49 2021 -0700

    Don't fail builds because default patch directories are not present
---
 .../org/apache/tomee/patch/plugin/PatchMojo.java   | 51 +++++++++++++---------
 1 file changed, 30 insertions(+), 21 deletions(-)

diff --git a/tomee-patch-plugin/src/main/java/org/apache/tomee/patch/plugin/PatchMojo.java b/tomee-patch-plugin/src/main/java/org/apache/tomee/patch/plugin/PatchMojo.java
index db3250b..a5b16f5 100644
--- a/tomee-patch-plugin/src/main/java/org/apache/tomee/patch/plugin/PatchMojo.java
+++ b/tomee-patch-plugin/src/main/java/org/apache/tomee/patch/plugin/PatchMojo.java
@@ -16,22 +16,6 @@
  */
 package org.apache.tomee.patch.plugin;
 
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UncheckedIOException;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Predicate;
-import java.util.regex.Pattern;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugin.AbstractMojo;
@@ -64,6 +48,23 @@ import org.tomitribe.util.Files;
 import org.tomitribe.util.IO;
 import org.tomitribe.util.Zips;
 
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UncheckedIOException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.function.Predicate;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
 @Mojo(name = "run", requiresDependencyResolution = ResolutionScope.RUNTIME_PLUS_SYSTEM, defaultPhase = LifecyclePhase.PACKAGE, requiresProject = true, threadSafe = true)
 public class PatchMojo extends AbstractMojo {
 
@@ -201,7 +202,7 @@ public class PatchMojo extends AbstractMojo {
             final List<Artifact> artifacts = getPatchArtifacts();
 
             prepareResources();
-            
+
             // Extract any zips and return a list of jars
             final List<File> jars = prepareJars(artifacts);
 
@@ -244,9 +245,10 @@ public class PatchMojo extends AbstractMojo {
 
         Files.mkdir(patchResourceDirectory);
         for (final File patchResource : patchResources) {
+            if (patchResource == null) continue;
             if (!patchResource.exists()) {
 
-                if (patchResource.getAbsolutePath().equals(defaultPatchResources.getAbsolutePath())){
+                if (patchResource.getAbsolutePath().equals(defaultPatchResources.getAbsolutePath())) {
                     // If the default directory does not exist, the user likely did not explicitly
                     // ask for it.  Just silently skip it.
                     continue;
@@ -262,7 +264,10 @@ public class PatchMojo extends AbstractMojo {
                 throw new MojoExecutionException(message);
             }
         }
-        patchResources.forEach(file -> copy(file, file, patchResourceDirectory));
+        patchResources.stream()
+                .filter(Objects::nonNull)
+                .filter(File::exists)
+                .forEach(file -> copy(file, file, patchResourceDirectory));
     }
 
     private List<Clazz> classes() {
@@ -355,9 +360,10 @@ public class PatchMojo extends AbstractMojo {
         final File defaultPatchSources = new File(basedir, "src/patch/java");
         Files.mkdir(patchSourceDirectory);
         for (final File patchSource : patchSources) {
+            if (patchSource == null) continue;
             if (!patchSource.exists()) {
 
-                if (patchSource.getAbsolutePath().equals(defaultPatchSources.getAbsolutePath())){
+                if (patchSource.getAbsolutePath().equals(defaultPatchSources.getAbsolutePath())) {
                     // If the default directory does not exist, the user likely did not explicitly
                     // ask for it.  Just silently skip it.
                     continue;
@@ -373,7 +379,10 @@ public class PatchMojo extends AbstractMojo {
                 throw new MojoExecutionException(message);
             }
         }
-        patchSources.forEach(file -> copy(file, file, patchSourceDirectory));
+        patchSources.stream()
+                .filter(Objects::nonNull)
+                .filter(File::exists)
+                .forEach(file -> copy(file, file, patchSourceDirectory));
 
 
         final CompilerConfiguration compilerConfiguration = new CompilerConfiguration();