GenMacEditor.js 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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 --force --verify --verbose --sign \"Developer ID Application: THUNDERBEAST GAMES LLC (C7M5MAQQWR)\" " + editorAppFolder + "/Contents/Frameworks/AtomicEditor\\ Helper.app",
  18. "codesign --force --verify --verbose --sign \"Developer ID Application: THUNDERBEAST GAMES LLC (C7M5MAQQWR)\" " + editorAppFolder + "/Contents//Frameworks/AtomicEditor\\ Helper\\ EH.app",
  19. "codesign --force --verify --verbose --sign \"Developer ID Application: THUNDERBEAST GAMES LLC (C7M5MAQQWR)\" " + editorAppFolder + "/Contents/Frameworks/AtomicEditor\\ Helper\\ NP.app",
  20. "codesign --force --verify --verbose --sign \"Developer ID Application: THUNDERBEAST GAMES LLC (C7M5MAQQWR)\" " + editorAppFolder + "/Contents/Frameworks/Chromium\\ Embedded\\ Framework.framework",
  21. "codesign --force --verify --verbose --sign \"Developer ID Application: THUNDERBEAST GAMES LLC (C7M5MAQQWR)\" " + editorAppFolder,
  22. "cd " + dstDir + " && zip -r -X " + "./MacEditorInstaller/AtomicEditor_MacOSX_" + bcommon.buildSHA + ".zip ./AtomicEditor.app"
  23. ];
  24. jake.exec(cmds, function() {
  25. console.log("Built Mac Editor");
  26. complete();
  27. }, {
  28. printStdout: true
  29. });
  30. });
  31. task('genmaceditor', {
  32. async: true
  33. }, function() {
  34. bcommon.cleanCreateDir(dstDir);
  35. cmds = ["unzip " + srcDir + "EditorData.zip -d " + srcDir,
  36. "unzip " + srcDir + "EditorBinaries/Mac/AtomicEditor.zip -d " + srcDir + "EditorBinaries/Mac"];
  37. jake.exec(cmds, function() {
  38. console.log("Generating Mac App Bundle");
  39. var editorAppFolder = dstDir + "AtomicEditor.app/Contents/";
  40. fs.copySync(srcDir + "EditorBinaries/Mac/AtomicEditor.app",
  41. dstDir + "AtomicEditor.app");
  42. fs.copySync(srcDir + "Resources/CoreData",
  43. editorAppFolder + "Resources/CoreData");
  44. fs.copySync(srcDir + "Resources/EditorData",
  45. editorAppFolder + "Resources/EditorData");
  46. fs.copySync(srcDir + "Resources/PlayerData",
  47. editorAppFolder + "Resources/PlayerData");
  48. fs.copySync(srcDir + "Resources/ToolData",
  49. editorAppFolder + "Resources/ToolData");
  50. fs.copySync(srcDir + "AtomicExamples",
  51. editorAppFolder + "Resources/ToolData/AtomicExamples");
  52. fs.copySync(srcDir + "Docs",
  53. editorAppFolder + "Resources/ToolData/Docs/JSDocs");
  54. complete();
  55. }, {
  56. printStdout: true
  57. });
  58. });
  59. }); // end of build namespace