BuildIOS.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. var fs = require('fs-extra');
  2. var bcommon = require("./BuildCommon");
  3. var host = require("./Host");
  4. var buildDir = bcommon.artifactsRoot + "Build/IOS/";
  5. namespace('build', function() {
  6. task('ios_player', {
  7. async: true
  8. }, function() {
  9. var atomicTool = host.getAtomicToolBinary();
  10. var playerBuildDir = buildDir + "AtomicPlayer/";
  11. bcommon.cleanCreateDir(playerBuildDir);
  12. bcommon.cleanCreateDir(bcommon.getGenScriptRootDir("IOS"));
  13. process.chdir(playerBuildDir);
  14. var cmds = [
  15. atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/Atomic/ IOS",
  16. atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/AtomicPlayer/ IOS",
  17. "cmake -DIOS=1 -G Xcode ../../../../"
  18. ];
  19. if (bcommon.jenkinsBuild) {
  20. cmds.push("security -v list-keychains -d system -s /Users/jenkins/Library/Keychains/codesign.keychain");
  21. cmds.push("security -v unlock-keychain /Users/jenkins/Library/Keychains/codesign.keychain");
  22. }
  23. cmds.push("xcodebuild -configuration Release -parallelizeTargets -jobs 4");
  24. jake.exec(cmds, function() {
  25. var iosPlayerBinary = playerBuildDir + "Source/AtomicPlayer/Application/Release-iphoneos/AtomicPlayer.app/AtomicPlayer";
  26. fs.copySync(iosPlayerBinary, buildDir + "Bin/AtomicPlayer");
  27. console.log("Built IOS Player");
  28. complete();
  29. }, {
  30. printStdout: true
  31. });
  32. });
  33. }); // end of build namespace