Defer openAPI cleanup

This commit is contained in:
Phani Teja Marupaka
2020-11-02 12:07:32 -08:00
parent 49094cf999
commit ec2cc2d421
13 changed files with 110 additions and 92 deletions

View File

@@ -60,37 +60,34 @@ func (e ExecuteCmdOnPkgs) Execute() error {
}
for i := range pkgsPaths {
pkgPath := pkgsPaths[i]
// Add schema present in openAPI file for current package
if e.NeedOpenAPI {
if err := openapi.AddSchemaFromFile(filepath.Join(pkgPath, ext.KRMFileName())); err != nil {
return err
}
}
if !e.SkipPkgPathPrint {
fmt.Fprintf(e.Writer, "%s/\n", pkgPath)
}
err := e.CmdRunner.ExecuteCmd(e.Writer, pkgPath)
err := e.processPkg(pkgsPaths[i])
if err != nil {
return err
}
if i != len(pkgsPaths)-1 {
fmt.Fprint(e.Writer, "\n")
}
// Delete schema present in openAPI file for current package
if e.NeedOpenAPI {
if err := openapi.DeleteSchemaInFile(filepath.Join(pkgPath, ext.KRMFileName())); err != nil {
return err
}
}
}
return nil
}
func (e ExecuteCmdOnPkgs) processPkg(pkgPath string) error {
// Add schema present in openAPI file for current package
if e.NeedOpenAPI {
clean, err := openapi.AddSchemaFromFile(filepath.Join(pkgPath, ext.KRMFileName()))
if err != nil {
return err
}
defer clean()
}
if !e.SkipPkgPathPrint {
fmt.Fprintf(e.Writer, "%s/\n", pkgPath)
}
return e.CmdRunner.ExecuteCmd(e.Writer, pkgPath)
}
// ParseFieldPath parse a flag value into a field path
func ParseFieldPath(path string) ([]string, error) {
// fixup '\.' so we don't split on it