GenMacEditor.js 2.0 KB

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