mirror of
https://github.com/lukaszraczylo/harness-sync.git
synced 2026-10-12 00:45:22 +00:00
33 lines
528 B
Go
33 lines
528 B
Go
package adapter
|
|
|
|
import "os"
|
|
|
|
type File struct {
|
|
Dest string
|
|
SymlinkTarget string
|
|
Content []byte
|
|
Mode os.FileMode
|
|
Kind Kind
|
|
}
|
|
|
|
type FileSet struct {
|
|
files []File
|
|
}
|
|
|
|
func NewFileSet() *FileSet { return &FileSet{} }
|
|
|
|
func (fs *FileSet) Add(f File) {
|
|
if f.Mode == 0 && f.Kind == RenderedFile {
|
|
f.Mode = 0o644
|
|
}
|
|
fs.files = append(fs.files, f)
|
|
}
|
|
|
|
func (fs *FileSet) ForEach(fn func(File)) {
|
|
for _, f := range fs.files {
|
|
fn(f)
|
|
}
|
|
}
|
|
|
|
func (fs *FileSet) Len() int { return len(fs.files) }
|