mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-11 17:12:51 +00:00
Move the k8s code generator.
This commit is contained in:
40
cmd/k8scopy/internal/writer.go
Normal file
40
cmd/k8scopy/internal/writer.go
Normal file
@@ -0,0 +1,40 @@
|
||||
// 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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user