diff --git a/docker-java-api/pom.xml b/docker-java-api/pom.xml index d801546c0..2dcd7e71a 100644 --- a/docker-java-api/pom.xml +++ b/docker-java-api/pom.xml @@ -4,7 +4,7 @@ com.github.docker-java docker-java-parent - 0-SNAPSHOT + 3.5.1-blackduck.1-SNAPSHOT ../pom.xml diff --git a/docker-java-bom/pom.xml b/docker-java-bom/pom.xml index 7066b3a67..b97a2260d 100644 --- a/docker-java-bom/pom.xml +++ b/docker-java-bom/pom.xml @@ -4,7 +4,7 @@ com.github.docker-java docker-java-parent - 0-SNAPSHOT + 3.5.1-blackduck.1-SNAPSHOT ../pom.xml diff --git a/docker-java-core/pom.xml b/docker-java-core/pom.xml index 290a1fed9..4acc32ea1 100644 --- a/docker-java-core/pom.xml +++ b/docker-java-core/pom.xml @@ -4,7 +4,7 @@ com.github.docker-java docker-java-parent - 0-SNAPSHOT + 3.5.1-blackduck.1-SNAPSHOT ../pom.xml diff --git a/docker-java-core/src/main/java/com/github/dockerjava/core/dockerfile/Dockerfile.java b/docker-java-core/src/main/java/com/github/dockerjava/core/dockerfile/Dockerfile.java index 752935e19..7f1d67bd2 100644 --- a/docker-java-core/src/main/java/com/github/dockerjava/core/dockerfile/Dockerfile.java +++ b/docker-java-core/src/main/java/com/github/dockerjava/core/dockerfile/Dockerfile.java @@ -4,6 +4,8 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -203,7 +205,7 @@ private void addFilesInDirectory(File directory) { if (files.length != 0) { for (File f : files) { - if (f.isDirectory()) { + if (f.isDirectory() && !Files.isSymbolicLink(Paths.get(f.getAbsolutePath()))) { addFilesInDirectory(f); } else if (effectiveMatchingIgnorePattern(f) == null) { filesToAdd.add(f); diff --git a/docker-java-transport-httpclient5/pom.xml b/docker-java-transport-httpclient5/pom.xml index 261922992..feecb02e5 100644 --- a/docker-java-transport-httpclient5/pom.xml +++ b/docker-java-transport-httpclient5/pom.xml @@ -4,7 +4,7 @@ com.github.docker-java docker-java-parent - 0-SNAPSHOT + 3.5.1-blackduck.1-SNAPSHOT ../pom.xml diff --git a/docker-java-transport-jersey/pom.xml b/docker-java-transport-jersey/pom.xml index fbef13f1e..ec2d84f3b 100644 --- a/docker-java-transport-jersey/pom.xml +++ b/docker-java-transport-jersey/pom.xml @@ -4,7 +4,7 @@ com.github.docker-java docker-java-parent - 0-SNAPSHOT + 3.5.1-blackduck.1-SNAPSHOT ../pom.xml diff --git a/docker-java-transport-netty/pom.xml b/docker-java-transport-netty/pom.xml index 42fdd34b7..25fc77fe5 100644 --- a/docker-java-transport-netty/pom.xml +++ b/docker-java-transport-netty/pom.xml @@ -4,7 +4,7 @@ com.github.docker-java docker-java-parent - 0-SNAPSHOT + 3.5.1-blackduck.1-SNAPSHOT ../pom.xml diff --git a/docker-java-transport-okhttp/pom.xml b/docker-java-transport-okhttp/pom.xml index 3bac0cead..af5934ce4 100644 --- a/docker-java-transport-okhttp/pom.xml +++ b/docker-java-transport-okhttp/pom.xml @@ -4,7 +4,7 @@ com.github.docker-java docker-java-parent - 0-SNAPSHOT + 3.5.1-blackduck.1-SNAPSHOT ../pom.xml diff --git a/docker-java-transport-tck/pom.xml b/docker-java-transport-tck/pom.xml index 73161b458..7c1a5ca23 100644 --- a/docker-java-transport-tck/pom.xml +++ b/docker-java-transport-tck/pom.xml @@ -4,7 +4,7 @@ com.github.docker-java docker-java-parent - 0-SNAPSHOT + 3.5.1-blackduck.1-SNAPSHOT ../pom.xml diff --git a/docker-java-transport-zerodep/pom.xml b/docker-java-transport-zerodep/pom.xml index 3cccafa33..f087670c8 100644 --- a/docker-java-transport-zerodep/pom.xml +++ b/docker-java-transport-zerodep/pom.xml @@ -4,7 +4,7 @@ com.github.docker-java docker-java-parent - 0-SNAPSHOT + 3.5.1-blackduck.1-SNAPSHOT ../pom.xml diff --git a/docker-java-transport/pom.xml b/docker-java-transport/pom.xml index 96f1f850a..da37ebcf0 100644 --- a/docker-java-transport/pom.xml +++ b/docker-java-transport/pom.xml @@ -4,7 +4,7 @@ com.github.docker-java docker-java-parent - 0-SNAPSHOT + 3.5.1-blackduck.1-SNAPSHOT ../pom.xml diff --git a/docker-java/pom.xml b/docker-java/pom.xml index e00c974d3..aa78e32e9 100644 --- a/docker-java/pom.xml +++ b/docker-java/pom.xml @@ -4,7 +4,7 @@ com.github.docker-java docker-java-parent - 0-SNAPSHOT + 3.5.1-blackduck.1-SNAPSHOT ../pom.xml diff --git a/docker-java/src/test/java/com/github/dockerjava/core/dockerfile/DockerfileAddMultipleFilesTest.java b/docker-java/src/test/java/com/github/dockerjava/core/dockerfile/DockerfileAddMultipleFilesTest.java index 6406647cf..b1b88d3ac 100644 --- a/docker-java/src/test/java/com/github/dockerjava/core/dockerfile/DockerfileAddMultipleFilesTest.java +++ b/docker-java/src/test/java/com/github/dockerjava/core/dockerfile/DockerfileAddMultipleFilesTest.java @@ -5,6 +5,9 @@ import java.io.File; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.Collection; import static com.google.common.collect.Collections2.transform; @@ -68,6 +71,31 @@ public void addFiles() throws IOException { assertThat(filesToAdd, containsInAnyOrder("emptydir", "Dockerfile", "src1", "src2")); } + @Test + public void symlinkToFile() throws IOException { + File baseDir = fileFromBuildTestResource("symlinks/symlinkToFile"); + Dockerfile dockerFile = new Dockerfile(new File(baseDir, "Dockerfile"), baseDir); + Dockerfile.ScannedResult result = dockerFile.parse(); + Collection filesToAdd = transform(result.filesToAdd, TO_FILE_NAMES); + + assertThat(filesToAdd, containsInAnyOrder("hello.txt", "someLink", "Dockerfile")); + } + + @Test + public void symlinkToDir() throws IOException { + File baseDir = fileFromBuildTestResource("symlinks/symlinkToDir"); + String filesPath = Paths.get(baseDir.getAbsolutePath(), "fileSystem").toString(); + Path linkPath = Paths.get(filesPath, "someLink"); + if (Files.exists(linkPath)) + Files.delete(linkPath); + Files.createSymbolicLink(linkPath, Paths.get(filesPath, "someDir")); + Dockerfile dockerFile = new Dockerfile(new File(baseDir, "Dockerfile"), baseDir); + Dockerfile.ScannedResult result = dockerFile.parse(); + Collection filesToAdd = transform(result.filesToAdd, TO_FILE_NAMES); + + assertThat(filesToAdd, containsInAnyOrder("hello.txt", "someLink", "Dockerfile")); + } + private File fileFromBuildTestResource(String resource) { return new File(Thread.currentThread().getContextClassLoader() .getResource("buildTests/" + resource).getFile()); diff --git a/docker-java/src/test/resources/buildTests/symlinks/symlinkToDir/Dockerfile b/docker-java/src/test/resources/buildTests/symlinks/symlinkToDir/Dockerfile new file mode 100644 index 000000000..2b448ef17 --- /dev/null +++ b/docker-java/src/test/resources/buildTests/symlinks/symlinkToDir/Dockerfile @@ -0,0 +1,2 @@ +FROM scratch +COPY fileSystem/* . diff --git a/docker-java/src/test/resources/buildTests/symlinks/symlinkToDir/fileSystem/hello.txt b/docker-java/src/test/resources/buildTests/symlinks/symlinkToDir/fileSystem/hello.txt new file mode 100644 index 000000000..3b18e512d --- /dev/null +++ b/docker-java/src/test/resources/buildTests/symlinks/symlinkToDir/fileSystem/hello.txt @@ -0,0 +1 @@ +hello world diff --git a/docker-java/src/test/resources/buildTests/symlinks/symlinkToFile/Dockerfile b/docker-java/src/test/resources/buildTests/symlinks/symlinkToFile/Dockerfile new file mode 100644 index 000000000..2b448ef17 --- /dev/null +++ b/docker-java/src/test/resources/buildTests/symlinks/symlinkToFile/Dockerfile @@ -0,0 +1,2 @@ +FROM scratch +COPY fileSystem/* . diff --git a/docker-java/src/test/resources/buildTests/symlinks/symlinkToFile/fileSystem/someDir/hello.txt b/docker-java/src/test/resources/buildTests/symlinks/symlinkToFile/fileSystem/someDir/hello.txt new file mode 100644 index 000000000..3b18e512d --- /dev/null +++ b/docker-java/src/test/resources/buildTests/symlinks/symlinkToFile/fileSystem/someDir/hello.txt @@ -0,0 +1 @@ +hello world diff --git a/docker-java/src/test/resources/buildTests/symlinks/symlinkToFile/fileSystem/someLink b/docker-java/src/test/resources/buildTests/symlinks/symlinkToFile/fileSystem/someLink new file mode 120000 index 000000000..ba903fd32 --- /dev/null +++ b/docker-java/src/test/resources/buildTests/symlinks/symlinkToFile/fileSystem/someLink @@ -0,0 +1 @@ +someDir/hello.txt \ No newline at end of file diff --git a/pom.xml b/pom.xml index 4acf4e175..8e24145d7 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.github.docker-java docker-java-parent pom - 0-SNAPSHOT + 3.5.1-blackduck.1-SNAPSHOT docker-java-parent https://github.com/docker-java/docker-java @@ -359,6 +359,30 @@ + + snapshot-deployment + + false + + + + bds-artifactory + ${snapshotArtifactoryUrl} + + + + + deployment + + false + + + + bds-artifactory + ${releaseArtifactoryUrl} + + +