Browse Source

codecgen: deleteTempFiles iff codecgen was successful.

    This way, temp files are available for diagnosis.
Ugorji Nwoke 6 years ago
parent
commit
c44ddad323
1 changed files with 9 additions and 4 deletions
  1. 9 4
      codec/codecgen/gen.go

+ 9 - 4
codec/codecgen/gen.go

@@ -289,10 +289,7 @@ func Generate(outfile, buildTag, codecPkgPath string,
 
 
 	frunMainName := filepath.Join(lastdir, "codecgen-main-"+tv.RandString+".generated.go")
 	frunMainName := filepath.Join(lastdir, "codecgen-main-"+tv.RandString+".generated.go")
 	frunPkgName := filepath.Join(lastdir, "codecgen-pkg-"+tv.RandString+".generated.go")
 	frunPkgName := filepath.Join(lastdir, "codecgen-pkg-"+tv.RandString+".generated.go")
-	if deleteTempFile {
-		defer os.Remove(frunMainName)
-		defer os.Remove(frunPkgName)
-	}
+
 	// var frunMain, frunPkg *os.File
 	// var frunMain, frunPkg *os.File
 	if _, err = gen1(frunMainName, genFrunMainTmpl, &tv); err != nil {
 	if _, err = gen1(frunMainName, genFrunMainTmpl, &tv); err != nil {
 		return
 		return
@@ -316,6 +313,14 @@ func Generate(outfile, buildTag, codecPkgPath string,
 		return
 		return
 	}
 	}
 	os.Stdout.Write(buf.Bytes())
 	os.Stdout.Write(buf.Bytes())
+
+	// only delete these files if codecgen ran successfully.
+	// if unsuccessful, these files are here for diagnosis.
+	if deleteTempFile {
+		os.Remove(frunMainName)
+		os.Remove(frunPkgName)
+	}
+
 	return
 	return
 }
 }