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