diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ecde9ae..09bbc2c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ ### Enhancements -- Update dependency versions, including adbkit rewritten in TypeScript +- Update dependency versions ## 3.5.0 (2020-10-18) diff --git a/lib/units/device/plugins/account.js b/lib/units/device/plugins/account.js index 6c845399..724bcb54 100644 --- a/lib/units/device/plugins/account.js +++ b/lib/units/device/plugins/account.js @@ -1,5 +1,4 @@ var syrup = require('@devicefarmer/stf-syrup') -var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default var logger = require('../../../util/logger') var wire = require('../../../wire') @@ -13,7 +12,6 @@ module.exports = syrup.serial() .dependency(require('../support/push')) .dependency(require('../support/adb')) .define(function(options, service, identity, touch, router, push, adb) { - var deviceClient = new DeviceClient(adb, options.serial) var log = logger.createLogger('device:plugins:account') function checkAccount(type, account) { @@ -283,11 +281,11 @@ module.exports = syrup.serial() ]) }) .catch(function() { - return deviceClient.clear('com.google.android.gsf.login') + return adb.clear(options.serial, 'com.google.android.gsf.login') .catch(function() { // The package name is different in 2.3, so let's try the old name // if the new name fails. - return deviceClient.clear('com.google.android.gsf') + return adb.clear(options.serial, 'com.google.android.gsf') }) .then(function() { return service.addAccountMenu() diff --git a/lib/units/device/plugins/browser.js b/lib/units/device/plugins/browser.js index 9f63878d..e8b0a744 100644 --- a/lib/units/device/plugins/browser.js +++ b/lib/units/device/plugins/browser.js @@ -1,7 +1,6 @@ var syrup = require('@devicefarmer/stf-syrup') var browsers = require('@devicefarmer/stf-browser-db') -var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default var logger = require('../../../util/logger') var wire = require('../../../wire') @@ -24,7 +23,6 @@ module.exports = syrup.serial() .dependency(require('../support/adb')) .dependency(require('./service')) .define(function(options, router, push, adb, service) { - var deviceClient = new DeviceClient(adb, options.serial) var log = logger.createLogger('device:plugins:browser') function pkg(component) { @@ -105,7 +103,7 @@ module.exports = syrup.serial() } var reply = wireutil.reply(options.serial) - deviceClient.startActivity({ + adb.startActivity(options.serial, { action: 'android.intent.action.VIEW' , component: message.browser , data: message.url @@ -138,7 +136,7 @@ module.exports = syrup.serial() router.on(wire.BrowserClearMessage, function(channel, message) { log.info('Clearing "%s"', message.browser) var reply = wireutil.reply(options.serial) - deviceClient.clear(pkg(message.browser)) + adb.clear(options.serial, pkg(message.browser)) .then(function() { push.send([ channel diff --git a/lib/units/device/plugins/cleanup.js b/lib/units/device/plugins/cleanup.js index d58771cb..ba77582b 100644 --- a/lib/units/device/plugins/cleanup.js +++ b/lib/units/device/plugins/cleanup.js @@ -3,14 +3,12 @@ var Promise = require('bluebird') var _ = require('lodash') var logger = require('../../../util/logger') -var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default module.exports = syrup.serial() .dependency(require('../support/adb')) .dependency(require('../resources/service')) .dependency(require('./group')) .define(function(options, adb, service, group) { - var deviceClient = new DeviceClient(adb, options.serial) var log = logger.createLogger('device:plugins:cleanup') var plugin = Object.create(null) @@ -19,12 +17,12 @@ module.exports = syrup.serial() } function listPackages() { - return deviceClient.getPackages() + return adb.getPackages(options.serial) } function uninstallPackage(pkg) { log.info('Cleaning up package "%s"', pkg) - return deviceClient.uninstall(pkg) + return adb.uninstall(options.serial, pkg) .catch(function(err) { log.warn('Unable to clean up package "%s"', pkg, err) return true diff --git a/lib/units/device/plugins/connect.js b/lib/units/device/plugins/connect.js index 18d83565..1aba2703 100644 --- a/lib/units/device/plugins/connect.js +++ b/lib/units/device/plugins/connect.js @@ -6,7 +6,6 @@ var util = require('util') var syrup = require('@devicefarmer/stf-syrup') var Promise = require('bluebird') -var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default var logger = require('../../../util/logger') var grouputil = require('../../../util/grouputil') @@ -23,7 +22,6 @@ module.exports = syrup.serial() .dependency(require('./util/urlformat')) .define(function(options, adb, router, push, group, solo, urlformat) { var log = logger.createLogger('device:plugins:connect') - var deviceClient = new DeviceClient(adb, options.serial) var plugin = Object.create(null) var activeServer = null @@ -36,7 +34,7 @@ module.exports = syrup.serial() return resolve(plugin.url) } - var server = deviceClient.createTcpUsbBridge({ + var server = adb.createTcpUsbBridge(options.serial, { auth: function(key) { var resolver = Promise.defer() diff --git a/lib/units/device/plugins/filesystem.js b/lib/units/device/plugins/filesystem.js index 4c761399..ed91c8b6 100644 --- a/lib/units/device/plugins/filesystem.js +++ b/lib/units/device/plugins/filesystem.js @@ -1,7 +1,6 @@ var syrup = require('@devicefarmer/stf-syrup') var path = require('path') -var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default var logger = require('../../../util/logger') var wire = require('../../../wire') var wireutil = require('../../../wire/util') @@ -12,16 +11,15 @@ module.exports = syrup.serial() .dependency(require('../support/push')) .dependency(require('../support/storage')) .define(function(options, adb, router, push, storage) { - var deviceClient = new DeviceClient(adb, options.serial) var log = logger.createLogger('device:plugins:filesystem') var plugin = Object.create(null) plugin.retrieve = function(file) { log.info('Retrieving file "%s"', file) - return deviceClient.stat(file) + return adb.stat(options.serial, file) .then(function(stats) { - return deviceClient.pull(file) + return adb.pull(options.serial, file) .then(function(transfer) { // We may have add new storage plugins for various file types // in the future, and add proper detection for the mimetype. @@ -56,7 +54,7 @@ module.exports = syrup.serial() router.on(wire.FileSystemListMessage, function(channel, message) { var reply = wireutil.reply(options.serial) - deviceClient.readdir(message.dir) + adb.readdir(options.serial, message.dir) .then(function(files) { push.send([ channel diff --git a/lib/units/device/plugins/forward/index.js b/lib/units/device/plugins/forward/index.js index 2456327b..681c3654 100644 --- a/lib/units/device/plugins/forward/index.js +++ b/lib/units/device/plugins/forward/index.js @@ -9,7 +9,6 @@ var logger = require('../../../../util/logger') var lifecycle = require('../../../../util/lifecycle') var streamutil = require('../../../../util/streamutil') var wireutil = require('../../../../wire/util') -var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default var ForwardManager = require('./util/manager') @@ -20,14 +19,13 @@ module.exports = syrup.serial() .dependency(require('../../resources/minirev')) .dependency(require('../group')) .define(function(options, adb, router, push, minirev, group) { - var deviceClient = new DeviceClient(adb, options.serial) var log = logger.createLogger('device:plugins:forward') var plugin = Object.create(null) var manager = new ForwardManager() function startService() { log.info('Launching reverse port forwarding service') - return deviceClient.shell([ + return adb.shell(options.serial, [ 'exec' , minirev.bin ]) @@ -40,7 +38,7 @@ module.exports = syrup.serial() function connectService(times) { function tryConnect(times, delay) { - return deviceClient.openLocal('localabstract:minirev') + return adb.openLocal(options.serial, 'localabstract:minirev') .timeout(10000) .catch(function(err) { if (/closed/.test(err.message) && times > 1) { diff --git a/lib/units/device/plugins/install.js b/lib/units/device/plugins/install.js index 181dea6a..b06a6179 100644 --- a/lib/units/device/plugins/install.js +++ b/lib/units/device/plugins/install.js @@ -2,7 +2,6 @@ var stream = require('stream') var url = require('url') var util = require('util') -var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default var syrup = require('@devicefarmer/stf-syrup') var request = require('request') var Promise = require('bluebird') @@ -24,7 +23,6 @@ module.exports = syrup.serial() .dependency(require('../support/router')) .dependency(require('../support/push')) .define(function(options, adb, router, push) { - var deviceClient = new DeviceClient(adb, options.serial) var log = logger.createLogger('device:plugins:install') router.on(wire.InstallMessage, function(channel, message) { @@ -57,7 +55,7 @@ module.exports = syrup.serial() var source = new stream.Readable().wrap(req) var target = '/data/local/tmp/_app.apk' - return deviceClient.push(source, target) + return adb.push(options.serial, source, target) .timeout(10000) .then(function(transfer) { var resolver = Promise.defer() @@ -105,7 +103,7 @@ module.exports = syrup.serial() sendProgress('installing_app', guesstimate) return promiseutil.periodicNotify( - deviceClient.installRemote(apk) + adb.installRemote(options.serial, apk) .timeout(60000 * 5) .catch(function(err) { switch (err.code) { @@ -115,10 +113,10 @@ module.exports = syrup.serial() 'Uninstalling "%s" first due to inconsistent certificates' , pkg ) - return deviceClient.uninstall(pkg) + return adb.uninstall(options.serial, pkg) .timeout(15000) .then(function() { - return deviceClient.installRemote(apk) + return adb.installRemote(options.serial, apk) .timeout(60000 * 5) }) default: @@ -164,7 +162,7 @@ module.exports = syrup.serial() ) // Progress 90% sendProgress('launching_app', 90) - return deviceClient.startActivity(launchActivity) + return adb.startActivity(options.serial, launchActivity) .timeout(30000) } } @@ -207,7 +205,7 @@ module.exports = syrup.serial() var reply = wireutil.reply(options.serial) - deviceClient.uninstall(message.packageName) + adb.uninstall(options.serial, message.packageName) .then(function() { push.send([ channel diff --git a/lib/units/device/plugins/logcat.js b/lib/units/device/plugins/logcat.js index b77b2d50..22b055b8 100644 --- a/lib/units/device/plugins/logcat.js +++ b/lib/units/device/plugins/logcat.js @@ -5,7 +5,6 @@ var logger = require('../../../util/logger') var wire = require('../../../wire') var wireutil = require('../../../wire/util') var lifecycle = require('../../../util/lifecycle') -var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default module.exports = syrup.serial() .dependency(require('../support/adb')) @@ -14,7 +13,6 @@ module.exports = syrup.serial() .dependency(require('./group')) .define(function(options, adb, router, push, group) { var log = logger.createLogger('device:plugins:logcat') - var deviceClient = new DeviceClient(adb, options.serial) var plugin = Object.create(null) var activeLogcat = null @@ -24,7 +22,7 @@ module.exports = syrup.serial() return plugin.stop() .then(function() { log.info('Starting logcat') - return deviceClient.openLogcat({ + return adb.openLogcat(options.serial, { clear: true }) }) diff --git a/lib/units/device/plugins/reboot.js b/lib/units/device/plugins/reboot.js index 51754524..ec0bacba 100644 --- a/lib/units/device/plugins/reboot.js +++ b/lib/units/device/plugins/reboot.js @@ -3,7 +3,6 @@ var syrup = require('@devicefarmer/stf-syrup') var logger = require('../../../util/logger') var wire = require('../../../wire') var wireutil = require('../../../wire/util') -var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default module.exports = syrup.serial() .dependency(require('../support/adb')) @@ -11,14 +10,13 @@ module.exports = syrup.serial() .dependency(require('../support/push')) .define(function(options, adb, router, push) { var log = logger.createLogger('device:plugins:reboot') - var deviceClient = new DeviceClient(adb, options.serial) router.on(wire.RebootMessage, function(channel) { var reply = wireutil.reply(options.serial) log.important('Rebooting') - deviceClient.reboot() + adb.reboot(options.serial) .timeout(30000) .then(function() { push.send([ diff --git a/lib/units/device/plugins/screen/capture.js b/lib/units/device/plugins/screen/capture.js index 2d56363a..ea34dd87 100644 --- a/lib/units/device/plugins/screen/capture.js +++ b/lib/units/device/plugins/screen/capture.js @@ -6,7 +6,6 @@ var adbkit = require('@devicefarmer/adbkit') var logger = require('../../../../util/logger') var wire = require('../../../../wire') var wireutil = require('../../../../wire/util') -var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default module.exports = syrup.serial() .dependency(require('../../support/adb')) @@ -16,7 +15,6 @@ module.exports = syrup.serial() .dependency(require('../../resources/minicap')) .dependency(require('../util/display')) .define(function(options, adb, router, push, storage, minicap, display) { - var deviceClient = new DeviceClient(adb, options.serial) var log = logger.createLogger('device:plugins:screen:capture') var plugin = Object.create(null) @@ -39,14 +37,14 @@ module.exports = syrup.serial() '-P %s -s >%s', projectionFormat(), file)) .then(adbkit.util.readAll) .then(function() { - return deviceClient.stat(file) + return adb.stat(options.serial, file) }) .then(function(stats) { if (stats.size === 0) { throw new Error('Empty screenshot; possibly secure screen?') } - return deviceClient.pull(file) + return adb.pull(options.serial, file) .then(function(transfer) { return storage.store('image', transfer, { filename: util.format('%s.jpg', options.serial) @@ -56,7 +54,7 @@ module.exports = syrup.serial() }) }) .finally(function() { - return deviceClient.shell(['rm', '-f', file]) + return adb.shell(options.serial, ['rm', '-f', file]) .then(adbkit.util.readAll) }) } diff --git a/lib/units/device/plugins/screen/stream.js b/lib/units/device/plugins/screen/stream.js index 2093bb88..5d1bb888 100644 --- a/lib/units/device/plugins/screen/stream.js +++ b/lib/units/device/plugins/screen/stream.js @@ -17,7 +17,6 @@ var BroadcastSet = require('./util/broadcastset') var StateQueue = require('../../../../util/statequeue') var RiskyStream = require('../../../../util/riskystream') var FailCounter = require('../../../../util/failcounter') -var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default module.exports = syrup.serial() .dependency(require('../../support/adb')) @@ -25,7 +24,6 @@ module.exports = syrup.serial() .dependency(require('../util/display')) .dependency(require('./options')) .define(function(options, adb, minicap, display, screenOptions) { - var deviceClient = new DeviceClient(adb, options.serial) var log = logger.createLogger('device:plugins:screen:stream') function FrameProducer(config) { @@ -278,7 +276,7 @@ module.exports = syrup.serial() FrameProducer.prototype._connectService = function() { function tryConnect(times, delay) { - return deviceClient.openLocal('localabstract:minicap') + return adb.openLocal(options.serial, 'localabstract:minicap') .timeout(10000) .then(function(out) { return out @@ -369,7 +367,7 @@ module.exports = syrup.serial() log.info('Sending %s to minicap', signal) return Promise.all([ output.waitForEnd() - , deviceClient.shell(['kill', signum, pid]) + , adb.shell(options.serial, ['kill', signum, pid]) .then(adbkit.util.readAll) .return(true) ]) diff --git a/lib/units/device/plugins/service.js b/lib/units/device/plugins/service.js index b8cb2305..28136c9a 100644 --- a/lib/units/device/plugins/service.js +++ b/lib/units/device/plugins/service.js @@ -3,7 +3,6 @@ var events = require('events') var syrup = require('@devicefarmer/stf-syrup') var Promise = require('bluebird') -var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default var wire = require('../../../wire') var wireutil = require('../../../wire/util') @@ -37,7 +36,6 @@ module.exports = syrup.serial() .dependency(require('../support/sdk')) .dependency(require('../resources/service')) .define(function(options, adb, router, push, sdk, apk) { - var deviceClient = new DeviceClient(adb, options.serial) var log = logger.createLogger('device:plugins:service') var messageResolver = new MessageResolver() var plugin = new events.EventEmitter() @@ -67,7 +65,7 @@ module.exports = syrup.serial() function callService(intent) { var startServiceCmd = (sdk.level < 26) ? 'startservice' : 'start-foreground-service' log.info('using \'%s\' command for API %s', startServiceCmd, sdk.level) - return deviceClient.shell(util.format( + return adb.shell(options.serial, util.format( 'am %s --user 0 %s' , startServiceCmd, intent )) @@ -80,7 +78,7 @@ module.exports = syrup.serial() .timeout(10000) .then(function(line) { if (line.indexOf('--user') !== -1) { - return deviceClient.shell(util.format( + return adb.shell(options.serial, util.format( 'am %s %s' , startServiceCmd, intent )) @@ -279,7 +277,7 @@ module.exports = syrup.serial() .timeout(10000) }) .then(function() { - return deviceClient.shell(util.format( + return adb.shell(options.serial, util.format( "export CLASSPATH='%s'; exec app_process /system/bin '%s'" , apk.path , apk.main diff --git a/lib/units/device/plugins/shell.js b/lib/units/device/plugins/shell.js index 3ff50363..8064e9cd 100644 --- a/lib/units/device/plugins/shell.js +++ b/lib/units/device/plugins/shell.js @@ -4,7 +4,6 @@ var syrup = require('@devicefarmer/stf-syrup') var logger = require('../../../util/logger') var wire = require('../../../wire') var wireutil = require('../../../wire/util') -var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default module.exports = syrup.serial() .dependency(require('../support/adb')) @@ -12,7 +11,6 @@ module.exports = syrup.serial() .dependency(require('../support/push')) .dependency(require('../support/sub')) .define(function(options, adb, router, push, sub) { - var deviceClient = new DeviceClient(adb, options.serial) var log = logger.createLogger('device:plugins:shell') router.on(wire.ShellCommandMessage, function(channel, message) { @@ -20,7 +18,7 @@ module.exports = syrup.serial() log.info('Running shell command "%s"', message.command) - deviceClient.shell(message.command) + adb.shell(options.serial, message.command) .timeout(10000) .then(function(stream) { var resolver = Promise.defer() diff --git a/lib/units/device/plugins/store.js b/lib/units/device/plugins/store.js index 805c3b08..8b30c94f 100644 --- a/lib/units/device/plugins/store.js +++ b/lib/units/device/plugins/store.js @@ -3,21 +3,19 @@ var syrup = require('@devicefarmer/stf-syrup') var logger = require('../../../util/logger') var wire = require('../../../wire') var wireutil = require('../../../wire/util') -var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default module.exports = syrup.serial() .dependency(require('../support/router')) .dependency(require('../support/push')) .dependency(require('../support/adb')) .define(function(options, router, push, adb) { - var deviceClient = new DeviceClient(adb, options.serial) var log = logger.createLogger('device:plugins:store') router.on(wire.StoreOpenMessage, function(channel) { log.info('Opening Play Store') var reply = wireutil.reply(options.serial) - deviceClient.startActivity({ + adb.startActivity(options.serial, { action: 'android.intent.action.MAIN' , component: 'com.android.vending/.AssetBrowserActivity' // FLAG_ACTIVITY_RESET_TASK_IF_NEEDED diff --git a/lib/units/device/plugins/touch/index.js b/lib/units/device/plugins/touch/index.js index d6df21eb..5daa64cc 100644 --- a/lib/units/device/plugins/touch/index.js +++ b/lib/units/device/plugins/touch/index.js @@ -5,8 +5,7 @@ var syrup = require('@devicefarmer/stf-syrup') var split = require('split') var EventEmitter = require('eventemitter3') var adbkit = require('@devicefarmer/adbkit') -var Parser = require('@devicefarmer/adbkit/dist/src/adb/parser').default -var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default +var Parser = require('@devicefarmer/adbkit/lib/adb/parser') var wire = require('../../../../wire') var logger = require('../../../../util/logger') @@ -22,7 +21,6 @@ module.exports = syrup.serial() .dependency(require('../../resources/minitouch')) .dependency(require('../util/flags')) .define(function(options, adb, router, minitouch, flags) { - var deviceClient = new DeviceClient(adb, options.serial) var log = logger.createLogger('device:plugins:touch') function TouchConsumer(config) { @@ -261,7 +259,7 @@ module.exports = syrup.serial() TouchConsumer.prototype._connectService = function() { function tryConnect(times, delay) { - return deviceClient.openLocal('localabstract:minitouch') + return adb.openLocal(options.serial, 'localabstract:minitouch') .timeout(10000) .then(function(out) { return out @@ -352,7 +350,7 @@ module.exports = syrup.serial() log.info('Sending %s to minitouch', signal) return Promise.all([ output.waitForEnd() - , deviceClient.shell(['kill', signum, pid]) + , adb.shell(options.serial, ['kill', signum, pid]) .then(adbkit.util.readAll) .return(true) ]) diff --git a/lib/units/device/resources/minicap.js b/lib/units/device/resources/minicap.js index fbdc8abd..1b342b19 100644 --- a/lib/units/device/resources/minicap.js +++ b/lib/units/device/resources/minicap.js @@ -4,7 +4,6 @@ var path = require('path') var Promise = require('bluebird') var syrup = require('@devicefarmer/stf-syrup') -var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default var logger = require('../../../util/logger') var pathutil = require('../../../util/pathutil') @@ -19,7 +18,6 @@ module.exports = syrup.serial() .dependency(require('../support/sdk')) .define(function(options, adb, properties, abi, sdk) { var log = logger.createLogger('device:resources:minicap') - var deviceClient = new DeviceClient(adb, options.serial) var resources = { bin: new Resource({ @@ -64,7 +62,7 @@ module.exports = syrup.serial() } function removeResource(res) { - return deviceClient.shell(['rm', '-f', res.dest]) + return adb.shell(options.serial, ['rm', '-f', res.dest]) .timeout(10000) .then(function(out) { return streamutil.readAll(out) @@ -73,7 +71,7 @@ module.exports = syrup.serial() } function pushResource(res) { - return deviceClient.push(res.src, res.dest, res.mode) + return adb.push(options.serial, res.src, res.dest, res.mode) .timeout(10000) .then(function(transfer) { return new Promise(function(resolve, reject) { @@ -88,7 +86,7 @@ module.exports = syrup.serial() log.info('Installing "%s" as "%s"', res.src, res.dest) function checkExecutable(res) { - return deviceClient.stat(res.dest) + return adb.stat(options.serial, res.dest) .timeout(5000) .then(function(stats) { // Can't use fs.constants.S_IXUSR due to differences on Windows. @@ -138,7 +136,7 @@ module.exports = syrup.serial() bin: resources.bin.dest , lib: resources.lib.dest , run: function(cmd) { - return deviceClient.shell(util.format( + return adb.shell(options.serial, util.format( 'LD_LIBRARY_PATH=%s exec %s %s' , path.dirname(resources.lib.dest) , resources.bin.dest diff --git a/lib/units/device/resources/minirev.js b/lib/units/device/resources/minirev.js index f3e4e37f..63d3048e 100644 --- a/lib/units/device/resources/minirev.js +++ b/lib/units/device/resources/minirev.js @@ -9,14 +9,12 @@ var pathutil = require('../../../util/pathutil') var devutil = require('../../../util/devutil') var streamutil = require('../../../util/streamutil') var Resource = require('./util/resource') -var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default module.exports = syrup.serial() .dependency(require('../support/adb')) .dependency(require('../support/properties')) .dependency(require('../support/abi')) .define(function(options, adb, properties, abi) { - var deviceClient = new DeviceClient(adb, options.serial) var log = logger.createLogger('device:resources:minirev') var resources = { @@ -38,7 +36,7 @@ module.exports = syrup.serial() } function removeResource(res) { - return deviceClient.shell(['rm', '-f', res.dest]) + return adb.shell(options.serial, ['rm', '-f', res.dest]) .timeout(10000) .then(function(out) { return streamutil.readAll(out) @@ -47,7 +45,7 @@ module.exports = syrup.serial() } function pushResource(res) { - return deviceClient.push(res.src, res.dest, res.mode) + return adb.push(options.serial, res.src, res.dest, res.mode) .timeout(10000) .then(function(transfer) { return new Promise(function(resolve, reject) { @@ -62,7 +60,7 @@ module.exports = syrup.serial() log.info('Installing "%s" as "%s"', res.src, res.dest) function checkExecutable(res) { - return deviceClient.stat(res.dest) + return adb.stat(options.serial, res.dest) .timeout(5000) .then(function(stats) { // Can't use fs.constants.S_IXUSR due to differences on Windows. diff --git a/lib/units/device/resources/minitouch.js b/lib/units/device/resources/minitouch.js index b4d61b7e..fcb4e858 100644 --- a/lib/units/device/resources/minitouch.js +++ b/lib/units/device/resources/minitouch.js @@ -9,13 +9,11 @@ var pathutil = require('../../../util/pathutil') var devutil = require('../../../util/devutil') var streamutil = require('../../../util/streamutil') var Resource = require('./util/resource') -var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default module.exports = syrup.serial() .dependency(require('../support/adb')) .dependency(require('../support/abi')) .define(function(options, adb, abi) { - var deviceClient = new DeviceClient(adb, options.serial) var log = logger.createLogger('device:resources:minitouch') var resources = { @@ -37,7 +35,7 @@ module.exports = syrup.serial() } function removeResource(res) { - return deviceClient.shell(['rm', '-f', res.dest]) + return adb.shell(options.serial, ['rm', '-f', res.dest]) .timeout(10000) .then(function(out) { return streamutil.readAll(out) @@ -46,7 +44,7 @@ module.exports = syrup.serial() } function pushResource(res) { - return deviceClient.push(res.src, res.dest, res.mode) + return adb.push(options.serial, res.src, res.dest, res.mode) .timeout(10000) .then(function(transfer) { return new Promise(function(resolve, reject) { @@ -61,7 +59,7 @@ module.exports = syrup.serial() log.info('Installing "%s" as "%s"', res.src, res.dest) function checkExecutable(res) { - return deviceClient.stat(res.dest) + return adb.stat(options.serial, res.dest) .timeout(5000) .then(function(stats) { // Can't use fs.constants.S_IXUSR due to differences on Windows. @@ -109,7 +107,7 @@ module.exports = syrup.serial() return { bin: resources.bin.dest , run: function(cmd) { - return deviceClient.shell(util.format( + return adb.shell(options.serial, util.format( 'exec %s%s' , resources.bin.dest , cmd ? util.format(' %s', cmd) : '' diff --git a/lib/units/device/resources/service.js b/lib/units/device/resources/service.js index 893d1247..6d9752ec 100644 --- a/lib/units/device/resources/service.js +++ b/lib/units/device/resources/service.js @@ -1,6 +1,5 @@ var util = require('util') -var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default var syrup = require('@devicefarmer/stf-syrup') var ProtoBuf = require('protobufjs') var semver = require('semver') @@ -13,7 +12,6 @@ var logger = require('../../../util/logger') module.exports = syrup.serial() .dependency(require('../support/adb')) .define(function(options, adb) { - var deviceClient = new DeviceClient(adb, options.serial) var log = logger.createLogger('device:resources:service') var builder = ProtoBuf.loadProtoFile( pathutil.vendor('STFService/wire.proto')) @@ -32,7 +30,7 @@ module.exports = syrup.serial() } function getPath() { - return deviceClient.shell(['pm', 'path', resource.pkg]) + return adb.shell(options.serial, ['pm', 'path', resource.pkg]) .timeout(10000) .then(function(out) { return streamutil.findLine(out, (/^package:/)) @@ -48,7 +46,7 @@ module.exports = syrup.serial() return getPath() .then(function(installedPath) { log.info('Running version check') - return deviceClient.shell(util.format( + return adb.shell(options.serial, util.format( "export CLASSPATH='%s';" + " exec app_process /system/bin '%s' --version 2>/dev/null" , installedPath @@ -76,11 +74,11 @@ module.exports = syrup.serial() log.info('Installing STFService') // Uninstall first to make sure we don't have any certificate // issues. - return deviceClient.uninstall(resource.pkg) + return adb.uninstall(options.serial, resource.pkg) .timeout(15000) .then(function() { return promiseutil.periodicNotify( - deviceClient.install(resource.apk) + adb.install(options.serial, resource.apk) , 20000 ) .timeout(65000) diff --git a/lib/units/device/support/adb.js b/lib/units/device/support/adb.js index c2cdf8b1..4a3b3ea3 100644 --- a/lib/units/device/support/adb.js +++ b/lib/units/device/support/adb.js @@ -1,7 +1,6 @@ var syrup = require('@devicefarmer/stf-syrup') -var adbkit = require('@devicefarmer/adbkit').Adb -var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default +var adbkit = require('@devicefarmer/adbkit') var logger = require('../../../util/logger') var promiseutil = require('../../../util/promiseutil') @@ -17,7 +16,7 @@ module.exports = syrup.serial() function ensureBootComplete() { return promiseutil.periodicNotify( - new DeviceClient(adb, options.serial).waitBootComplete() + adb.waitBootComplete(options.serial) , 1000 ) .progressed(function() { diff --git a/lib/units/device/support/properties.js b/lib/units/device/support/properties.js index 072502b1..3f7c17c1 100644 --- a/lib/units/device/support/properties.js +++ b/lib/units/device/support/properties.js @@ -1,5 +1,4 @@ var syrup = require('@devicefarmer/stf-syrup') -var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default var logger = require('../../../util/logger') @@ -10,7 +9,7 @@ module.exports = syrup.serial() function load() { log.info('Loading properties') - return new DeviceClient(adb, options.serial).getProperties() + return adb.getProperties(options.serial) .timeout(10000) } diff --git a/lib/units/provider/index.js b/lib/units/provider/index.js index 74542777..d4ada8bb 100644 --- a/lib/units/provider/index.js +++ b/lib/units/provider/index.js @@ -1,4 +1,4 @@ -var adb = require('@devicefarmer/adbkit').Adb +var adb = require('@devicefarmer/adbkit') var Promise = require('bluebird') var _ = require('lodash') var EventEmitter = require('eventemitter3') diff --git a/lib/util/devutil.js b/lib/util/devutil.js index a46499ef..0772cfd7 100644 --- a/lib/util/devutil.js +++ b/lib/util/devutil.js @@ -3,7 +3,6 @@ var util = require('util') var split = require('split') var Promise = require('bluebird') var androidDeviceList = require('android-device-list') -var DeviceClient = require('@devicefarmer/adbkit/dist/src/adb/DeviceClient').default var devutil = module.exports = Object.create(null) @@ -12,8 +11,7 @@ function closedError(err) { } devutil.ensureUnusedLocalSocket = function(adb, serial, sock) { - var deviceClient = new DeviceClient(adb, serial) - return deviceClient.openLocal(sock) + return adb.openLocal(serial, sock) .then(function(conn) { conn.end() throw new Error(util.format('Local socket "%s" should be unused', sock)) @@ -24,8 +22,7 @@ devutil.ensureUnusedLocalSocket = function(adb, serial, sock) { } devutil.waitForLocalSocket = function(adb, serial, sock) { - var deviceClient = new DeviceClient(adb, serial) - return deviceClient.openLocal(sock) + return adb.openLocal(serial, sock) .then(function(conn) { conn.sock = sock return conn @@ -39,7 +36,6 @@ devutil.waitForLocalSocket = function(adb, serial, sock) { } devutil.listPidsByComm = function(adb, serial, comm, bin) { - var deviceClient = new DeviceClient(adb, serial) var users = { shell: true } @@ -75,7 +71,7 @@ devutil.listPidsByComm = function(adb, serial, comm, bin) { }) } - return deviceClient.shell('ps 2>/dev/null') + return adb.shell(serial, 'ps 2>/dev/null') .then(findProcess) .then(function(res) { // return pids if process can be found in the output of 'ps' command @@ -85,7 +81,7 @@ devutil.listPidsByComm = function(adb, serial, comm, bin) { } // otherwise try to run 'ps -elf' else { - return deviceClient.shell('ps -lef 2>/dev/null') + return adb.shell(serial, 'ps -lef 2>/dev/null') .then(findProcess) .then(function(res) { return Promise.resolve(res.pids) @@ -107,13 +103,12 @@ devutil.waitForProcsToDie = function(adb, serial, comm, bin) { } devutil.killProcsByComm = function(adb, serial, comm, bin, mode) { - var deviceClient = new DeviceClient(adb, serial) return devutil.listPidsByComm(adb, serial, comm, bin, mode) .then(function(pids) { if (!pids.length) { return Promise.resolve() } - return deviceClient.shell(['kill', mode || -15].concat(pids)) + return adb.shell(serial, ['kill', mode || -15].concat(pids)) .then(function(out) { return new Promise(function(resolve) { out.on('end', resolve) diff --git a/package.json b/package.json index 6c8a6156..ff3423fa 100644 --- a/package.json +++ b/package.json @@ -34,9 +34,9 @@ }, "dependencies": { "@slack/client": "^3.5.4", - "@devicefarmer/adbkit": "^2.11.3", + "@devicefarmer/adbkit": "^3.2.0", "@devicefarmer/adbkit-apkreader": "^3.2.2", - "@devicefarmer/adbkit-monkey": "^1.0.1", + "@devicefarmer/adbkit-monkey": "^1.1.0", "android-device-list": "^1.2.1", "aws-sdk": "^2.4.13", "basic-auth": "^1.0.3",