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();