Bootstrap.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. var os = require('os');
  2. // Parse args
  3. var options = require('./Minimist')(process.argv.slice(2));
  4. var cmd = options._[0];
  5. // Load `jake` global
  6. require('../node_modules/jake/lib/jake');
  7. // Load jake tasks, etc
  8. var host = require('./Host');
  9. // Make options availabe to host
  10. host.options = options;
  11. function printHelp() {
  12. console.log("\nAtomic Editor Build Script")
  13. console.log("--------------------------")
  14. console.log("--help : This help text")
  15. console.log("--with-android : Build with Android platform support");
  16. console.log("--with-ios : Build with iOS platform support");
  17. console.log("--debug : Build debug version of the editor and associated platform runtimes")
  18. console.log("--noclean : Do not clean before building, useful during development")
  19. console.log("--nonet : Build without AtomicNET C# scripting support")
  20. console.log("--------------------------")
  21. process.exit(0);
  22. }
  23. if (options["help"]) {
  24. printHelp();
  25. }
  26. // Atomic Editor Build
  27. if (cmd == "buildeditor") {
  28. console.log("\n\nBuilding Atomic Editor, this process will take a few minutes\n");
  29. var buildTask = jake.Task['build:atomiceditor'];
  30. if (options["with-android"]) {
  31. if (!process.env.ANDROID_NDK) {
  32. console.log("\nANDROID_NDK environment variable not set, exiting\n");
  33. process.exit(1);
  34. }
  35. }
  36. if (options["with-ios"]) {
  37. if (os.platform() != "darwin") {
  38. console.log("\niOS platform requires macOS, exiting\n");
  39. process.exit(1);
  40. }
  41. }
  42. buildTask.invoke();
  43. }