| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- var os = require('os');
- var fs = require('fs-extra');
- var path = require("path");
- var host = require("./Host");
- var config = require("./BuildConfig");
- var atomicRoot = config.atomicRoot;
- var buildDir = config.artifactsRoot + "Build/IOS/";
- namespace('build', function() {
- task('ios_native', {
- async: true
- }, function() {
- var NETNativeSrcDir = buildDir + "Source/AtomicNET/NETNative/" + config["config"] + "-iphoneos/";
- var NETNativeDestDir = config.artifactsRoot + "AtomicNET/" + config["config"] + "/Native/iOS/";
- host.setupDirs(!config["noclean"], [buildDir, NETNativeDestDir]);
- process.chdir(buildDir);
- var cmds = [];
- cmds.push("cmake -DIOS=1 -DATOMIC_DEV_BUILD=0 -G Xcode ../../../");
- if (config.jenkins) {
- 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 " + config["config"] + " -parallelizeTargets -jobs 4");
- // Note that this install_name_tool invocation invalidates the code signing, Xamarin/Visual Studio should resign the binary on deploy to device
- cmds.push("cd \"" + NETNativeSrcDir + "\" && install_name_tool -id @rpath/AtomicNETNative.framework/AtomicNETNative AtomicNETNative.framework/AtomicNETNative");
- //cmds.push("cd \"" + NETNativeSrcDir + "\" && codesign --deep --force --verify --sign \"iPhone Developer\" ./AtomicNETNative.framework/");
- cmds.push("cd \"" + NETNativeSrcDir + "\" && zip -r AtomicNETNative.framework.zip AtomicNETNative.framework");
- jake.exec(cmds, function() {
- fs.copySync(NETNativeSrcDir + "AtomicNETNative.framework", NETNativeDestDir + "AtomicNETNative.framework");
- fs.copySync(NETNativeSrcDir + "AtomicNETNative.framework.zip", NETNativeDestDir + "AtomicNETNative.framework.zip");
- complete();
- }, {
- printStdout: true,
- printStderr: true
- });
- });
- }); // end of build namespace
|