mirror of https://github.com/databricks/cli.git
address comments plus close file
This commit is contained in:
parent
ecc07e893f
commit
9a8205b3df
|
@ -23,7 +23,6 @@ func TestTemplateInitializationForDevConfig(t *testing.T) {
|
||||||
tmp := t.TempDir()
|
tmp := t.TempDir()
|
||||||
f, err := os.Create(filepath.Join(tmp, "config.json"))
|
f, err := os.Create(filepath.Join(tmp, "config.json"))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
defer f.Close()
|
|
||||||
_, err = f.WriteString(`
|
_, err = f.WriteString(`
|
||||||
{
|
{
|
||||||
"project_name": "development_project",
|
"project_name": "development_project",
|
||||||
|
@ -32,6 +31,7 @@ func TestTemplateInitializationForDevConfig(t *testing.T) {
|
||||||
"is_production": false
|
"is_production": false
|
||||||
}
|
}
|
||||||
`)
|
`)
|
||||||
|
f.Close()
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// materialize the template
|
// materialize the template
|
||||||
|
@ -53,7 +53,6 @@ func TestTemplateInitializationForProdConfig(t *testing.T) {
|
||||||
tmp := t.TempDir()
|
tmp := t.TempDir()
|
||||||
f, err := os.Create(filepath.Join(tmp, "config.json"))
|
f, err := os.Create(filepath.Join(tmp, "config.json"))
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
defer f.Close()
|
|
||||||
_, err = f.WriteString(`
|
_, err = f.WriteString(`
|
||||||
{
|
{
|
||||||
"project_name": "production_project",
|
"project_name": "production_project",
|
||||||
|
@ -62,6 +61,7 @@ func TestTemplateInitializationForProdConfig(t *testing.T) {
|
||||||
"is_production": true
|
"is_production": true
|
||||||
}
|
}
|
||||||
`)
|
`)
|
||||||
|
f.Close()
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|
||||||
// materialize the template
|
// materialize the template
|
||||||
|
|
|
@ -42,7 +42,7 @@ func generateDirectory(config map[string]any, parentDir, nameTempate string) (st
|
||||||
func generateFile(config map[string]any, parentDir, nameTempate, contentTemplate string) error {
|
func generateFile(config map[string]any, parentDir, nameTempate, contentTemplate string) error {
|
||||||
// compute file content
|
// compute file content
|
||||||
fileContent, err := executeTemplate(config, contentTemplate)
|
fileContent, err := executeTemplate(config, contentTemplate)
|
||||||
if errors.Is(err, ErrSkipThisFile) {
|
if errors.Is(err, errSkipThisFile) {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -54,22 +54,16 @@ func generateFile(config map[string]any, parentDir, nameTempate, contentTemplate
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
f, err := os.Create(filepath.Join(parentDir, fileName))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// write to file the computed content
|
return os.WriteFile(filepath.Join(parentDir, fileName), []byte(fileContent), 0644)
|
||||||
_, err = f.Write([]byte(fileContent))
|
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func WalkFileTree(config map[string]any, templatePath, instancePath string) error {
|
func WalkFileTree(config map[string]any, templatePath, instancePath string) error {
|
||||||
enteries, err := os.ReadDir(templatePath)
|
entries, err := os.ReadDir(templatePath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
for _, entry := range enteries {
|
for _, entry := range entries {
|
||||||
if entry.IsDir() {
|
if entry.IsDir() {
|
||||||
// case: materialize a template directory
|
// case: materialize a template directory
|
||||||
dirName, err := generateDirectory(config, instancePath, entry.Name())
|
dirName, err := generateDirectory(config, instancePath, entry.Name())
|
||||||
|
|
|
@ -5,10 +5,10 @@ import (
|
||||||
"text/template"
|
"text/template"
|
||||||
)
|
)
|
||||||
|
|
||||||
var ErrSkipThisFile = errors.New("skip generating this file")
|
var errSkipThisFile = errors.New("skip generating this file")
|
||||||
|
|
||||||
var HelperFuncs = template.FuncMap{
|
var HelperFuncs = template.FuncMap{
|
||||||
"skipThisFile": func() error {
|
"skipThisFile": func() error {
|
||||||
panic(ErrSkipThisFile)
|
panic(errSkipThisFile)
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@ const (
|
||||||
type FieldInfo struct {
|
type FieldInfo struct {
|
||||||
Type FieldType `json:"type"`
|
Type FieldType `json:"type"`
|
||||||
Description string `json:"description"`
|
Description string `json:"description"`
|
||||||
Validation string `json:"validate"`
|
Validation string `json:"validation"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// function to check whether a float value represents an integer
|
// function to check whether a float value represents an integer
|
||||||
|
|
Loading…
Reference in New Issue