GenMacEditor.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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. "chmod +x " + editorAppFolder + "/Contents/MacOS/AtomicEditor",
  15. "chmod +x " + editorAppFolder + "/Contents/Resources/ToolData/Deployment/MacOS/AtomicPlayer.app/Contents/MacOS/AtomicPlayer",
  16. "security unlock-keychain -p \"jenkins\" /Users/jenkins/Library/Keychains/login.keychain",
  17. "codesign -s \"THUNDERBEAST GAMES LLC\" -f -v " + editorAppFolder,
  18. "cd " + dstDir + " && zip -r -X " + "./MacEditorInstaller/AtomicEditor_MacOSX_" + bcommon.buildSHA + ".zip ./AtomicEditor.app"
  19. ];
  20. jake.exec(cmds, function() {
  21. console.log("Built Mac Editor");
  22. complete();
  23. }, {
  24. printStdout: true
  25. });
  26. });
  27. task('genmaceditor', {
  28. async: true
  29. }, function() {
  30. bcommon.cleanCreateDir(dstDir);
  31. cmds = ["unzip " + srcDir + "EditorData.zip -d " + srcDir];
  32. jake.exec(cmds, function() {
  33. console.log("Generating Mac App Bundle");
  34. var editorAppFolder = dstDir + "AtomicEditor.app/Contents/";
  35. fs.copySync(srcDir + "MacApps/EditorApp",
  36. editorAppFolder);
  37. fs.copySync(srcDir + "EditorBinaries/Mac/AtomicEditor",
  38. editorAppFolder + "MacOS/AtomicEditor");
  39. fs.copySync(srcDir + "Resources/CoreData",
  40. editorAppFolder + "Resources/CoreData");
  41. fs.copySync(srcDir + "Resources/EditorData",
  42. editorAppFolder + "Resources/EditorData");
  43. fs.copySync(srcDir + "Resources/PlayerData",
  44. editorAppFolder + "Resources/PlayerData");
  45. fs.copySync(srcDir + "Resources/ToolData",
  46. editorAppFolder + "Resources/ToolData");
  47. fs.copySync(srcDir + "AtomicExamples",
  48. editorAppFolder + "Resources/ToolData/AtomicExamples");
  49. fs.copySync(srcDir + "Docs",
  50. editorAppFolder + "Resources/ToolData/Docs/JSDocs");
  51. complete();
  52. }, {
  53. printStdout: true
  54. });
  55. });
  56. }); // end of build namespace