diff options
author | Bjørn Christian Seime <bjorn.christian@seime.no> | 2020-01-08 14:22:31 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-08 14:22:31 +0100 |
commit | a10c54b1a05326021c37d428a0e03117ef765380 (patch) | |
tree | fddfc08168d84b3c6615bb3285d7bcf65e9f7c3e /vespa-application-maven-plugin | |
parent | bd1868da7bcfc5d24216596ebb3c7a8fb27f6fb8 (diff) |
Revert "Revert "Bjorncs/apache commons libraries cleanup""
Diffstat (limited to 'vespa-application-maven-plugin')
-rw-r--r-- | vespa-application-maven-plugin/pom.xml | 4 | ||||
-rw-r--r-- | vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/ApplicationMojo.java | 22 |
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()) { |