GenWindowsEditor.js 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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/WindowsEditor/";
  7. namespace('build', function() {
  8. task('genwindowsinstaller', ["build:genwindowseditor"], {
  9. async: true
  10. }, function() {
  11. console.log("Creating Windows Installer");
  12. bcommon.cleanCreateDir(bcommon.artifactsRoot + "Build/WindowsInstaller");
  13. var installerName = "AtomicEditorSetup_" + bcommon.buildSHA + ".exe";
  14. var installerPath = bcommon.artifactsRoot + "Build/WindowsInstaller/" + installerName;
  15. var nsisDefines = "/DATOMIC_ROOT=" + atomicRoot;
  16. nsisDefines += " /DEDITOR_VERSION=1";
  17. nsisDefines += " /DINSTALLER_NAME=" + installerName;
  18. var makeNSISCmd = atomicRoot + "\\Build\\CIScripts\\Windows\\CreateInstaller.bat";
  19. makeNSISCmd += " " + nsisDefines + " " + atomicRoot + "/Build/CIScripts/Windows/Installer/AtomicEditor.nsi";
  20. var editorExe = dstDir + "AtomicEditor/AtomicEditor.exe";
  21. var pfxFile = process.env.ATOMIC_PFX_FILE;
  22. var pfxPW = process.env.ATOMIC_PFX_PW;
  23. var signBaseCmd = "signtool.exe sign /f " + pfxFile;
  24. signBaseCmd += " /p " + pfxPW;
  25. signBaseCmd += " /t http://timestamp.verisign.com/scripts/timestamp.dll";
  26. signBaseCmd += " /v ";
  27. var signEditorCmd = signBaseCmd + editorExe;
  28. var signInstallerCmd = signBaseCmd + installerPath;
  29. var cmds = [signEditorCmd, makeNSISCmd, signInstallerCmd];
  30. jake.exec(cmds, function() {
  31. complete();
  32. }, {
  33. printStdout: true
  34. });
  35. });
  36. task('genwindowseditor', {
  37. async: true
  38. }, function() {
  39. bcommon.cleanCreateDir(dstDir);
  40. console.log("Generating Windows Editor");
  41. var editorAppFolder = dstDir + "AtomicEditor/";
  42. fs.copySync(srcDir + "EditorBinaries/Windows/AtomicEditor.exe",
  43. editorAppFolder + "AtomicEditor.exe");
  44. fs.copySync(srcDir + "EditorBinaries/Windows/D3DCompiler_47.dll",
  45. editorAppFolder + "D3DCompiler_47.dll");
  46. fs.copySync(srcDir + "Resources/CoreData",
  47. editorAppFolder + "Resources/CoreData");
  48. fs.copySync(srcDir + "Resources/EditorData",
  49. editorAppFolder + "Resources/EditorData");
  50. fs.copySync(srcDir + "Resources/PlayerData",
  51. editorAppFolder + "Resources/PlayerData");
  52. fs.copySync(srcDir + "Resources/ToolData",
  53. editorAppFolder + "Resources/ToolData");
  54. fs.copySync(srcDir + "AtomicExamples",
  55. editorAppFolder + "Resources/ToolData/AtomicExamples");
  56. fs.copySync(srcDir + "Docs",
  57. editorAppFolder + "Resources/ToolData/Docs/JSDocs");
  58. complete();
  59. });
  60. }); // end of build namespace