GenMacEditor.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. var fs = require('fs-extra');
  2. var bcommon = require("./BuildCommon");
  3. var host = require("./Host");
  4. var atomicRoot = bcommon.atomicRoot;
  5. var srcDir = bcommon.artifactsRoot + "Build/EditorData/";
  6. var dstDir = bcommon.artifactsRoot + "Build/MacEditor/";
  7. namespace('build', function() {
  8. task('genmaceditorinstaller', ["genmaceditor"], {
  9. async: true
  10. }, function() {
  11. bcommon.cleanCreateDir(dstDir + "MacEditorInstaller");
  12. var editorAppFolder = dstDir + "AtomicEditor.app";
  13. cmds = [
  14. "codesign -s \"THUNDERBEAST GAMES LLC\" -f -v \"" + editorAppFolder + "\"",
  15. "cd " + dstDir + " && zip -r -X " + "./MacEditorInstaller/AtomicEditor_MacOSX_" + bcommon.buildSHA + ".zip ./AtomicEditor.app"
  16. ];
  17. jake.exec(cmds, function() {
  18. console.log("Built Mac Editor");
  19. complete();
  20. }, {
  21. printStdout: true
  22. });
  23. });
  24. task('genmaceditor', {
  25. async: true
  26. }, function() {
  27. bcommon.cleanCreateDir(dstDir);
  28. console.log("Generating Mac App Bundle");
  29. var editorAppFolder = dstDir + "AtomicEditor.app/Contents/";
  30. fs.copySync(srcDir + "MacApps/EditorApp",
  31. editorAppFolder);
  32. fs.copySync(srcDir + "EditorBinaries/Mac/AtomicEditor",
  33. editorAppFolder + "MacOS/AtomicEditor");
  34. fs.copySync(srcDir + "Resources/CoreData",
  35. editorAppFolder + "Resources/CoreData");
  36. fs.copySync(srcDir + "Resources/EditorData",
  37. editorAppFolder + "Resources/EditorData");
  38. fs.copySync(srcDir + "Resources/PlayerData",
  39. editorAppFolder + "Resources/PlayerData");
  40. fs.copySync(srcDir + "Resources/ToolData",
  41. editorAppFolder + "Resources/ToolData");
  42. fs.copySync(srcDir + "AtomicExamples",
  43. editorAppFolder + "Resources/ToolData/AtomicExamples");
  44. fs.copySync(srcDir + "Docs",
  45. editorAppFolder + "Resources/ToolData/Docs/JSDocs");
  46. complete();
  47. });
  48. }); // end of build namespace