mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-17 18:25:26 +00:00
41 lines
778 B
Go
41 lines
778 B
Go
// Copyright 2020 The Kubernetes Authors.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package internal
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
"path/filepath"
|
|
)
|
|
|
|
type writer struct {
|
|
root string
|
|
f *os.File
|
|
}
|
|
|
|
func newWriter(toDir, name string) (*writer, error) {
|
|
if err := os.MkdirAll(toDir, 0755); err != nil {
|
|
log.Printf("unable to create directory: %s", toDir)
|
|
return nil, err
|
|
}
|
|
n := filepath.Join(toDir, name)
|
|
f, err := os.Create(n)
|
|
if err != nil {
|
|
return nil, fmt.Errorf("unable to create `%s`; %v", n, err)
|
|
}
|
|
return &writer{root: toDir, f: f}, nil
|
|
}
|
|
|
|
func (w *writer) close() {
|
|
w.f.Close()
|
|
}
|
|
|
|
func (w *writer) write(line string) {
|
|
if _, err := w.f.WriteString(line + "\n"); err != nil {
|
|
log.Printf("Trouble writing: %s", line)
|
|
log.Fatalf("Error: %s", err)
|
|
}
|
|
}
|