Program.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using Content.Packaging;
  2. using Robust.Packaging;
  3. IPackageLogger logger = new PackageLoggerConsole();
  4. if (!CommandLineArgs.TryParse(args, out var parsed))
  5. {
  6. logger.Error("Unable to parse args, aborting.");
  7. return;
  8. }
  9. if (parsed.WipeRelease)
  10. WipeRelease();
  11. else
  12. {
  13. // Ensure the release directory exists. Otherwise, the packaging will fail.
  14. Directory.CreateDirectory("release");
  15. }
  16. if (!parsed.SkipBuild)
  17. WipeBin();
  18. if (parsed.Client)
  19. {
  20. await ClientPackaging.PackageClient(parsed.SkipBuild, parsed.Configuration, logger);
  21. }
  22. else
  23. {
  24. await ServerPackaging.PackageServer(parsed.SkipBuild, parsed.HybridAcz, logger, parsed.Configuration, parsed.Platforms);
  25. }
  26. void WipeBin()
  27. {
  28. logger.Info("Clearing old build artifacts (if any)...");
  29. if (Directory.Exists("bin"))
  30. Directory.Delete("bin", recursive: true);
  31. }
  32. void WipeRelease()
  33. {
  34. if (Directory.Exists("release"))
  35. {
  36. logger.Info("Cleaning old release packages (release/)...");
  37. Directory.Delete("release", recursive: true);
  38. }
  39. Directory.CreateDirectory("release");
  40. }