diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2020-01-07 14:19:33 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2020-01-07 14:19:33 +0100 |
commit | 757fd816af18f6cdd018accc2205ed074117e868 (patch) | |
tree | e55714ce60fc44fd0d01d78ebbaa49cfd38c4ab9 /vespa-application-maven-plugin/src/main/java | |
parent | 3adb5de0d7c36b7861c84c551acc2cc9205ef40d (diff) |
Remove use of commons-io from vespa-application-maven-plugin
Diffstat (limited to 'vespa-application-maven-plugin/src/main/java')
-rw-r--r-- | vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo/ApplicationMojo.java | 22 |
1 files changed, 19 insertions, 3 deletions
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()) { |