Add FileFor utility function for trap files

This commit is contained in:
Sauyon Lee
2021-03-10 07:23:06 -08:00
parent d8885c580a
commit 95f93b8641

View File

@@ -26,14 +26,22 @@ type Writer struct {
Package *packages.Package
}
func FileFor(path string) (string, error) {
trapFolder, err := trapFolder()
if err != nil {
return "", err
}
return filepath.Join(trapFolder, srcarchive.AppendablePath(path)+".trap.gz"), nil
}
// NewWriter creates a TRAP file for the given path and returns a writer for
// writing to it
func NewWriter(path string, pkg *packages.Package) (*Writer, error) {
trapFolder, err := trapFolder()
trapFilePath, err := FileFor(path)
if err != nil {
return nil, err
}
trapFilePath := filepath.Join(trapFolder, srcarchive.AppendablePath(path)+".trap.gz")
trapFileDir := filepath.Dir(trapFilePath)
err = os.MkdirAll(trapFileDir, 0755)
if err != nil {