v2fly/common/errors/errorgen/main.go

38 lines
710 B
Go
Raw Normal View History

2017-12-03 00:04:57 +00:00
package main
import (
"fmt"
"os"
2018-09-30 16:39:53 +00:00
"path/filepath"
2017-12-03 00:04:57 +00:00
)
2020-10-04 04:39:11 +00:00
func main() {
pwd, err := os.Getwd()
2018-09-30 16:39:53 +00:00
if err != nil {
2020-10-04 04:39:11 +00:00
fmt.Println("can not get current working directory")
os.Exit(1)
}
pkg := filepath.Base(pwd)
if pkg == "v2ray-core" {
pkg = "core"
2017-12-03 00:04:57 +00:00
}
2021-05-19 21:28:52 +00:00
file, err := os.OpenFile("errors.generated.go", os.O_WRONLY|os.O_TRUNC|os.O_CREATE, 0o644)
2017-12-03 00:04:57 +00:00
if err != nil {
2021-03-24 07:18:07 +00:00
fmt.Printf("Failed to generate errors.generated.go: %v", err)
2020-10-04 04:39:11 +00:00
os.Exit(1)
2017-12-03 00:04:57 +00:00
}
2020-10-04 04:39:11 +00:00
defer file.Close()
2017-12-03 00:04:57 +00:00
2021-03-24 07:18:07 +00:00
fmt.Fprintf(file, `package %s
import "github.com/v2fly/v2ray-core/v4/common/errors"
type errPathObjHolder struct{}
func newError(values ...interface{}) *errors.Error {
return errors.New(values...).WithPathObj(errPathObjHolder{})
}
`, pkg)
2017-12-03 00:04:57 +00:00
}