format.go 626 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package dartgen
  2. import (
  3. "fmt"
  4. "os"
  5. "os/exec"
  6. )
  7. const dartExec = "dart"
  8. func formatDir(dir string) error {
  9. ok, err := dirctoryExists(dir)
  10. if err != nil {
  11. return err
  12. }
  13. if !ok {
  14. return fmt.Errorf("format failed, directory %q does not exist", dir)
  15. }
  16. _, err = exec.LookPath(dartExec)
  17. if err != nil {
  18. return err
  19. }
  20. cmd := exec.Command(dartExec, "format", dir)
  21. cmd.Env = os.Environ()
  22. cmd.Stderr = os.Stderr
  23. return cmd.Run()
  24. }
  25. func dirctoryExists(dir string) (bool, error) {
  26. _, err := os.Stat(dir)
  27. if err == nil {
  28. return true, nil
  29. }
  30. if os.IsNotExist(err) {
  31. return false, nil
  32. }
  33. return false, err
  34. }