main.go 896 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // +build generate
  2. package main
  3. import (
  4. "fmt"
  5. "log"
  6. "os"
  7. "path/filepath"
  8. )
  9. func getCurrentPkg() (string, error) {
  10. path, err := os.Getwd()
  11. if err != nil {
  12. return "", err
  13. }
  14. return filepath.Base(path), nil
  15. }
  16. func main() {
  17. pkg, err := getCurrentPkg()
  18. if err != nil {
  19. log.Fatal("Failed to get current package: ", err.Error())
  20. return
  21. }
  22. file, err := os.OpenFile("errors.generated.go", os.O_WRONLY|os.O_TRUNC|os.O_CREATE, 0644)
  23. if err != nil {
  24. log.Fatalf("Failed to generate errors.generated.go: %v", err)
  25. return
  26. }
  27. fmt.Fprintln(file, "package", pkg)
  28. fmt.Fprintln(file, "")
  29. fmt.Fprintln(file, "import \"v2ray.com/core/common/errors\"")
  30. fmt.Fprintln(file, "")
  31. fmt.Fprintln(file, "type errPathObjHolder struct {}")
  32. fmt.Fprintln(file, "func newError(values ...interface{}) *errors.Error { return errors.New(values...).WithPathObj(errPathObjHolder{}) }")
  33. file.Close()
  34. }