BuildConfig.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. var os = require('os');
  2. var path = require('path');
  3. var spawnSync = require('child_process').spawnSync;
  4. function processOptions(config) {
  5. config["config"] = config["debug"] ? "Debug" : "Release";
  6. // AtomicNET
  7. if (config["nonet"]) {
  8. config["with-atomicnet"] = false;
  9. } else {
  10. if (os.platform() == "win32") {
  11. config["with-atomicnet"] = true;
  12. } else {
  13. // see if xbuild is available
  14. config["with-atomicnet"] = false;
  15. if ( spawnSync) // TODO: CI box doesn't have spawnSync
  16. config["with-atomicnet"] = spawnSync("which", ["xbuild"]).status == 1 ? false : true;
  17. }
  18. }
  19. // paths
  20. config.atomicRoot = path.resolve(__dirname, "../..") + "/";
  21. config.artifactsRoot = config.atomicRoot + "Artifacts/";
  22. config.editorAppFolder = (os.platform() == "darwin") ? config.artifactsRoot + "/AtomicEditor/AtomicEditor.app/" : config.artifactsRoot + "AtomicEditor/";
  23. config.toolDataFolder = config.editorAppFolder + (os.platform() == "darwin" ? "Contents/Resources/ToolData/" : "Resources/ToolData/");
  24. // jenkins, TODO: abstract anything that requires jenkins
  25. config.jenkins = process.env.ATOMIC_JENKINS_BUILD == 1;
  26. config.buildSHA = process.env.ATOMIC_BUILD_SHA ? process.env.ATOMIC_BUILD_SHA : "UNKNOWN_BUILD_SHA";
  27. config.devIDApp = process.env.ATOMIC_DEV_ID_APP ? process.env.ATOMIC_DEV_ID_APP : "";
  28. config.pfxFile = process.env.ATOMIC_PFX_FILE ? process.env.ATOMIC_PFX_FILE : "";
  29. config.pfxPW = process.env.ATOMIC_PFX_PW ? process.env.ATOMIC_PFX_PW : "";
  30. return config;
  31. }
  32. exports = module.exports = processOptions(require('minimist')(process.argv.slice(2), {
  33. "default" : {
  34. "noclean" : false,
  35. "debug" : false,
  36. "nonet" : false,
  37. "with-android" : false,
  38. "with-ios" : false,
  39. "with-docs" : false,
  40. "with-examples" : false,
  41. "package" : false
  42. }
  43. }));