main.go 876 B

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