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}
+
+
+