Example #1
0
func copyResource(basePath string, resource string, destination string) error {
	rel, err := filepath.Rel(basePath, resource)
	if err != nil {
		return err
	}
	return common.MirrorFile(resource, filepath.Join(destination, rel))
}
Example #2
0
func moveBinaryToDirectory(target, destDir string) error {
	if runtime.GOOS == "windows" {
		target = target + ".exe"
	}
	srcFile := path.Join(bin, target)
	destFile := path.Join(destDir, target)
	if err := os.MkdirAll(destDir, newDirPermissions); err != nil {
		return err
	}
	if err := common.MirrorFile(srcFile, destFile); err != nil {
		return err
	}
	return os.Remove(srcFile)
}
Example #3
0
func moveBinaryToBinDir() {
	srcFile := gaugeGo
	destDir := getBinDir()
	if getGOOS() == WINDOWS {
		srcFile = srcFile + ".exe"
	}
	destFile := filepath.Join(destDir, srcFile)
	if err := os.MkdirAll(destDir, common.NewDirectoryPermissions); err != nil {
		fmt.Printf("Failed to create directory %s. %s\n", destDir, err.Error())
	}
	if err := common.MirrorFile(srcFile, destFile); err != nil {
		fmt.Printf("Failed to copy file %s to %s. %s\n", srcFile, destFile, err.Error())
	}
	os.Remove(srcFile)
}
Example #4
0
// key will be the source file and value will be the target
func installFiles(files map[string]string, installDir string) {
	for src, dst := range files {
		base := filepath.Base(src)
		installDst := filepath.Join(installDir, dst)
		log.Printf("Install %s -> %s\n", src, installDst)
		stat, err := os.Stat(src)
		if err != nil {
			panic(err)
		}
		if stat.IsDir() {
			_, err = common.MirrorDir(src, installDst)
		} else {
			err = common.MirrorFile(src, filepath.Join(installDst, base))
		}
		if err != nil {
			panic(err)
		}
	}
}