diff --git a/instruments/build.js b/instruments/build.js new file mode 100644 index 000000000..1dc828a12 --- /dev/null +++ b/instruments/build.js @@ -0,0 +1,25 @@ +var spawn = require('child_process').spawn; + +module.exports = function(appRoot, cb, sdk) { + if (typeof sdk == "undefined") { + sdk = 'iphonesimulator6.0'; + } + console.log("Building app..."); + var args = ['-sdk', sdk]; + var xcode = spawn('xcodebuild', args, { + cwd: appRoot + }); + var output = ''; + var collect = function(data) { output += data; }; + xcode.stdout.on('data', collect); + xcode.stderr.on('data', collect); + xcode.on('exit', function(code) { + if (code == 0) { + console.log("done"); + cb(null); + } else { + console.log("Failed building app"); + cb(output); + } + }); +}; diff --git a/instruments/example.js b/instruments/example.js index 73167c687..6925fc193 100644 --- a/instruments/example.js +++ b/instruments/example.js @@ -7,37 +7,26 @@ var http = require('http') , ap = require('argparse').ArgumentParser , colors = require('colors') , spawn = require('child_process').spawn + , build = require('./build') , instruments = require('./instruments'); app.configure(function() { app.use(app.router); }); -var build = function(appRoot, cb) { - console.log("Building app..."); - var args = ['-sdk', 'iphonesimulator6.0']; - var xcode = spawn('xcodebuild', args, { - cwd: appRoot - }); - var output = ''; - var collect = function(data) { output += data; }; - xcode.stdout.on('data', collect); - xcode.stderr.on('data', collect); - xcode.on('exit', function(code) { - if (code == 0) { - console.log("done"); - cb(); - } else { - console.log("Failed building app"); - console.log(output); - } - }); -}; +app.listen(5678, 'localhost', function() { + console.log("Appium server running"); +}); var appRoot = path.resolve(__dirname, '../sample-code/apps/TestApp/'); +var simApp = path.resolve(appRoot, 'build/Release-iphonesimulator/TestApp.app'); + +build(appRoot, function(err) { + if (err) { + console.log(err); + process.exit(1); + } -build(appRoot, function() { - var simApp = path.resolve(appRoot, 'build/Release-iphonesimulator/TestApp.app'); console.log("Launching instruments..."); var inst = instruments( app @@ -57,8 +46,3 @@ build(appRoot, function() { process.exit(code); }); }); - -app.listen(5678, 'localhost', function() { - console.log("Appium server running"); -}); -