GenMacEditor.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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 -d" + 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. "unzip " + srcDir + "EditorBinaries/Mac/AtomicEditor.zip -d " + srcDir + "EditorBinaries/Mac"];
  33. jake.exec(cmds, function() {
  34. console.log("Generating Mac App Bundle");
  35. var editorAppFolder = dstDir + "AtomicEditor.app/Contents/";
  36. fs.copySync(srcDir + "EditorBinaries/Mac/AtomicEditor.app",
  37. dstDir + "AtomicEditor.app");
  38. fs.copySync(srcDir + "Resources/CoreData",
  39. editorAppFolder + "Resources/CoreData");
  40. fs.copySync(srcDir + "Resources/EditorData",
  41. editorAppFolder + "Resources/EditorData");
  42. fs.copySync(srcDir + "Resources/PlayerData",
  43. editorAppFolder + "Resources/PlayerData");
  44. fs.copySync(srcDir + "Resources/ToolData",
  45. editorAppFolder + "Resources/ToolData");
  46. fs.copySync(srcDir + "AtomicExamples",
  47. editorAppFolder + "Resources/ToolData/AtomicExamples");
  48. fs.copySync(srcDir + "Docs",
  49. editorAppFolder + "Resources/ToolData/Docs/JSDocs");
  50. complete();
  51. }, {
  52. printStdout: true
  53. });
  54. });
  55. }); // end of build namespace