mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
5136096520
Commit the rwLayer to get the correct DiffID Refacator copy in thebuilder move more code into exportImage cleanup some windows tests Release the newly commited layer. Set the imageID on the buildStage after exporting a new image. Move archiver to BuildManager. Have ReleaseableLayer.Commit return a layer and store the Image from exportImage in the local imageSources cache Remove NewChild from image interface. Signed-off-by: Daniel Nephin <dnephin@docker.com>
42 lines
961 B
Go
42 lines
961 B
Go
// +build !windows
|
|
|
|
package dockerfile
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"strings"
|
|
|
|
"github.com/docker/docker/pkg/system"
|
|
)
|
|
|
|
// normaliseDest normalises the destination of a COPY/ADD command in a
|
|
// platform semantically consistent way.
|
|
func normaliseDest(workingDir, requested string) (string, error) {
|
|
dest := filepath.FromSlash(requested)
|
|
endsInSlash := strings.HasSuffix(requested, string(os.PathSeparator))
|
|
if !system.IsAbs(requested) {
|
|
dest = filepath.Join(string(os.PathSeparator), filepath.FromSlash(workingDir), dest)
|
|
// Make sure we preserve any trailing slash
|
|
if endsInSlash {
|
|
dest += string(os.PathSeparator)
|
|
}
|
|
}
|
|
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
|
|
}
|
|
|
|
func validateCopySourcePath(imageSource *imageMount, origPath string) error {
|
|
return nil
|
|
}
|