blob: 233e742d4fe37da68b1d8943fbde34f3cd1f93b5 [file] [log] [blame]
var syrup = require('stf-syrup')
var logger = require('../../util/logger')
var lifecycle = require('../../util/lifecycle')
module.exports = function(options) {
// Show serial number in logs
logger.setGlobalIdentifier(options.serial)
var log = logger.createLogger('device')
return syrup.serial()
// We want to send logs before anything else starts happening
.dependency(require('./plugins/logger'))
.define(function(options) {
var log = logger.createLogger('device')
log.info('Preparing device')
return syrup.serial()
.dependency(require('./plugins/heartbeat'))
.dependency(require('./plugins/solo'))
.dependency(require('./plugins/screen/stream'))
.dependency(require('./plugins/screen/capture'))
.dependency(require('./plugins/vnc'))
.dependency(require('./plugins/service'))
.dependency(require('./plugins/browser'))
.dependency(require('./plugins/store'))
.dependency(require('./plugins/clipboard'))
.dependency(require('./plugins/logcat'))
.dependency(require('./plugins/viewbridge'))
.dependency(require('./plugins/mute'))
.dependency(require('./plugins/shell'))
.dependency(require('./plugins/touch'))
.dependency(require('./plugins/install'))
.dependency(require('./plugins/forward'))
.dependency(require('./plugins/group'))
.dependency(require('./plugins/cleanup'))
.dependency(require('./plugins/reboot'))
.dependency(require('./plugins/connect'))
.dependency(require('./plugins/account'))
.dependency(require('./plugins/ringer'))
.dependency(require('./plugins/wifi'))
.dependency(require('./plugins/sd'))
.dependency(require('./plugins/filesystem'))
.define(function(options, heartbeat, solo) {
if (process.send) {
// Only if we have a parent process
process.send('ready')
}
log.info('Fully operational')
return solo.poke()
})
.consume(options)
})
.consume(options)
.catch(function(err) {
log.fatal('Setup had an error', err.stack)
lifecycle.fatal()
})
}