func()

in utils/zip.go [61:101]


func (zw *ZipWriter) zipFile(path string, f os.FileInfo, err error) error {
	var file *os.File
	var wr io.Writer
	var verboseMsg string

	if err != nil {
		return err
	}

	if zw.excludedFiles[filepath.Clean(path)] {
		verboseMsg = wski18n.T(wski18n.ID_VERBOSE_ZIP_EXCLUDING_FILE_X_path_X,
			map[string]interface{}{
				wski18n.KEY_PATH: path,
			})
		wskprint.PrintlnOpenWhiskVerbose(Flags.Verbose, verboseMsg)
		return nil
	}

	if !f.Mode().IsRegular() || f.Size() == 0 {
		return nil
	}
	if file, err = os.Open(path); err != nil {
		return err
	}
	defer file.Close()

	fileName := strings.TrimPrefix(path, zw.src+"/")
	if wr, err = zw.zipWriter.Create(fileName); err != nil {
		return err
	}

	if _, err = io.Copy(wr, file); err != nil {
		return err
	}
	verboseMsg = wski18n.T(wski18n.ID_VERBOSE_ZIP_ADDING_FILE_X_path_X,
		map[string]interface{}{
			wski18n.KEY_PATH: path,
		})
	wskprint.PrintlnOpenWhiskVerbose(Flags.Verbose, verboseMsg)
	return nil
}