Browse Source

Use tasks

Josh Engebretson 10 năm trước cách đây
mục cha
commit
6456bb376a

+ 23 - 28
Build/Scripts/BuildAndroid.js

@@ -3,44 +3,39 @@ var bcommon = require("./BuildCommon");
 var host = require("./Host");
 
 var buildDir = bcommon.artifactsRoot + "Build/Android/";
+var playerBuildDir = buildDir + "AtomicPlayer/";
 
-function BuildAndroidPlayer() {
-
-  var atomicTool = host.getAtomicToolBinary();
-
-  var playerBuildDir = buildDir + "AtomicPlayer/";
+namespace('build', function() {
 
-  bcommon.cleanCreateDir(playerBuildDir);
+  task('android_player', ["build:atomictool"], {
+    async: true
+  }, function() {
 
-  process.chdir(playerBuildDir);
+    bcommon.cleanCreateDir(playerBuildDir);
 
-  var cmds = [
-    atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/Atomic/ ANDROID",
-    atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/AtomicPlayer/ ANDROID"
-  ];
+    var atomicTool = host.getAtomicToolBinary();
 
-  cmds.push("cmake -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=" + bcommon.atomicRoot + "/CMake/Toolchains/android.toolchain.cmake -DCMAKE_BUILD_TYPE=Release ../../../../");
-  cmds.push("make -j4");
+    process.chdir(playerBuildDir);
 
-  jake.exec(cmds, function() {
+    var cmds = [
+      atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/Atomic/ ANDROID",
+      atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/AtomicPlayer/ ANDROID"
+    ];
 
-    var androidPlayerBinary = playerBuildDir + "Source/AtomicPlayer/Application/libAtomicPlayer.so";
-    fs.copySync(androidPlayerBinary, buildDir + "Bin/libAtomicPlayer.so");
-    console.log("Built Android Player");
-    complete();
+    cmds.push("cmake -G \"Unix Makefiles\" -DCMAKE_TOOLCHAIN_FILE=" + bcommon.atomicRoot + "/CMake/Toolchains/android.toolchain.cmake -DCMAKE_BUILD_TYPE=Release ../../../../");
+    cmds.push("make -j4");
 
-  }, {
-    printStdout: true
-  });
+    jake.exec(cmds, function() {
 
-}
+      var androidPlayerBinary = playerBuildDir + "Source/AtomicPlayer/Application/libAtomicPlayer.so";
+      fs.copySync(androidPlayerBinary, buildDir + "Bin/libAtomicPlayer.so");
+      console.log("Built Android Player");
+      complete();
 
-namespace('build', function() {
+    }, {
+      printStdout: true
+    });
 
-  task('android_player', {
-    async: true
-  }, function() {
-    BuildAndroidPlayer();
-  })
+  });
 
 }); // end of build namespace

+ 27 - 31
Build/Scripts/BuildIOS.js

@@ -4,49 +4,45 @@ var host = require("./Host");
 
 var buildDir = bcommon.artifactsRoot + "Build/IOS/";
 
-function BuildIOSPlayer() {
+namespace('build', function() {
 
-  var atomicTool = host.getAtomicToolBinary();
+  task('ios_player', ["build:atomictool"], {
+    async: true
+  }, function() {
 
-  var playerBuildDir = buildDir + "AtomicPlayer/";
+    var atomicTool = host.getAtomicToolBinary();
 
-  bcommon.cleanCreateDir(playerBuildDir);
+    var playerBuildDir = buildDir + "AtomicPlayer/";
 
-  process.chdir(playerBuildDir);
+    bcommon.cleanCreateDir(playerBuildDir);
 
-  var cmds = [
-    atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/Atomic/ IOS",
-    atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/AtomicPlayer/ IOS",
-    "cmake -DIOS=1 -G Xcode ../../../../"
-  ];
+    process.chdir(playerBuildDir);
 
-  if (false) {
+    var cmds = [
+      atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/Atomic/ IOS",
+      atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/AtomicPlayer/ IOS",
+      "cmake -DIOS=1 -G Xcode ../../../../"
+    ];
 
-    cmds.push("security -v list-keychains -d system -s /Users/jenkins/Library/Keychains/codesign.keychain");
-    cmds.push("security -v unlock-keychain /Users/jenkins/Library/Keychains/codesign.keychain");
+    if (false) {
 
-  }
+      cmds.push("security -v list-keychains -d system -s /Users/jenkins/Library/Keychains/codesign.keychain");
+      cmds.push("security -v unlock-keychain /Users/jenkins/Library/Keychains/codesign.keychain");
 
-  cmds.push("xcodebuild -configuration Release");
+    }
 
-  jake.exec(cmds, function() {    
-    var iosPlayerBinary = playerBuildDir + "Source/AtomicPlayer/Application/Release-iphoneos/AtomicPlayer.app/AtomicPlayer";
-    fs.copySync(iosPlayerBinary, buildDir + "Bin/AtomicPlayer");
-    console.log("Built IOS Player");
-    complete();
+    cmds.push("xcodebuild -configuration Release");
 
-  }, {
-    printStdout: true
-  });
+    jake.exec(cmds, function() {
+      var iosPlayerBinary = playerBuildDir + "Source/AtomicPlayer/Application/Release-iphoneos/AtomicPlayer.app/AtomicPlayer";
+      fs.copySync(iosPlayerBinary, buildDir + "Bin/AtomicPlayer");
+      console.log("Built IOS Player");
+      complete();
 
-}
+    }, {
+      printStdout: true
+    });
 
-namespace('build', function() {
-
-  task('ios_player', {
-    async: true
-  }, function() {
-    BuildIOSPlayer();
-  })
+  });
 
 }); // end of build namespace

+ 47 - 56
Build/Scripts/BuildMac.js

@@ -4,80 +4,71 @@ var host = require("./Host");
 
 var buildDir = bcommon.artifactsRoot + "Build/Mac/";
 
-function BuildMacPlayer() {
+namespace('build', function() {
 
-  var atomicTool = host.getAtomicToolBinary();
+  task('mac_player', ["build:atomictool"], {
+    async: true
+  }, function() {
 
-  var playerBuildDir = buildDir + "AtomicPlayer/";
+    var atomicTool = host.getAtomicToolBinary();
 
-  bcommon.cleanCreateDir(playerBuildDir);
+    var playerBuildDir = buildDir + "AtomicPlayer/";
 
-  process.chdir(playerBuildDir);
+    bcommon.cleanCreateDir(playerBuildDir);
 
-  var cmds = [
-    atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/Atomic/ MACOSX",
-    atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/AtomicPlayer/ MACOSX",
-    "cmake -DATOMICTOOL_NOGEN=1 -G Xcode ../../../../",
-    "xcodebuild -target AtomicPlayer -configuration Release"
-  ];
+    process.chdir(playerBuildDir);
 
-  jake.exec(cmds, function() {
-    var macPlayerBinary = playerBuildDir + "Source/AtomicPlayer/Application/Release/AtomicPlayer.app/Contents/MacOS/AtomicPlayer";
-    fs.copySync(macPlayerBinary, buildDir + "Bin/AtomicPlayer");
-    console.log("Built Mac Player");
-    complete();
+    var cmds = [
+      atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/Atomic/ MACOSX",
+      atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/AtomicPlayer/ MACOSX",
+      "cmake -DATOMICTOOL_NOGEN=1 -G Xcode ../../../../",
+      "xcodebuild -target AtomicPlayer -configuration Release"
+    ];
 
-  }, {
-    printStdout: true
-  });
+    jake.exec(cmds, function() {
+      var macPlayerBinary = playerBuildDir + "Source/AtomicPlayer/Application/Release/AtomicPlayer.app/Contents/MacOS/AtomicPlayer";
+      fs.copySync(macPlayerBinary, buildDir + "Bin/AtomicPlayer");
+      console.log("Built Mac Player");
+      complete();
 
-}
+    }, {
+      printStdout: true
+    });
 
-function BuildMacEditor() {
+  });
 
-  var atomicTool = host.getAtomicToolBinary();
+  task('mac_editor', ["build:atomictool"], {
+    async: true
+  }, function() {
 
-  var editorBuildDir = buildDir + "AtomicEditor/";
+    var atomicTool = host.getAtomicToolBinary();
 
-  bcommon.cleanCreateDir(editorBuildDir);
+    var editorBuildDir = buildDir + "AtomicEditor/";
 
-  process.chdir(editorBuildDir);
+    bcommon.cleanCreateDir(editorBuildDir);
 
-  var cmds = [
-    atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/Atomic/ MACOSX",
-    atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/AtomicPlayer/ MACOSX",
-    atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/ToolCore/ MACOSX",
-    atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/Editor/ MACOSX",
-    atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/AtomicNET/ MACOSX",
-    "cmake -DATOMICTOOL_NOGEN=1 -G Xcode ../../../../",
-    "xcodebuild -target AtomicEditor -configuration Release"
-  ];
+    process.chdir(editorBuildDir);
 
-  jake.exec(cmds, function() {
-    var macEditorBinary = editorBuildDir + "Source/AtomicEditor/Release/AtomicEditor.app/Contents/MacOS/AtomicEditor";
-    fs.copySync(macEditorBinary, buildDir + "Bin/AtomicEditor");
-    console.log("Built Mac Editor");
-    complete();
+    var cmds = [
+      atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/Atomic/ MACOSX",
+      atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/AtomicPlayer/ MACOSX",
+      atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/ToolCore/ MACOSX",
+      atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/Editor/ MACOSX",
+      atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/AtomicNET/ MACOSX",
+      "cmake -DATOMICTOOL_NOGEN=1 -G Xcode ../../../../",
+      "xcodebuild -target AtomicEditor -configuration Release"
+    ];
 
-  }, {
-    printStdout: true
-  });
+    jake.exec(cmds, function() {
+      var macEditorBinary = editorBuildDir + "Source/AtomicEditor/Release/AtomicEditor.app/Contents/MacOS/AtomicEditor";
+      fs.copySync(macEditorBinary, buildDir + "Bin/AtomicEditor");
+      console.log("Built Mac Editor");
+      complete();
 
-}
+    }, {
+      printStdout: true
+    });
 
-namespace('build', function() {
-
-  task('mac_player', {
-    async: true
-  }, function() {
-    BuildMacPlayer();
-  });
-
-  task('mac_editor', {
-    async: true
-  }, function() {
-    BuildMacEditor();
   });
 
-
 }); // end of build namespace

+ 28 - 32
Build/Scripts/BuildWeb.js

@@ -4,51 +4,47 @@ var host = require("./Host");
 
 var buildDir = bcommon.artifactsRoot + "Build/Web/";
 
-function BuildWebPlayer() {
+namespace('build', function() {
 
-  var atomicTool = host.getAtomicToolBinary();
+  task('web_player', ["build:atomictool"], {
+    async: true
+  }, function() {
 
-  var playerBuildDir = buildDir + "AtomicPlayer/";
+    var atomicTool = host.getAtomicToolBinary();
 
-  bcommon.cleanCreateDir(playerBuildDir);
+    var playerBuildDir = buildDir + "AtomicPlayer/";
 
-  process.chdir(playerBuildDir);
+    bcommon.cleanCreateDir(playerBuildDir);
 
-  var cmds = [
+    process.chdir(playerBuildDir);
 
-    atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/Atomic/ WEB",
-    atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/AtomicPlayer/ WEB",
-    "cmake -DEMSCRIPTEN=1 -DATOMIC_BUILD_2D=1 -DCMAKE_TOOLCHAIN_FILE=" + bcommon.atomicRoot + "/CMake/Toolchains/emscripten.toolchain.cmake -DCMAKE_BUILD_TYPE=Release ../../../../",
-    "make -j4",
-    "cd ./Source/AtomicPlayer/Application && mv ./AtomicPlayer ./AtomicPlayer.bc && " +
-    // -s ERROR_ON_UNDEFINED_SYMBOLS=1 (disabled for pthread errors currently on incoming)
-    "emcc -O3 -s USE_PTHREADS=0 -s ASM_JS=1 -s VERBOSE=0 -s USE_SDL=2 -s TOTAL_MEMORY=134217728 -s AGGRESSIVE_VARIABLE_ELIMINATION=1 -s NO_EXIT_RUNTIME=1 ./AtomicPlayer.bc -o  ./AtomicPlayer.html"
+    var cmds = [
 
-  ]
+      atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/Atomic/ WEB",
+      atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/AtomicPlayer/ WEB",
+      "cmake -DEMSCRIPTEN=1 -DATOMIC_BUILD_2D=1 -DCMAKE_TOOLCHAIN_FILE=" + bcommon.atomicRoot + "/CMake/Toolchains/emscripten.toolchain.cmake -DCMAKE_BUILD_TYPE=Release ../../../../",
+      "make -j4",
+      "cd ./Source/AtomicPlayer/Application && mv ./AtomicPlayer ./AtomicPlayer.bc && " +
+      // -s ERROR_ON_UNDEFINED_SYMBOLS=1 (disabled for pthread errors currently on incoming)
+      "emcc -O3 -s USE_PTHREADS=0 -s ASM_JS=1 -s VERBOSE=0 -s USE_SDL=2 -s TOTAL_MEMORY=134217728 -s AGGRESSIVE_VARIABLE_ELIMINATION=1 -s NO_EXIT_RUNTIME=1 ./AtomicPlayer.bc -o  ./AtomicPlayer.html"
 
-  jake.exec(cmds, function() {
+    ]
 
-    var webPlayerBinary = playerBuildDir + "Source/AtomicPlayer/Application/AtomicPlayer.js";
-    var webPlayerMemFile = playerBuildDir + "Source/AtomicPlayer/Application/AtomicPlayer.html.mem";
+    jake.exec(cmds, function() {
 
-    fs.copySync(webPlayerBinary, buildDir + "Bin/AtomicPlayer.js");
-    fs.copySync(webPlayerMemFile, buildDir + "Bin/AtomicPlayer.html.mem");
+      var webPlayerBinary = playerBuildDir + "Source/AtomicPlayer/Application/AtomicPlayer.js";
+      var webPlayerMemFile = playerBuildDir + "Source/AtomicPlayer/Application/AtomicPlayer.html.mem";
 
-    console.log("Built Web Player");
+      fs.copySync(webPlayerBinary, buildDir + "Bin/AtomicPlayer.js");
+      fs.copySync(webPlayerMemFile, buildDir + "Bin/AtomicPlayer.html.mem");
 
-    complete();
-  }, {
-    printStdout: true
-  });
+      console.log("Built Web Player");
 
-}
+      complete();
+    }, {
+      printStdout: true
+    });
 
-namespace('build', function() {
-
-  task('web_player', {
-    async: true
-  }, function() {
-    BuildWebPlayer();
-  })
+  });
 
 }); // end of build namespace

+ 24 - 25
Build/Scripts/HostMac.js

@@ -10,45 +10,44 @@ function clean() {
 
 }
 
-// Gets the path to the AtomicTool, possibly building it if it doesn't exist
 function getAtomicToolBinary() {
 
-  try {
-    fs.statSync(atomicToolBinary);
-    return atomicToolBinary;
-  } catch (err) {
-    buildAtomicTool();
-    return atomicToolBinary;
-  }
+  return atomicToolBinary;
 
 }
 
-function buildAtomicTool() {
+namespace('build', function() {
 
-  var toolBuildDir = buildDir + "AtomicTool/";
+  task('atomictool', {
+    async: true
+  }, function() {
 
-  bcommon.cleanCreateDir(toolBuildDir);
+    var toolBuildDir = buildDir + "AtomicTool/";
 
-  process.chdir(toolBuildDir);
+    bcommon.cleanCreateDir(toolBuildDir);
 
-  var cmds = [
-    'cmake ../../../../ -DATOMICTOOL_NOGEN=1 -G Xcode',
-    'xcodebuild -target AtomicTool -configuration Release'
-  ]
+    process.chdir(toolBuildDir);
 
-  jake.exec(cmds, function() {
+    var cmds = [
+      'cmake ../../../../ -DATOMICTOOL_NOGEN=1 -G Xcode',
+      'xcodebuild -target AtomicTool -configuration Release'
+    ]
 
-    var srcToolBinary = toolBuildDir + "Source/AtomicTool/Release/AtomicTool"
+    jake.exec(cmds, function() {
+
+      var srcToolBinary = toolBuildDir + "Source/AtomicTool/Release/AtomicTool"
+      fs.copySync(srcToolBinary, atomicToolBinary);
+      console.log("Built MacOSX AtomicTool");
+      complete();
+
+    }, {
+      printStdout: true
+    });
 
-    fs.copySync(srcToolBinary, atomicToolBinary);
-    console.log("Built MacOSX AtomicTool");
-    complete();
-  }, {
-    printStdout: true
   });
 
-}
+}); // end of build namespace
+
 
 exports.clean = clean;
-exports.buildAtomicTool = buildAtomicTool;
 exports.getAtomicToolBinary = getAtomicToolBinary;