From 757fd816af18f6cdd018accc2205ed074117e868 Mon Sep 17 00:00:00 2001 From: Bjørn Christian Seime Date: Tue, 7 Jan 2020 14:19:33 +0100 Subject: Remove use of commons-io from vespa-application-maven-plugin --- .../container/plugin/mojo/ApplicationMojo.java | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'vespa-application-maven-plugin/src/main/java/com/yahoo/container/plugin/mojo') 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 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()) { -- cgit v1.2.3