From 6087b222e127f388ba4228b0285772ebe801b19e Mon Sep 17 00:00:00 2001 From: Adam Christian Date: Mon, 21 Jan 2013 16:15:39 -0800 Subject: [PATCH 1/2] Binary + shell + prep for publish to npm --- app/bin.js | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 5 +++-- 2 files changed, 61 insertions(+), 2 deletions(-) diff --git a/app/bin.js b/app/bin.js index 908ba8417a0..77afa36cbf6 100644 --- a/app/bin.js +++ b/app/bin.js @@ -1 +1,59 @@ #!/usr/bin/env node + +var net = require('net') + , repl = require('repl') + , underscore = require('underscore') + , colors = require('colors') + , appium = require('../server') + , parser = require('./parser'); + ; + +var startRepl = function() { + var help = function() { + console.log("\nWelcome to the Appium CLI".cyan); + console.log(" - Access the appium object via the object: 'appium'".grey); + console.log(" - appium.run is the function to start the server".grey); + console.log(" - args is the default params data structure".grey); + console.log(" - set args.app then run appium.run(args);\n".grey); + return 'Thanks for asking'; + }; + help() + var r = repl.start('(appium): '); + r.context.appium = appium; + r.context.parser = parser(); + r.context.help = help; + r.context.args = { + app: '/path/to/test/app' + , verbose: '1' + , udid: null + , address: '127.0.0.1' + , port: 4723 + , remove: true + } + + var server = net.createServer(function (socket) { + connections += 1; + socket.setTimeout(5*60*1000, function() { + socket.destroy(); + }); + repl.start("(appium): ", socket); + }).listen(process.platform === "win32" ? + "\\\\.\\pipe\\node-repl-sock-" + + process.pid : "/tmp/node-repl-sock-" + + process.pid); + + r.on('exit', function () { + server.close(); + process.exit(); + }); +}; + +if (process.argv[2] === "shell") { + startRepl(); +} +else { + var args = parser().parseArgs(); + args.verbose = 1; + console.log("Pre-flight check ...".grey); + appium.run(args, function() { console.log('Rock and roll.'.grey) }); +} diff --git a/package.json b/package.json index 521a129f067..7b82d2d4289 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "appium", - "description": "Selenium for Apps.", + "description": "Automation for Apps.", "tags": [ "automation", "javascript" @@ -31,7 +31,8 @@ "argparse": "~0.1.10", "path": "~0.4.9", "rimraf": "~2.1.1", - "uuid-js": "~0.7.4" + "uuid-js": "~0.7.4", + "winston": "~0.6.2" }, "scripts": { "test": "grunt lint unit" From 985d0472c985fa142f21ed0e0e6d0e83985f7e4c Mon Sep 17 00:00:00 2001 From: Adam Christian Date: Mon, 21 Jan 2013 16:22:21 -0800 Subject: [PATCH 2/2] LINTING MY BIN CI! --- app/bin.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/app/bin.js b/app/bin.js index 77afa36cbf6..06569f8d472 100644 --- a/app/bin.js +++ b/app/bin.js @@ -1,11 +1,12 @@ #!/usr/bin/env node +"use strict"; var net = require('net') , repl = require('repl') , underscore = require('underscore') , colors = require('colors') , appium = require('../server') - , parser = require('./parser'); + , parser = require('./parser') ; var startRepl = function() { @@ -17,7 +18,9 @@ var startRepl = function() { console.log(" - set args.app then run appium.run(args);\n".grey); return 'Thanks for asking'; }; - help() + + help(); + var r = repl.start('(appium): '); r.context.appium = appium; r.context.parser = parser(); @@ -29,18 +32,16 @@ var startRepl = function() { , address: '127.0.0.1' , port: 4723 , remove: true - } + }; + var connections = 0; var server = net.createServer(function (socket) { connections += 1; socket.setTimeout(5*60*1000, function() { socket.destroy(); }); repl.start("(appium): ", socket); - }).listen(process.platform === "win32" ? - "\\\\.\\pipe\\node-repl-sock-" - + process.pid : "/tmp/node-repl-sock-" - + process.pid); + }).listen(process.platform === "win32" ? "\\\\.\\pipe\\node-repl-sock-" + process.pid : "/tmp/node-repl-sock-" + process.pid); r.on('exit', function () { server.close(); @@ -55,5 +56,5 @@ else { var args = parser().parseArgs(); args.verbose = 1; console.log("Pre-flight check ...".grey); - appium.run(args, function() { console.log('Rock and roll.'.grey) }); + appium.run(args, function() { console.log('Rock and roll.'.grey); }); }