summaryrefslogtreecommitdiffstats
path: root/vespa-application-maven-plugin
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2020-01-07 14:19:33 +0100
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2020-01-07 14:19:33 +0100
commit757fd816af18f6cdd018accc2205ed074117e868 (patch)
treee55714ce60fc44fd0d01d78ebbaa49cfd38c4ab9 /vespa-application-maven-plugin
parent3adb5de0d7c36b7861c84c551acc2cc9205ef40d (diff)
Remove use of commons-io from vespa-application-maven-plugin
Diffstat (limited to 'vespa-application-maven-plugin')
-rw-r--r--vespa-application-maven-plugin/pom.xml4
-rw-r--r--vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/ApplicationMojo.java22
2 files changed, 19 insertions, 7 deletions
diff --git a/vespa-application-maven-plugin/pom.xml b/vespa-application-maven-plugin/pom.xml
index aaa30ed28af..6fc7d15ecf1 100644
--- a/vespa-application-maven-plugin/pom.xml
+++ b/vespa-application-maven-plugin/pom.xml
@@ -42,10 +42,6 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
</dependency>
- <dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- </dependency>
</dependencies>
<build>
<plugins>
diff --git a/vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/ApplicationMojo.java b/vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/ApplicationMojo.java
index f93ee2feaa1..16a2d121654 100644
--- a/vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/ApplicationMojo.java
+++ b/vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/ApplicationMojo.java
@@ -1,7 +1,6 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.plugin.mojo;
-import org.apache.commons.io.FileUtils;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugins.annotations.LifecyclePhase;
@@ -13,10 +12,13 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.UncheckedIOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
+import java.nio.file.Path;
import java.util.Collections;
import java.util.List;
+import java.util.stream.Stream;
/**
* @author Tony Vaagenes
@@ -96,13 +98,27 @@ public class ApplicationMojo extends AbstractMojo {
private void copyApplicationPackage(File applicationPackage, File applicationDestination) throws MojoExecutionException {
if (applicationPackage.exists()) {
try {
- FileUtils.copyDirectory(applicationPackage, applicationDestination);
- } catch (IOException e) {
+ copyDirectory(applicationPackage.toPath(), applicationDestination.toPath());
+ } catch (Exception e) {
throw new MojoExecutionException("Failed copying applicationPackage", e);
}
}
}
+ private static void copyDirectory(Path source, Path destination) {
+ try (Stream<Path> fileStreams = Files.walk(source)) {
+ fileStreams.forEachOrdered(sourcePath -> {
+ try {
+ Files.copy(sourcePath, source.resolve(destination.relativize(sourcePath)));
+ } catch (IOException e) {
+ throw new UncheckedIOException(e);
+ }
+ });
+ } catch (IOException e) {
+ throw new UncheckedIOException(e);
+ }
+ }
+
private void copyModuleBundles(File moduleDir, File componentsDir) throws MojoExecutionException {
File moduleTargetDir = new File(moduleDir, "target");
if (moduleTargetDir.exists()) {