diff --git a/builder/dockerfile/internals.go b/builder/dockerfile/internals.go index 54d3301f9a..c7f61cd3ec 100644 --- a/builder/dockerfile/internals.go +++ b/builder/dockerfile/internals.go @@ -375,18 +375,6 @@ func (b *Builder) calcCopyInfo(cmdName, origPath string, allowLocalDecompression return copyInfos, nil } -func containsWildcards(name string) bool { - for i := 0; i < len(name); i++ { - ch := name[i] - if ch == '\\' { - i++ - } else if ch == '*' || ch == '?' || ch == '[' { - return true - } - } - return false -} - func (b *Builder) processImageFrom(img builder.Image) error { if img != nil { b.image = img.ImageID() diff --git a/builder/dockerfile/internals_unix.go b/builder/dockerfile/internals_unix.go index 6cd990d892..a8a47c3582 100644 --- a/builder/dockerfile/internals_unix.go +++ b/builder/dockerfile/internals_unix.go @@ -24,3 +24,15 @@ func normaliseDest(cmdName, workingDir, requested string) (string, error) { } return dest, nil } + +func containsWildcards(name string) bool { + for i := 0; i < len(name); i++ { + ch := name[i] + if ch == '\\' { + i++ + } else if ch == '*' || ch == '?' || ch == '[' { + return true + } + } + return false +} diff --git a/builder/dockerfile/internals_windows.go b/builder/dockerfile/internals_windows.go index f70360300d..f60b112049 100644 --- a/builder/dockerfile/internals_windows.go +++ b/builder/dockerfile/internals_windows.go @@ -54,3 +54,13 @@ func normaliseDest(cmdName, workingDir, requested string) (string, error) { } return dest, nil } + +func containsWildcards(name string) bool { + for i := 0; i < len(name); i++ { + ch := name[i] + if ch == '*' || ch == '?' || ch == '[' { + return true + } + } + return false +} diff --git a/integration-cli/docker_cli_build_test.go b/integration-cli/docker_cli_build_test.go index ba8d7672ce..e56eb40768 100644 --- a/integration-cli/docker_cli_build_test.go +++ b/integration-cli/docker_cli_build_test.go @@ -868,7 +868,6 @@ RUN find "test6" "C:/test dir/test_file6"` } func (s *DockerSuite) TestBuildCopyWildcard(c *check.C) { - testRequires(c, DaemonIsLinux) // Windows doesn't have httpserver image yet name := "testcopywildcard" server, err := fakeStorage(map[string]string{ "robots.txt": "hello", @@ -882,10 +881,10 @@ func (s *DockerSuite) TestBuildCopyWildcard(c *check.C) { ctx, err := fakeContext(fmt.Sprintf(`FROM busybox COPY file*.txt /tmp/ RUN ls /tmp/file1.txt /tmp/file2.txt - RUN mkdir /tmp1 + RUN [ "mkdir", "/tmp1" ] COPY dir* /tmp1/ RUN ls /tmp1/dirt /tmp1/nested_file /tmp1/nested_dir/nest_nest_file - RUN mkdir /tmp2 + RUN [ "mkdir", "/tmp2" ] ADD dir/*dir %s/robots.txt /tmp2/ RUN ls /tmp2/nest_nest_file /tmp2/robots.txt `, server.URL()),