Skip to content
Snippets Groups Projects
Commit cea065ef authored by steeve.chailloux's avatar steeve.chailloux
Browse files

hydrate built files

parent 96daba2f
No related branches found
No related tags found
No related merge requests found
......@@ -39,20 +39,27 @@
} else {
outputDir = r.config.Output
}
if r.config.HasShas() {
preBuildDir := filepath.Join(tmpDir, "pre-build")
if err := r.DoBuild(tmpDir, preBuildDir); err != nil {
return fmt.Errorf("failed to do pre-build: %w", err)
}
if err := r.config.SetShas(preBuildDir); err != nil {
return fmt.Errorf("failed to set SHAs: %w", err)
}
files, err := ioutil.ReadDir(preBuildDir)
if err != nil {
return fmt.Errorf("cannot list directory: %s - %w", preBuildDir, err)
}
if err := cleanDir(outputDir); err != nil {
return fmt.Errorf("cannot clean dir: %s: %w", outputDir, err)
}
variables, err := r.config.prepareVariables(true)
preBuildDir := filepath.Join(tmpDir, "pre-build")
if err := r.DoBuild(tmpDir, preBuildDir); err != nil {
return fmt.Errorf("failed to do pre-build: %w", err)
}
if err := r.config.SetShas(preBuildDir); err != nil {
return fmt.Errorf("failed to set SHAs: %w", err)
}
files, err := ioutil.ReadDir(preBuildDir)
if err != nil {
return fmt.Errorf("cannot list directory: %s - %w", preBuildDir, err)
}
if err := CleanDir(outputDir); err != nil {
return fmt.Errorf("cannot clean dir: %s: %w", outputDir, err)
}
variables, err := r.config.prepareVariables(true)
if err != nil {
return fmt.Errorf("cannot prepare variables: %w", err)
}
for _, file := range files {
inFilePath := filepath.Join(preBuildDir, file.Name())
outFilePath := filepath.Join(outputDir, file.Name())
outFile, err := os.Create(outFilePath)
if err != nil {
......@@ -58,3 +65,3 @@
if err != nil {
return fmt.Errorf("cannot prepare variables: %w", err)
return fmt.Errorf("cannot open: %s - %w", outFilePath, err)
}
......@@ -60,15 +67,7 @@
}
for _, file := range files {
inFilePath := filepath.Join(preBuildDir, file.Name())
outFilePath := filepath.Join(outputDir, file.Name())
outFile, err := os.Create(outFilePath)
if err != nil {
return fmt.Errorf("cannot open: %s - %w", outFilePath, err)
}
defer func() {
_ = outFile.Close()
}()
if err := hydrate(inFilePath, outFile, variables); err != nil {
return fmt.Errorf("cannot hidrate: %s - %w", outFilePath, err)
}
defer func() {
_ = outFile.Close()
}()
if err := hydrate(inFilePath, outFile, variables); err != nil {
return fmt.Errorf("cannot hidrate: %s - %w", outFilePath, err)
}
......@@ -74,3 +73,2 @@
}
return nil
}
......@@ -76,5 +74,5 @@
}
return r.DoBuild(tmpDir, outputDir)
return nil
}
func (r *Runner) DoBuild(tmpDir, outputDir string) error {
......@@ -191,7 +189,7 @@
if _, err := tmpFile.WriteString(strings.Join(stdOut, "\n")); err != nil {
return fmt.Errorf("cannot write full compiled file: %w", err)
}
if err := cleanDir(outputDir); err != nil {
if err := CleanDir(outputDir); err != nil {
return fmt.Errorf("cannot clean dir: %s: %w", outputDir, err)
}
if _, err := YamlSplit(outputDir, tmpFile.Name()); err != nil {
......@@ -201,7 +199,7 @@
return nil
}
func cleanDir(directory string) error {
func CleanDir(directory string) error {
if err := os.RemoveAll(directory); err != nil {
return fmt.Errorf("cannot cleanup output directory: %w", err)
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment