Chore: refine errorgen (#721)

Co-authored-by: Loyalsoldier <10487845+Loyalsoldier@users.noreply.github.com>
This commit is contained in:
yuhan6665 2021-09-20 01:51:55 -04:00 committed by GitHub
parent b0b2aaa70c
commit 8a5bf06925
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2,11 +2,8 @@ package main
import ( import (
"fmt" "fmt"
"log"
"os" "os"
"path/filepath" "path/filepath"
"github.com/xtls/xray-core/common"
) )
func main() { func main() {
@ -20,26 +17,21 @@ func main() {
pkg = "core" pkg = "core"
} }
moduleName, gmnErr := common.GetModuleName(pwd)
if gmnErr != nil {
fmt.Println("can not get module path", gmnErr)
os.Exit(1)
}
file, err := os.OpenFile("errors.generated.go", os.O_WRONLY|os.O_TRUNC|os.O_CREATE, 0644) file, err := os.OpenFile("errors.generated.go", os.O_WRONLY|os.O_TRUNC|os.O_CREATE, 0644)
if err != nil { if err != nil {
log.Fatalf("Failed to generate errors.generated.go: %v", err) fmt.Printf("Failed to generate errors.generated.go: %v", err)
os.Exit(1) os.Exit(1)
} }
defer file.Close() defer file.Close()
fmt.Fprintln(file, "package", pkg) fmt.Fprintf(file, `package %s
fmt.Fprintln(file, "")
fmt.Fprintln(file, "import \""+moduleName+"/common/errors\"") import "github.com/xtls/xray-core/common/errors"
fmt.Fprintln(file, "")
fmt.Fprintln(file, "type errPathObjHolder struct{}") type errPathObjHolder struct{}
fmt.Fprintln(file, "")
fmt.Fprintln(file, "func newError(values ...interface{}) *errors.Error {") func newError(values ...interface{}) *errors.Error {
fmt.Fprintln(file, " return errors.New(values...).WithPathObj(errPathObjHolder{})") return errors.New(values...).WithPathObj(errPathObjHolder{})
fmt.Fprintln(file, "}") }
`, pkg)
} }