func (fe *MfsFileExplorer) Copy(path string, newPath string) error { path = NormalizePath(path) newPath = NormalizePath(newPath) fi, err := os.Stat(path) if err != nil { return err } if fi.IsDir() { return utils.CopyDir(path, newPath) } return utils.CopyFile(path, newPath) }
func (dockerfile *Dockerfile) BuildContext() error { // Copy all context to a temp directory tempContextDir := path.Join(TEMPDIR, "context-"+dockerfile.ID) log.Debugf("Build docker context in path: %v", tempContextDir) err := utils.CopyDir(dockerfile.Path, tempContextDir) if err != nil { return err } defer os.RemoveAll(tempContextDir) tarFile := dockerfile.ID + ".tar" log.Debugf("Tar docker context to path: %v", path.Join(TEMPDIR, tarFile)) err = utils.Tar(tempContextDir, path.Join(TEMPDIR, tarFile), false) if err != nil { return err } return nil }