Config.hx 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package runci;
  2. import sys.FileSystem;
  3. import haxe.io.Path;
  4. enum Ci {
  5. GithubActions;
  6. }
  7. class Config {
  8. static public final systemName = Sys.systemName();
  9. static public final cwd = Sys.getCwd();
  10. static public final repoDir = FileSystem.fullPath("..") + "/";
  11. static public final unitDir = Path.join([cwd, "unit"]);
  12. static public final sysDir = Path.join([cwd, "sys"]);
  13. static public final optDir = cwd + "optimization/";
  14. static public final displayDir = Path.join([cwd, "display"]);
  15. static public final serverDir = Path.join([cwd, "server"]);
  16. static public final sourcemapsDir = Path.join([cwd, "sourcemaps"]);
  17. static public final nullSafetyDir = Path.join([cwd, "nullsafety"]);
  18. static public final threadsDir = Path.join([cwd, "threads"]);
  19. // this stands for third-party, but I've always wanted a party directory
  20. static public final partyDir = Path.join([cwd, "party"]);
  21. static public function getMiscSubDir(...subDir:String)
  22. return Path.join([cwd, "misc"].concat(subDir.toArray()));
  23. static public final ci:Null<Ci> =
  24. if (Sys.getEnv("GITHUB_ACTIONS") == "true")
  25. GithubActions;
  26. else
  27. null;
  28. static public macro function isCi() {
  29. return macro $v{ci != null};
  30. }
  31. static public final colorSupported = switch [ci, systemName] {
  32. case [GithubActions, _]: true;
  33. case [_, "Linux" | "Mac"]: true;
  34. case [_, "Windows"]: false;
  35. case _: false;
  36. }
  37. }