appium-espresso-driver 2.8.3 → 2.8.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/build/index.js +2 -4
- package/build/lib/commands/execute.js +2 -4
- package/build/lib/commands/general.js +2 -4
- package/build/lib/commands/idling-resources.js +2 -4
- package/build/lib/commands/index.js +2 -4
- package/build/lib/commands/services.js +2 -4
- package/build/lib/desired-caps.js +2 -4
- package/build/lib/driver.js +6 -7
- package/build/lib/espresso-runner.js +10 -8
- package/build/lib/logger.js +2 -4
- package/build/lib/server-builder.js +2 -4
- package/build/lib/utils.js +73 -2
- package/espresso-server/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk +0 -0
- package/espresso-server/app/src/test/java/io/appium/espressoserver/test/helpers/w3c/ActionSequenceTest.kt +2 -0
- package/lib/driver.js +3 -3
- package/lib/espresso-runner.js +8 -6
- package/lib/utils.js +74 -1
- package/npm-shrinkwrap.json +444 -349
- package/package.json +42 -26
|
@@ -200,7 +200,5 @@ class ServerBuilder {
|
|
|
200
200
|
|
|
201
201
|
exports.ServerBuilder = ServerBuilder;
|
|
202
202
|
var _default = ServerBuilder;
|
|
203
|
-
exports.default = _default;
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL3NlcnZlci1idWlsZGVyLmpzIiwibmFtZXMiOlsiR1JBRExFX1ZFUlNJT05fS0VZIiwiR1JBRExFX1VSTF9QUkVGSVgiLCJHUkFETEVfVVJMX1RFTVBMQVRFIiwiR1JBRExFX01BWF9FUlJPUl9MT0dfTElORVMiLCJERVBFTkRFTkNZX1BST1BfTkFNRVMiLCJWRVJTSU9OX0tFWVMiLCJidWlsZFNlcnZlclNpZ25pbmdDb25maWciLCJhcmdzIiwiemlwQWxpZ24iLCJrZXlzdG9yZUZpbGUiLCJrZXlzdG9yZVBhc3N3b3JkIiwia2V5QWxpYXMiLCJrZXlQYXNzd29yZCIsIlNlcnZlckJ1aWxkZXIiLCJjb25zdHJ1Y3RvciIsImxvZyIsInNlcnZlclBhdGgiLCJzaG93R3JhZGxlTG9nIiwiYnVpbGRDb25maWd1cmF0aW9uIiwidmVyc2lvbkNvbmZpZ3VyYXRpb24iLCJ0b29sc1ZlcnNpb25zIiwic2VydmVyVmVyc2lvbnMiLCJfIiwicmVkdWNlIiwiYWNjIiwidmFsdWUiLCJrZXkiLCJpbmNsdWRlcyIsIndhcm4iLCJ0ZXN0QXBwUGFja2FnZSIsInNpZ25pbmdDb25maWciLCJwcm9wTmFtZSIsImJ1aWxkIiwic2V0R3JhZGxlV3JhcHBlclZlcnNpb24iLCJpbnNlcnRBZGRpdGlvbmFsRGVwZW5kZW5jaWVzIiwicnVuQnVpbGRQcm9jZXNzIiwiZ2V0Q29tbWFuZCIsImNtZCIsInN5c3RlbSIsImlzV2luZG93cyIsInBhdGgiLCJyZXNvbHZlIiwiYnVpbGRQcm9wZXJ0eSIsImZpbHRlciIsIm1hcCIsInNlcnZlclZlcnNpb24iLCJncmFkbGVQcm9wZXJ0eSIsImNoYXJBdCIsInRvVXBwZXJDYXNlIiwic2xpY2UiLCJCb29sZWFuIiwicHVzaCIsImtleXMiLCJ1cHBlckZpcnN0IiwiayIsInYiLCJ2ZXJzaW9uIiwicHJvcGVydGllc1BhdGgiLCJvcmlnaW5hbFByb3BlcnRpZXMiLCJmcyIsInJlYWRGaWxlIiwibmV3UHJvcGVydGllcyIsInVwZGF0ZUdyYWRsZURpc3RVcmwiLCJ3cml0ZUZpbGUiLCJwcm9wZXJ0aWVzQ29udGVudCIsInJlcGxhY2UiLCJSZWdFeHAiLCJlc2NhcGVSZWdFeHAiLCJoYXNBZGRpdGlvbmFsRGVwcyIsImlzQXJyYXkiLCJFcnJvciIsImlzRW1wdHkiLCJsaW5lIiwidHJpbSIsImRlcCIsInRlc3QiLCJidWlsZFBhdGgiLCJjb25maWd1cmF0aW9uIiwicHJlZml4IiwiZGVwcyIsImluZm8iLCJ1cGRhdGVEZXBlbmRlbmN5TGluZXMiLCJkZWJ1ZyIsImpvaW4iLCJncmFkbGVidWlsZCIsIlN1YlByb2Nlc3MiLCJjd2QiLCJzdGRpbyIsIndpbmRvd3NWZXJiYXRpbUFyZ3VtZW50cyIsImJ1aWxkTGFzdExpbmVzIiwibG9nTXNnIiwib24iLCJzdGFydHNXaXRoIiwiRU9MIiwibGVuZ3RoIiwic3RhcnQiLCJlcnIiLCJtc2ciLCJtZXNzYWdlIiwiZXJyb3JBbmRUaHJvdyJdLCJzb3VyY2VSb290IjoiLi4vLi4iLCJzb3VyY2VzIjpbImxpYi9zZXJ2ZXItYnVpbGRlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJQcm9jZXNzIH0gZnJvbSAndGVlbl9wcm9jZXNzJztcbmltcG9ydCB7IGZzLCBzeXN0ZW0gfSBmcm9tICdhcHBpdW0vc3VwcG9ydCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBFT0wgfSBmcm9tICdvcyc7XG5pbXBvcnQgeyB1cGRhdGVEZXBlbmRlbmN5TGluZXMgfSBmcm9tICcuL3V0aWxzJztcblxuY29uc3QgR1JBRExFX1ZFUlNJT05fS0VZID0gJ2dyYWRsZSc7XG5jb25zdCBHUkFETEVfVVJMX1BSRUZJWCA9ICdkaXN0cmlidXRpb25Vcmw9JztcbmNvbnN0IEdSQURMRV9VUkxfVEVNUExBVEUgPSAnaHR0cHNcXFxcOi8vc2VydmljZXMuZ3JhZGxlLm9yZy9kaXN0cmlidXRpb25zL2dyYWRsZS1WRVJTSU9OLWFsbC56aXAnO1xuY29uc3QgR1JBRExFX01BWF9FUlJPUl9MT0dfTElORVMgPSAxNTtcbmNvbnN0IERFUEVOREVOQ1lfUFJPUF9OQU1FUyA9IFsnYWRkaXRpb25hbEFwcERlcGVuZGVuY2llcycsICdhZGRpdGlvbmFsQW5kcm9pZFRlc3REZXBlbmRlbmNpZXMnXTtcblxuY29uc3QgVkVSU0lPTl9LRVlTID0gW1xuICBHUkFETEVfVkVSU0lPTl9LRVksXG4gICdhbmRyb2lkR3JhZGxlUGx1Z2luJyxcbiAgJ2NvbXBpbGVTZGsnLFxuICAnYnVpbGRUb29scycsXG4gICdtaW5TZGsnLFxuICAndGFyZ2V0U2RrJyxcbiAgJ2tvdGxpbicsXG4gICdzb3VyY2VDb21wYXRpYmlsaXR5JyxcbiAgJ3RhcmdldENvbXBhdGliaWxpdHknLFxuICAnanZtVGFyZ2V0JyxcbiAgJ2NvbXBvc2VWZXJzaW9uJyxcbiAgJ2Fubm90YXRpb25WZXJzaW9uJ1xuXTtcblxuZnVuY3Rpb24gYnVpbGRTZXJ2ZXJTaWduaW5nQ29uZmlnIChhcmdzKSB7XG4gIHJldHVybiB7XG4gICAgemlwQWxpZ246IHRydWUsXG4gICAga2V5c3RvcmVGaWxlOiBhcmdzLmtleXN0b3JlRmlsZSxcbiAgICBrZXlzdG9yZVBhc3N3b3JkOiBhcmdzLmtleXN0b3JlUGFzc3dvcmQsXG4gICAga2V5QWxpYXM6IGFyZ3Mua2V5QWxpYXMsXG4gICAga2V5UGFzc3dvcmQ6IGFyZ3Mua2V5UGFzc3dvcmRcbiAgfTtcbn1cblxuY2xhc3MgU2VydmVyQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yIChsb2csIGFyZ3MgPSB7fSkge1xuICAgIHRoaXMubG9nID0gbG9nO1xuICAgIHRoaXMuc2VydmVyUGF0aCA9IGFyZ3Muc2VydmVyUGF0aDtcbiAgICB0aGlzLnNob3dHcmFkbGVMb2cgPSBhcmdzLnNob3dHcmFkbGVMb2c7XG5cbiAgICBjb25zdCBidWlsZENvbmZpZ3VyYXRpb24gPSBhcmdzLmJ1aWxkQ29uZmlndXJhdGlvbiB8fCB7fTtcblxuICAgIGNvbnN0IHZlcnNpb25Db25maWd1cmF0aW9uID0gYnVpbGRDb25maWd1cmF0aW9uLnRvb2xzVmVyc2lvbnMgfHwge307XG4gICAgdGhpcy5zZXJ2ZXJWZXJzaW9ucyA9IF8ucmVkdWNlKHZlcnNpb25Db25maWd1cmF0aW9uLCAoYWNjLCB2YWx1ZSwga2V5KSA9PiB7XG4gICAgICBpZiAoVkVSU0lPTl9LRVlTLmluY2x1ZGVzKGtleSkpIHtcbiAgICAgICAgYWNjW2tleV0gPSB2YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvZy53YXJuKGBHb3QgdW5leHBlY3RlZCAnJHtrZXl9JyBpbiB0b29sc1ZlcnNpb24gYmxvY2sgb2YgdGhlIGJ1aWxkIGNvbmZpZ3VyYXRpb25gKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xuXG4gICAgdGhpcy50ZXN0QXBwUGFja2FnZSA9IGFyZ3MudGVzdEFwcFBhY2thZ2U7XG4gICAgdGhpcy5zaWduaW5nQ29uZmlnID0gYXJncy5zaWduaW5nQ29uZmlnO1xuXG4gICAgZm9yIChjb25zdCBwcm9wTmFtZSBvZiBERVBFTkRFTkNZX1BST1BfTkFNRVMpIHtcbiAgICAgIHRoaXNbcHJvcE5hbWVdID0gYnVpbGRDb25maWd1cmF0aW9uW3Byb3BOYW1lXSB8fCBbXTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBidWlsZCAoKSB7XG4gICAgaWYgKHRoaXMuc2VydmVyVmVyc2lvbnNbR1JBRExFX1ZFUlNJT05fS0VZXSkge1xuICAgICAgYXdhaXQgdGhpcy5zZXRHcmFkbGVXcmFwcGVyVmVyc2lvbih0aGlzLnNlcnZlclZlcnNpb25zW0dSQURMRV9WRVJTSU9OX0tFWV0pO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMuaW5zZXJ0QWRkaXRpb25hbERlcGVuZGVuY2llcygpO1xuXG4gICAgYXdhaXQgdGhpcy5ydW5CdWlsZFByb2Nlc3MoKTtcbiAgfVxuXG4gIGdldENvbW1hbmQgKCkge1xuICAgIGNvbnN0IGNtZCA9IHN5c3RlbS5pc1dpbmRvd3MoKSA/ICdncmFkbGV3LmJhdCcgOiBwYXRoLnJlc29sdmUodGhpcy5zZXJ2ZXJQYXRoLCAnZ3JhZGxldycpO1xuICAgIGNvbnN0IGJ1aWxkUHJvcGVydHkgPSAoa2V5LCB2YWx1ZSkgPT4gdmFsdWUgPyBgLVAke2tleX09JHt2YWx1ZX1gIDogbnVsbDtcbiAgICBsZXQgYXJncyA9IFZFUlNJT05fS0VZU1xuICAgICAgLmZpbHRlcigoa2V5KSA9PiBrZXkgIT09IEdSQURMRV9WRVJTSU9OX0tFWSlcbiAgICAgIC5tYXAoKGtleSkgPT4ge1xuICAgICAgICBjb25zdCBzZXJ2ZXJWZXJzaW9uID0gdGhpcy5zZXJ2ZXJWZXJzaW9uc1trZXldO1xuICAgICAgICBjb25zdCBncmFkbGVQcm9wZXJ0eSA9IGBhcHBpdW0ke2tleS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke2tleS5zbGljZSgxKX1gO1xuICAgICAgICByZXR1cm4gYnVpbGRQcm9wZXJ0eShncmFkbGVQcm9wZXJ0eSwgc2VydmVyVmVyc2lvbik7XG4gICAgICB9KVxuICAgICAgLmZpbHRlcihCb29sZWFuKTtcblxuICAgIGlmICh0aGlzLnNpZ25pbmdDb25maWcpIHtcbiAgICAgIGFyZ3MucHVzaCguLi4oXG4gICAgICAgIF8ua2V5cyh0aGlzLnNpZ25pbmdDb25maWcpXG4gICAgICAgIC5tYXAoKGtleSkgPT4gW2BhcHBpdW0ke18udXBwZXJGaXJzdChrZXkpfWAsIHRoaXMuc2lnbmluZ0NvbmZpZ1trZXldXSlcbiAgICAgICAgLm1hcCgoW2ssIHZdKSA9PiBidWlsZFByb3BlcnR5KGssIHYpKVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICApKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50ZXN0QXBwUGFja2FnZSkge1xuICAgICAgYXJncy5wdXNoKGJ1aWxkUHJvcGVydHkoJ2FwcGl1bVRhcmdldFBhY2thZ2UnLCB0aGlzLnRlc3RBcHBQYWNrYWdlKSk7XG4gICAgfVxuICAgIGFyZ3MucHVzaCgnYXBwOmFzc2VtYmxlQW5kcm9pZFRlc3QnKTtcblxuICAgIHJldHVybiB7Y21kLCBhcmdzfTtcbiAgfVxuXG4gIGFzeW5jIHNldEdyYWRsZVdyYXBwZXJWZXJzaW9uICh2ZXJzaW9uKSB7XG4gICAgY29uc3QgcHJvcGVydGllc1BhdGggPSBwYXRoLnJlc29sdmUodGhpcy5zZXJ2ZXJQYXRoLCAnZ3JhZGxlJywgJ3dyYXBwZXInLCAnZ3JhZGxlLXdyYXBwZXIucHJvcGVydGllcycpO1xuICAgIGNvbnN0IG9yaWdpbmFsUHJvcGVydGllcyA9IGF3YWl0IGZzLnJlYWRGaWxlKHByb3BlcnRpZXNQYXRoLCAndXRmOCcpO1xuICAgIGNvbnN0IG5ld1Byb3BlcnRpZXMgPSB0aGlzLnVwZGF0ZUdyYWRsZURpc3RVcmwob3JpZ2luYWxQcm9wZXJ0aWVzLCB2ZXJzaW9uKTtcbiAgICBhd2FpdCBmcy53cml0ZUZpbGUocHJvcGVydGllc1BhdGgsIG5ld1Byb3BlcnRpZXMsICd1dGY4Jyk7XG4gIH1cblxuICB1cGRhdGVHcmFkbGVEaXN0VXJsIChwcm9wZXJ0aWVzQ29udGVudCwgdmVyc2lvbikge1xuICAgIHJldHVybiBwcm9wZXJ0aWVzQ29udGVudC5yZXBsYWNlKFxuICAgICAgbmV3IFJlZ0V4cChgXigke18uZXNjYXBlUmVnRXhwKEdSQURMRV9VUkxfUFJFRklYKX0pLiskYCwgJ2dtJyksXG4gICAgICBgJDEke0dSQURMRV9VUkxfVEVNUExBVEUucmVwbGFjZSgnVkVSU0lPTicsIHZlcnNpb24pfWBcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgaW5zZXJ0QWRkaXRpb25hbERlcGVuZGVuY2llcyAoKSB7XG4gICAgbGV0IGhhc0FkZGl0aW9uYWxEZXBzID0gZmFsc2U7XG4gICAgZm9yIChjb25zdCBwcm9wTmFtZSBvZiBERVBFTkRFTkNZX1BST1BfTkFNRVMpIHtcbiAgICAgIGlmICghXy5pc0FycmF5KHRoaXNbcHJvcE5hbWVdKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCcke3Byb3BOYW1lfScgbXVzdCBiZSBhbiBhcnJheWApO1xuICAgICAgfVxuICAgICAgaWYgKF8uaXNFbXB0eSh0aGlzW3Byb3BOYW1lXS5maWx0ZXIoKGxpbmUpID0+IF8udHJpbShsaW5lKSkpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IGRlcCBvZiB0aGlzW3Byb3BOYW1lXSkge1xuICAgICAgICBpZiAoL1tcXHMnXFxcXCRdLy50ZXN0KGRlcCkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NpbmdsZSBxdW90ZXMsIGRvbGxhciBjaGFyYWN0ZXJzIGFuZCB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMnICtcbiAgICAgICAgICAgIGAgYXJlIGRpc2FsbG93ZWQgaW4gYWRkaXRpb25hbCBkZXBlbmRlbmNpZXM6ICR7ZGVwfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoYXNBZGRpdGlvbmFsRGVwcyA9IHRydWU7XG4gICAgfVxuICAgIGlmICghaGFzQWRkaXRpb25hbERlcHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBidWlsZFBhdGggPSBwYXRoLnJlc29sdmUodGhpcy5zZXJ2ZXJQYXRoLCAnYXBwJywgJ2J1aWxkLmdyYWRsZS5rdHMnKTtcbiAgICBsZXQgY29uZmlndXJhdGlvbiA9IGF3YWl0IGZzLnJlYWRGaWxlKGJ1aWxkUGF0aCwgJ3V0ZjgnKTtcbiAgICBmb3IgKGNvbnN0IHByb3BOYW1lIG9mIERFUEVOREVOQ1lfUFJPUF9OQU1FUykge1xuICAgICAgY29uc3QgcHJlZml4ID0gcHJvcE5hbWUgPT09IERFUEVOREVOQ1lfUFJPUF9OQU1FU1swXVxuICAgICAgICA/ICdpbXBsZW1lbnRhdGlvbidcbiAgICAgICAgOiAnYW5kcm9pZFRlc3RJbXBsZW1lbnRhdGlvbic7XG4gICAgICBjb25zdCBkZXBzID0gdGhpc1twcm9wTmFtZV1cbiAgICAgICAgLmZpbHRlcigobGluZSkgPT4gXy50cmltKGxpbmUpKVxuICAgICAgICAubWFwKChsaW5lKSA9PiBgJHtwcmVmaXh9KFwiJHtsaW5lfVwiKWApO1xuICAgICAgaWYgKF8uaXNFbXB0eShkZXBzKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5sb2cuaW5mbyhgQWRkaW5nIHRoZSBmb2xsb3dpbmcgJHtwcm9wTmFtZX0gdG8gYnVpbGQuZ3JhZGxlLmt0czogJHtkZXBzfWApO1xuICAgICAgY29uZmlndXJhdGlvbiA9IHVwZGF0ZURlcGVuZGVuY3lMaW5lcyhjb25maWd1cmF0aW9uLCBwcm9wTmFtZSwgZGVwcyk7XG4gICAgfVxuICAgIGF3YWl0IGZzLndyaXRlRmlsZShidWlsZFBhdGgsIGNvbmZpZ3VyYXRpb24sICd1dGY4Jyk7XG4gIH1cblxuICBhc3luYyBydW5CdWlsZFByb2Nlc3MgKCkge1xuICAgIGNvbnN0IHtjbWQsIGFyZ3N9ID0gdGhpcy5nZXRDb21tYW5kKCk7XG4gICAgdGhpcy5sb2cuZGVidWcoYEJlZ2lubmluZyBidWlsZCB3aXRoIGNvbW1hbmQgJyR7Y21kfSAke2FyZ3Muam9pbignICcpfScgYCArXG4gICAgICBgaW4gZGlyZWN0b3J5ICcke3RoaXMuc2VydmVyUGF0aH0nYCk7XG4gICAgY29uc3QgZ3JhZGxlYnVpbGQgPSBuZXcgU3ViUHJvY2VzcyhjbWQsIGFyZ3MsIHtcbiAgICAgIGN3ZDogdGhpcy5zZXJ2ZXJQYXRoLFxuICAgICAgc3RkaW86IFsnaWdub3JlJywgJ3BpcGUnLCAncGlwZSddLFxuICAgICAgd2luZG93c1ZlcmJhdGltQXJndW1lbnRzOiB0cnVlXG4gICAgfSk7XG4gICAgbGV0IGJ1aWxkTGFzdExpbmVzID0gW107XG5cbiAgICBjb25zdCBsb2dNc2cgPSBgT3V0cHV0IGZyb20gR3JhZGxlICR7dGhpcy5zaG93R3JhZGxlTG9nID8gJ3dpbGwnIDogJ3dpbGwgbm90J30gYmUgbG9nZ2VkYDtcbiAgICB0aGlzLmxvZy5kZWJ1ZyhgJHtsb2dNc2d9LiBUbyBjaGFuZ2UgdGhpcywgdXNlICdzaG93R3JhZGxlTG9nJyBkZXNpcmVkIGNhcGFiaWxpdHlgKTtcbiAgICBncmFkbGVidWlsZC5vbignc3RyZWFtLWxpbmUnLCAobGluZSkgPT4ge1xuICAgICAgaWYgKHRoaXMuc2hvd0dyYWRsZUxvZykge1xuICAgICAgICBpZiAobGluZS5zdGFydHNXaXRoKCdbU1RERVJSXScpKSB7XG4gICAgICAgICAgdGhpcy5sb2cud2FybihgW0dyYWRsZV0gJHtsaW5lfWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubG9nLmluZm8oYFtHcmFkbGVdICR7bGluZX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYnVpbGRMYXN0TGluZXMucHVzaChgJHtFT0x9JHtsaW5lfWApO1xuICAgICAgaWYgKGJ1aWxkTGFzdExpbmVzLmxlbmd0aCA+IEdSQURMRV9NQVhfRVJST1JfTE9HX0xJTkVTKSB7XG4gICAgICAgIGJ1aWxkTGFzdExpbmVzID0gYnVpbGRMYXN0TGluZXMuc2xpY2UoLUdSQURMRV9NQVhfRVJST1JfTE9HX0xJTkVTKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBncmFkbGVidWlsZC5zdGFydCgpO1xuICAgICAgYXdhaXQgZ3JhZGxlYnVpbGQuam9pbigpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbGV0IG1zZyA9IGBVbmFibGUgdG8gYnVpbGQgRXNwcmVzc28gc2VydmVyIC0gJHtlcnIubWVzc2FnZX1cXG5gICtcbiAgICAgICAgYEdyYWRsZSBlcnJvciBtZXNzYWdlOiR7RU9MfSR7YnVpbGRMYXN0TGluZXN9YDtcbiAgICAgIHRoaXMubG9nLmVycm9yQW5kVGhyb3cobXNnKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IHsgU2VydmVyQnVpbGRlciwgVkVSU0lPTl9LRVlTLCBHUkFETEVfVVJMX1RFTVBMQVRFLCBidWlsZFNlcnZlclNpZ25pbmdDb25maWcgfTtcbmV4cG9ydCBkZWZhdWx0IFNlcnZlckJ1aWxkZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFD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
|
|
203
|
+
exports.default = _default;
|
|
204
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJHUkFETEVfVkVSU0lPTl9LRVkiLCJHUkFETEVfVVJMX1BSRUZJWCIsIkdSQURMRV9VUkxfVEVNUExBVEUiLCJHUkFETEVfTUFYX0VSUk9SX0xPR19MSU5FUyIsIkRFUEVOREVOQ1lfUFJPUF9OQU1FUyIsIlZFUlNJT05fS0VZUyIsImJ1aWxkU2VydmVyU2lnbmluZ0NvbmZpZyIsImFyZ3MiLCJ6aXBBbGlnbiIsImtleXN0b3JlRmlsZSIsImtleXN0b3JlUGFzc3dvcmQiLCJrZXlBbGlhcyIsImtleVBhc3N3b3JkIiwiU2VydmVyQnVpbGRlciIsImNvbnN0cnVjdG9yIiwibG9nIiwic2VydmVyUGF0aCIsInNob3dHcmFkbGVMb2ciLCJidWlsZENvbmZpZ3VyYXRpb24iLCJ2ZXJzaW9uQ29uZmlndXJhdGlvbiIsInRvb2xzVmVyc2lvbnMiLCJzZXJ2ZXJWZXJzaW9ucyIsIl8iLCJyZWR1Y2UiLCJhY2MiLCJ2YWx1ZSIsImtleSIsImluY2x1ZGVzIiwid2FybiIsInRlc3RBcHBQYWNrYWdlIiwic2lnbmluZ0NvbmZpZyIsInByb3BOYW1lIiwiYnVpbGQiLCJzZXRHcmFkbGVXcmFwcGVyVmVyc2lvbiIsImluc2VydEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMiLCJydW5CdWlsZFByb2Nlc3MiLCJnZXRDb21tYW5kIiwiY21kIiwic3lzdGVtIiwiaXNXaW5kb3dzIiwicGF0aCIsInJlc29sdmUiLCJidWlsZFByb3BlcnR5IiwiZmlsdGVyIiwibWFwIiwic2VydmVyVmVyc2lvbiIsImdyYWRsZVByb3BlcnR5IiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzbGljZSIsIkJvb2xlYW4iLCJwdXNoIiwia2V5cyIsInVwcGVyRmlyc3QiLCJrIiwidiIsInZlcnNpb24iLCJwcm9wZXJ0aWVzUGF0aCIsIm9yaWdpbmFsUHJvcGVydGllcyIsImZzIiwicmVhZEZpbGUiLCJuZXdQcm9wZXJ0aWVzIiwidXBkYXRlR3JhZGxlRGlzdFVybCIsIndyaXRlRmlsZSIsInByb3BlcnRpZXNDb250ZW50IiwicmVwbGFjZSIsIlJlZ0V4cCIsImVzY2FwZVJlZ0V4cCIsImhhc0FkZGl0aW9uYWxEZXBzIiwiaXNBcnJheSIsIkVycm9yIiwiaXNFbXB0eSIsImxpbmUiLCJ0cmltIiwiZGVwIiwidGVzdCIsImJ1aWxkUGF0aCIsImNvbmZpZ3VyYXRpb24iLCJwcmVmaXgiLCJkZXBzIiwiaW5mbyIsInVwZGF0ZURlcGVuZGVuY3lMaW5lcyIsImRlYnVnIiwiam9pbiIsImdyYWRsZWJ1aWxkIiwiU3ViUHJvY2VzcyIsImN3ZCIsInN0ZGlvIiwid2luZG93c1ZlcmJhdGltQXJndW1lbnRzIiwiYnVpbGRMYXN0TGluZXMiLCJsb2dNc2ciLCJvbiIsInN0YXJ0c1dpdGgiLCJFT0wiLCJsZW5ndGgiLCJzdGFydCIsImVyciIsIm1zZyIsIm1lc3NhZ2UiLCJlcnJvckFuZFRocm93Il0sInNvdXJjZXMiOlsiLi4vLi4vbGliL3NlcnZlci1idWlsZGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YlByb2Nlc3MgfSBmcm9tICd0ZWVuX3Byb2Nlc3MnO1xuaW1wb3J0IHsgZnMsIHN5c3RlbSB9IGZyb20gJ2FwcGl1bS9zdXBwb3J0JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IEVPTCB9IGZyb20gJ29zJztcbmltcG9ydCB7IHVwZGF0ZURlcGVuZGVuY3lMaW5lcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBHUkFETEVfVkVSU0lPTl9LRVkgPSAnZ3JhZGxlJztcbmNvbnN0IEdSQURMRV9VUkxfUFJFRklYID0gJ2Rpc3RyaWJ1dGlvblVybD0nO1xuY29uc3QgR1JBRExFX1VSTF9URU1QTEFURSA9ICdodHRwc1xcXFw6Ly9zZXJ2aWNlcy5ncmFkbGUub3JnL2Rpc3RyaWJ1dGlvbnMvZ3JhZGxlLVZFUlNJT04tYWxsLnppcCc7XG5jb25zdCBHUkFETEVfTUFYX0VSUk9SX0xPR19MSU5FUyA9IDE1O1xuY29uc3QgREVQRU5ERU5DWV9QUk9QX05BTUVTID0gWydhZGRpdGlvbmFsQXBwRGVwZW5kZW5jaWVzJywgJ2FkZGl0aW9uYWxBbmRyb2lkVGVzdERlcGVuZGVuY2llcyddO1xuXG5jb25zdCBWRVJTSU9OX0tFWVMgPSBbXG4gIEdSQURMRV9WRVJTSU9OX0tFWSxcbiAgJ2FuZHJvaWRHcmFkbGVQbHVnaW4nLFxuICAnY29tcGlsZVNkaycsXG4gICdidWlsZFRvb2xzJyxcbiAgJ21pblNkaycsXG4gICd0YXJnZXRTZGsnLFxuICAna290bGluJyxcbiAgJ3NvdXJjZUNvbXBhdGliaWxpdHknLFxuICAndGFyZ2V0Q29tcGF0aWJpbGl0eScsXG4gICdqdm1UYXJnZXQnLFxuICAnY29tcG9zZVZlcnNpb24nLFxuICAnYW5ub3RhdGlvblZlcnNpb24nXG5dO1xuXG5mdW5jdGlvbiBidWlsZFNlcnZlclNpZ25pbmdDb25maWcgKGFyZ3MpIHtcbiAgcmV0dXJuIHtcbiAgICB6aXBBbGlnbjogdHJ1ZSxcbiAgICBrZXlzdG9yZUZpbGU6IGFyZ3Mua2V5c3RvcmVGaWxlLFxuICAgIGtleXN0b3JlUGFzc3dvcmQ6IGFyZ3Mua2V5c3RvcmVQYXNzd29yZCxcbiAgICBrZXlBbGlhczogYXJncy5rZXlBbGlhcyxcbiAgICBrZXlQYXNzd29yZDogYXJncy5rZXlQYXNzd29yZFxuICB9O1xufVxuXG5jbGFzcyBTZXJ2ZXJCdWlsZGVyIHtcbiAgY29uc3RydWN0b3IgKGxvZywgYXJncyA9IHt9KSB7XG4gICAgdGhpcy5sb2cgPSBsb2c7XG4gICAgdGhpcy5zZXJ2ZXJQYXRoID0gYXJncy5zZXJ2ZXJQYXRoO1xuICAgIHRoaXMuc2hvd0dyYWRsZUxvZyA9IGFyZ3Muc2hvd0dyYWRsZUxvZztcblxuICAgIGNvbnN0IGJ1aWxkQ29uZmlndXJhdGlvbiA9IGFyZ3MuYnVpbGRDb25maWd1cmF0aW9uIHx8IHt9O1xuXG4gICAgY29uc3QgdmVyc2lvbkNvbmZpZ3VyYXRpb24gPSBidWlsZENvbmZpZ3VyYXRpb24udG9vbHNWZXJzaW9ucyB8fCB7fTtcbiAgICB0aGlzLnNlcnZlclZlcnNpb25zID0gXy5yZWR1Y2UodmVyc2lvbkNvbmZpZ3VyYXRpb24sIChhY2MsIHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIGlmIChWRVJTSU9OX0tFWVMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICBhY2Nba2V5XSA9IHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nLndhcm4oYEdvdCB1bmV4cGVjdGVkICcke2tleX0nIGluIHRvb2xzVmVyc2lvbiBibG9jayBvZiB0aGUgYnVpbGQgY29uZmlndXJhdGlvbmApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSk7XG5cbiAgICB0aGlzLnRlc3RBcHBQYWNrYWdlID0gYXJncy50ZXN0QXBwUGFja2FnZTtcbiAgICB0aGlzLnNpZ25pbmdDb25maWcgPSBhcmdzLnNpZ25pbmdDb25maWc7XG5cbiAgICBmb3IgKGNvbnN0IHByb3BOYW1lIG9mIERFUEVOREVOQ1lfUFJPUF9OQU1FUykge1xuICAgICAgdGhpc1twcm9wTmFtZV0gPSBidWlsZENvbmZpZ3VyYXRpb25bcHJvcE5hbWVdIHx8IFtdO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGJ1aWxkICgpIHtcbiAgICBpZiAodGhpcy5zZXJ2ZXJWZXJzaW9uc1tHUkFETEVfVkVSU0lPTl9LRVldKSB7XG4gICAgICBhd2FpdCB0aGlzLnNldEdyYWRsZVdyYXBwZXJWZXJzaW9uKHRoaXMuc2VydmVyVmVyc2lvbnNbR1JBRExFX1ZFUlNJT05fS0VZXSk7XG4gICAgfVxuXG4gICAgYXdhaXQgdGhpcy5pbnNlcnRBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKCk7XG5cbiAgICBhd2FpdCB0aGlzLnJ1bkJ1aWxkUHJvY2VzcygpO1xuICB9XG5cbiAgZ2V0Q29tbWFuZCAoKSB7XG4gICAgY29uc3QgY21kID0gc3lzdGVtLmlzV2luZG93cygpID8gJ2dyYWRsZXcuYmF0JyA6IHBhdGgucmVzb2x2ZSh0aGlzLnNlcnZlclBhdGgsICdncmFkbGV3Jyk7XG4gICAgY29uc3QgYnVpbGRQcm9wZXJ0eSA9IChrZXksIHZhbHVlKSA9PiB2YWx1ZSA/IGAtUCR7a2V5fT0ke3ZhbHVlfWAgOiBudWxsO1xuICAgIGxldCBhcmdzID0gVkVSU0lPTl9LRVlTXG4gICAgICAuZmlsdGVyKChrZXkpID0+IGtleSAhPT0gR1JBRExFX1ZFUlNJT05fS0VZKVxuICAgICAgLm1hcCgoa2V5KSA9PiB7XG4gICAgICAgIGNvbnN0IHNlcnZlclZlcnNpb24gPSB0aGlzLnNlcnZlclZlcnNpb25zW2tleV07XG4gICAgICAgIGNvbnN0IGdyYWRsZVByb3BlcnR5ID0gYGFwcGl1bSR7a2V5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpfSR7a2V5LnNsaWNlKDEpfWA7XG4gICAgICAgIHJldHVybiBidWlsZFByb3BlcnR5KGdyYWRsZVByb3BlcnR5LCBzZXJ2ZXJWZXJzaW9uKTtcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pO1xuXG4gICAgaWYgKHRoaXMuc2lnbmluZ0NvbmZpZykge1xuICAgICAgYXJncy5wdXNoKC4uLihcbiAgICAgICAgXy5rZXlzKHRoaXMuc2lnbmluZ0NvbmZpZylcbiAgICAgICAgLm1hcCgoa2V5KSA9PiBbYGFwcGl1bSR7Xy51cHBlckZpcnN0KGtleSl9YCwgdGhpcy5zaWduaW5nQ29uZmlnW2tleV1dKVxuICAgICAgICAubWFwKChbaywgdl0pID0+IGJ1aWxkUHJvcGVydHkoaywgdikpXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRlc3RBcHBQYWNrYWdlKSB7XG4gICAgICBhcmdzLnB1c2goYnVpbGRQcm9wZXJ0eSgnYXBwaXVtVGFyZ2V0UGFja2FnZScsIHRoaXMudGVzdEFwcFBhY2thZ2UpKTtcbiAgICB9XG4gICAgYXJncy5wdXNoKCdhcHA6YXNzZW1ibGVBbmRyb2lkVGVzdCcpO1xuXG4gICAgcmV0dXJuIHtjbWQsIGFyZ3N9O1xuICB9XG5cbiAgYXN5bmMgc2V0R3JhZGxlV3JhcHBlclZlcnNpb24gKHZlcnNpb24pIHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzUGF0aCA9IHBhdGgucmVzb2x2ZSh0aGlzLnNlcnZlclBhdGgsICdncmFkbGUnLCAnd3JhcHBlcicsICdncmFkbGUtd3JhcHBlci5wcm9wZXJ0aWVzJyk7XG4gICAgY29uc3Qgb3JpZ2luYWxQcm9wZXJ0aWVzID0gYXdhaXQgZnMucmVhZEZpbGUocHJvcGVydGllc1BhdGgsICd1dGY4Jyk7XG4gICAgY29uc3QgbmV3UHJvcGVydGllcyA9IHRoaXMudXBkYXRlR3JhZGxlRGlzdFVybChvcmlnaW5hbFByb3BlcnRpZXMsIHZlcnNpb24pO1xuICAgIGF3YWl0IGZzLndyaXRlRmlsZShwcm9wZXJ0aWVzUGF0aCwgbmV3UHJvcGVydGllcywgJ3V0ZjgnKTtcbiAgfVxuXG4gIHVwZGF0ZUdyYWRsZURpc3RVcmwgKHByb3BlcnRpZXNDb250ZW50LCB2ZXJzaW9uKSB7XG4gICAgcmV0dXJuIHByb3BlcnRpZXNDb250ZW50LnJlcGxhY2UoXG4gICAgICBuZXcgUmVnRXhwKGBeKCR7Xy5lc2NhcGVSZWdFeHAoR1JBRExFX1VSTF9QUkVGSVgpfSkuKyRgLCAnZ20nKSxcbiAgICAgIGAkMSR7R1JBRExFX1VSTF9URU1QTEFURS5yZXBsYWNlKCdWRVJTSU9OJywgdmVyc2lvbil9YFxuICAgICk7XG4gIH1cblxuICBhc3luYyBpbnNlcnRBZGRpdGlvbmFsRGVwZW5kZW5jaWVzICgpIHtcbiAgICBsZXQgaGFzQWRkaXRpb25hbERlcHMgPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IHByb3BOYW1lIG9mIERFUEVOREVOQ1lfUFJPUF9OQU1FUykge1xuICAgICAgaWYgKCFfLmlzQXJyYXkodGhpc1twcm9wTmFtZV0pKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJyR7cHJvcE5hbWV9JyBtdXN0IGJlIGFuIGFycmF5YCk7XG4gICAgICB9XG4gICAgICBpZiAoXy5pc0VtcHR5KHRoaXNbcHJvcE5hbWVdLmZpbHRlcigobGluZSkgPT4gXy50cmltKGxpbmUpKSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3QgZGVwIG9mIHRoaXNbcHJvcE5hbWVdKSB7XG4gICAgICAgIGlmICgvW1xccydcXFxcJF0vLnRlc3QoZGVwKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignU2luZ2xlIHF1b3RlcywgZG9sbGFyIGNoYXJhY3RlcnMgYW5kIHdoaXRlc3BhY2UgY2hhcmFjdGVycycgK1xuICAgICAgICAgICAgYCBhcmUgZGlzYWxsb3dlZCBpbiBhZGRpdGlvbmFsIGRlcGVuZGVuY2llczogJHtkZXB9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGhhc0FkZGl0aW9uYWxEZXBzID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKCFoYXNBZGRpdGlvbmFsRGVwcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1aWxkUGF0aCA9IHBhdGgucmVzb2x2ZSh0aGlzLnNlcnZlclBhdGgsICdhcHAnLCAnYnVpbGQuZ3JhZGxlLmt0cycpO1xuICAgIGxldCBjb25maWd1cmF0aW9uID0gYXdhaXQgZnMucmVhZEZpbGUoYnVpbGRQYXRoLCAndXRmOCcpO1xuICAgIGZvciAoY29uc3QgcHJvcE5hbWUgb2YgREVQRU5ERU5DWV9QUk9QX05BTUVTKSB7XG4gICAgICBjb25zdCBwcmVmaXggPSBwcm9wTmFtZSA9PT0gREVQRU5ERU5DWV9QUk9QX05BTUVTWzBdXG4gICAgICAgID8gJ2ltcGxlbWVudGF0aW9uJ1xuICAgICAgICA6ICdhbmRyb2lkVGVzdEltcGxlbWVudGF0aW9uJztcbiAgICAgIGNvbnN0IGRlcHMgPSB0aGlzW3Byb3BOYW1lXVxuICAgICAgICAuZmlsdGVyKChsaW5lKSA9PiBfLnRyaW0obGluZSkpXG4gICAgICAgIC5tYXAoKGxpbmUpID0+IGAke3ByZWZpeH0oXCIke2xpbmV9XCIpYCk7XG4gICAgICBpZiAoXy5pc0VtcHR5KGRlcHMpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmxvZy5pbmZvKGBBZGRpbmcgdGhlIGZvbGxvd2luZyAke3Byb3BOYW1lfSB0byBidWlsZC5ncmFkbGUua3RzOiAke2RlcHN9YCk7XG4gICAgICBjb25maWd1cmF0aW9uID0gdXBkYXRlRGVwZW5kZW5jeUxpbmVzKGNvbmZpZ3VyYXRpb24sIHByb3BOYW1lLCBkZXBzKTtcbiAgICB9XG4gICAgYXdhaXQgZnMud3JpdGVGaWxlKGJ1aWxkUGF0aCwgY29uZmlndXJhdGlvbiwgJ3V0ZjgnKTtcbiAgfVxuXG4gIGFzeW5jIHJ1bkJ1aWxkUHJvY2VzcyAoKSB7XG4gICAgY29uc3Qge2NtZCwgYXJnc30gPSB0aGlzLmdldENvbW1hbmQoKTtcbiAgICB0aGlzLmxvZy5kZWJ1ZyhgQmVnaW5uaW5nIGJ1aWxkIHdpdGggY29tbWFuZCAnJHtjbWR9ICR7YXJncy5qb2luKCcgJyl9JyBgICtcbiAgICAgIGBpbiBkaXJlY3RvcnkgJyR7dGhpcy5zZXJ2ZXJQYXRofSdgKTtcbiAgICBjb25zdCBncmFkbGVidWlsZCA9IG5ldyBTdWJQcm9jZXNzKGNtZCwgYXJncywge1xuICAgICAgY3dkOiB0aGlzLnNlcnZlclBhdGgsXG4gICAgICBzdGRpbzogWydpZ25vcmUnLCAncGlwZScsICdwaXBlJ10sXG4gICAgICB3aW5kb3dzVmVyYmF0aW1Bcmd1bWVudHM6IHRydWVcbiAgICB9KTtcbiAgICBsZXQgYnVpbGRMYXN0TGluZXMgPSBbXTtcblxuICAgIGNvbnN0IGxvZ01zZyA9IGBPdXRwdXQgZnJvbSBHcmFkbGUgJHt0aGlzLnNob3dHcmFkbGVMb2cgPyAnd2lsbCcgOiAnd2lsbCBub3QnfSBiZSBsb2dnZWRgO1xuICAgIHRoaXMubG9nLmRlYnVnKGAke2xvZ01zZ30uIFRvIGNoYW5nZSB0aGlzLCB1c2UgJ3Nob3dHcmFkbGVMb2cnIGRlc2lyZWQgY2FwYWJpbGl0eWApO1xuICAgIGdyYWRsZWJ1aWxkLm9uKCdzdHJlYW0tbGluZScsIChsaW5lKSA9PiB7XG4gICAgICBpZiAodGhpcy5zaG93R3JhZGxlTG9nKSB7XG4gICAgICAgIGlmIChsaW5lLnN0YXJ0c1dpdGgoJ1tTVERFUlJdJykpIHtcbiAgICAgICAgICB0aGlzLmxvZy53YXJuKGBbR3JhZGxlXSAke2xpbmV9YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5sb2cuaW5mbyhgW0dyYWRsZV0gJHtsaW5lfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBidWlsZExhc3RMaW5lcy5wdXNoKGAke0VPTH0ke2xpbmV9YCk7XG4gICAgICBpZiAoYnVpbGRMYXN0TGluZXMubGVuZ3RoID4gR1JBRExFX01BWF9FUlJPUl9MT0dfTElORVMpIHtcbiAgICAgICAgYnVpbGRMYXN0TGluZXMgPSBidWlsZExhc3RMaW5lcy5zbGljZSgtR1JBRExFX01BWF9FUlJPUl9MT0dfTElORVMpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGdyYWRsZWJ1aWxkLnN0YXJ0KCk7XG4gICAgICBhd2FpdCBncmFkbGVidWlsZC5qb2luKCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBsZXQgbXNnID0gYFVuYWJsZSB0byBidWlsZCBFc3ByZXNzbyBzZXJ2ZXIgLSAke2Vyci5tZXNzYWdlfVxcbmAgK1xuICAgICAgICBgR3JhZGxlIGVycm9yIG1lc3NhZ2U6JHtFT0x9JHtidWlsZExhc3RMaW5lc31gO1xuICAgICAgdGhpcy5sb2cuZXJyb3JBbmRUaHJvdyhtc2cpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgeyBTZXJ2ZXJCdWlsZGVyLCBWRVJTSU9OX0tFWVMsIEdSQURMRV9VUkxfVEVNUExBVEUsIGJ1aWxkU2VydmVyU2lnbmluZ0NvbmZpZyB9O1xuZXhwb3J0IGRlZmF1bHQgU2VydmVyQnVpbGRlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLE1BQU1BLGtCQUFrQixHQUFHLFFBQTNCO0FBQ0EsTUFB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
|
package/build/lib/utils.js
CHANGED
|
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.copyGradleProjectRecursively = copyGradleProjectRecursively;
|
|
9
|
+
exports.getPackageInfo = getPackageInfo;
|
|
10
|
+
exports.getPackageInfoSync = getPackageInfoSync;
|
|
9
11
|
exports.qualifyActivityName = qualifyActivityName;
|
|
10
12
|
exports.requireOptions = requireOptions;
|
|
11
13
|
exports.updateDependencyLines = updateDependencyLines;
|
|
@@ -18,6 +20,11 @@ var _lodash = _interopRequireDefault(require("lodash"));
|
|
|
18
20
|
|
|
19
21
|
var _path = _interopRequireDefault(require("path"));
|
|
20
22
|
|
|
23
|
+
var _fs2 = _interopRequireDefault(require("fs"));
|
|
24
|
+
|
|
25
|
+
let PACKAGE_INFO = null;
|
|
26
|
+
const MODULE_NAME = 'appium-espresso-driver';
|
|
27
|
+
|
|
21
28
|
function qualifyActivityName(activityName, packageName) {
|
|
22
29
|
if ([activityName, packageName].some(name => !name || _lodash.default.includes(name, '*'))) {
|
|
23
30
|
return activityName;
|
|
@@ -79,7 +86,71 @@ function updateDependencyLines(originalContent, dependencyPlaceholder, dependenc
|
|
|
79
86
|
|
|
80
87
|
configurationLines.splice(placeholderIndex + 1, 0, ...dependencyLines.map(line => `${' '.repeat(indentLen)}${line}`));
|
|
81
88
|
return configurationLines.join('\n');
|
|
82
|
-
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
async function getPackageInfo() {
|
|
92
|
+
if (PACKAGE_INFO) {
|
|
93
|
+
return PACKAGE_INFO;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
let currentDir = _path.default.dirname(_path.default.resolve(__filename));
|
|
83
97
|
|
|
98
|
+
let isAtFsRoot = false;
|
|
84
99
|
|
|
85
|
-
|
|
100
|
+
while (!isAtFsRoot) {
|
|
101
|
+
const manifestPath = _path.default.join(currentDir, 'package.json');
|
|
102
|
+
|
|
103
|
+
try {
|
|
104
|
+
if (await _support.fs.exists(manifestPath)) {
|
|
105
|
+
const manifestPayload = JSON.parse(await _support.fs.readFile(manifestPath, 'utf8'));
|
|
106
|
+
|
|
107
|
+
if (manifestPayload.name === MODULE_NAME) {
|
|
108
|
+
PACKAGE_INFO = {
|
|
109
|
+
manifestPath,
|
|
110
|
+
manifestPayload
|
|
111
|
+
};
|
|
112
|
+
return PACKAGE_INFO;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
} catch (ign) {}
|
|
116
|
+
|
|
117
|
+
currentDir = _path.default.dirname(currentDir);
|
|
118
|
+
isAtFsRoot = currentDir.length <= _path.default.dirname(currentDir).length;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
throw new Error(`Cannot find the root folder of the ${MODULE_NAME} Node.js module`);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
function getPackageInfoSync() {
|
|
125
|
+
if (PACKAGE_INFO) {
|
|
126
|
+
return PACKAGE_INFO;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
let currentDir = _path.default.dirname(_path.default.resolve(__filename));
|
|
130
|
+
|
|
131
|
+
let isAtFsRoot = false;
|
|
132
|
+
|
|
133
|
+
while (!isAtFsRoot) {
|
|
134
|
+
const manifestPath = _path.default.join(currentDir, 'package.json');
|
|
135
|
+
|
|
136
|
+
try {
|
|
137
|
+
if (_fs2.default.existsSync(manifestPath)) {
|
|
138
|
+
const manifestPayload = JSON.parse(_fs2.default.readFileSync(manifestPath, 'utf8'));
|
|
139
|
+
|
|
140
|
+
if (manifestPayload.name === MODULE_NAME) {
|
|
141
|
+
PACKAGE_INFO = {
|
|
142
|
+
manifestPath,
|
|
143
|
+
manifestPayload
|
|
144
|
+
};
|
|
145
|
+
return PACKAGE_INFO;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
} catch (ign) {}
|
|
149
|
+
|
|
150
|
+
currentDir = _path.default.dirname(currentDir);
|
|
151
|
+
isAtFsRoot = currentDir.length <= _path.default.dirname(currentDir).length;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
throw new Error(`Cannot find the root folder of the ${MODULE_NAME} Node.js module`);
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQQUNLQUdFX0lORk8iLCJNT0RVTEVfTkFNRSIsInF1YWxpZnlBY3Rpdml0eU5hbWUiLCJhY3Rpdml0eU5hbWUiLCJwYWNrYWdlTmFtZSIsInNvbWUiLCJuYW1lIiwiXyIsImluY2x1ZGVzIiwiZG90UG9zIiwiaW5kZXhPZiIsImNvcHlHcmFkbGVQcm9qZWN0UmVjdXJzaXZlbHkiLCJzb3VyY2VCYXNlRGlyIiwidGFyZ2V0QmFzZURpciIsImZzIiwid2Fsa0RpciIsIml0ZW1QYXRoIiwiaXNEaXJlY3RvcnkiLCJyZWxhdGl2ZVBhdGgiLCJwYXRoIiwicmVsYXRpdmUiLCJ0YXJnZXRQYXRoIiwicmVzb2x2ZSIsImlzSW5HcmFkbGVCdWlsZERpciIsInNlcCIsIm1rZGlycCIsImNvcHlGaWxlIiwicmVxdWlyZU9wdGlvbnMiLCJvcHRzIiwicmVxdWlyZWRLZXlzIiwibWlzc2luZ0tleXMiLCJkaWZmZXJlbmNlIiwia2V5cyIsImlzRW1wdHkiLCJFcnJvciIsInVwZGF0ZURlcGVuZGVuY3lMaW5lcyIsIm9yaWdpbmFsQ29udGVudCIsImRlcGVuZGVuY3lQbGFjZWhvbGRlciIsImRlcGVuZGVuY3lMaW5lcyIsImNvbmZpZ3VyYXRpb25MaW5lcyIsInNwbGl0Iiwic2VhcmNoUmUiLCJSZWdFeHAiLCJlc2NhcGVSZWdFeHAiLCJwbGFjZWhvbGRlckluZGV4IiwiZmluZEluZGV4IiwibGluZSIsInRlc3QiLCJwbGFjZWhvbGRlckxpbmUiLCJpbmRlbnRMZW4iLCJsZW5ndGgiLCJ0cmltU3RhcnQiLCJzcGxpY2UiLCJtYXAiLCJyZXBlYXQiLCJqb2luIiwiZ2V0UGFja2FnZUluZm8iLCJjdXJyZW50RGlyIiwiZGlybmFtZSIsIl9fZmlsZW5hbWUiLCJpc0F0RnNSb290IiwibWFuaWZlc3RQYXRoIiwiZXhpc3RzIiwibWFuaWZlc3RQYXlsb2FkIiwiSlNPTiIsInBhcnNlIiwicmVhZEZpbGUiLCJpZ24iLCJnZXRQYWNrYWdlSW5mb1N5bmMiLCJfZnMiLCJleGlzdHNTeW5jIiwicmVhZEZpbGVTeW5jIl0sInNvdXJjZXMiOlsiLi4vLi4vbGliL3V0aWxzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZzLCBta2RpcnAgfSBmcm9tICdhcHBpdW0vc3VwcG9ydCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgX2ZzIGZyb20gJ2ZzJztcblxubGV0IFBBQ0tBR0VfSU5GTyA9IG51bGw7XG5jb25zdCBNT0RVTEVfTkFNRSA9ICdhcHBpdW0tZXNwcmVzc28tZHJpdmVyJztcblxuLyoqXG4gKiBodHRwczovL2FuZHJvaWQuZ29vZ2xlc291cmNlLmNvbS9wbGF0Zm9ybS9mcmFtZXdvcmtzL2Jhc2UvKy9tYXN0ZXIvdG9vbHMvYWFwdC9SZXNvdXJjZS5jcHAjNzU1XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGFjdGl2aXR5TmFtZVxuICogQHBhcmFtIHtzdHJpbmd9IHBhY2thZ2VOYW1lXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgcXVhbGlmaWVkIGFjdGl2aXR5IG5hbWVcbiAqL1xuZnVuY3Rpb24gcXVhbGlmeUFjdGl2aXR5TmFtZSAoYWN0aXZpdHlOYW1lLCBwYWNrYWdlTmFtZSkge1xuICAvLyBpZiBlaXRoZXIgYWN0aXZpdHkgb3IgcGFja2FnZSBuYW1lIGlzIG5vdCBzZXRcbiAgLy8gb3IgYW55IG9mIHRoZXNlIGNvbnRhaW4gd2lsZGNhcmRzIHRoZW4gdGhlcmUgaXNcbiAgLy8gbm8gcG9pbnQgaW4gcXVhbGlmeWluZyB0aGUgYWN0aXZpdHkgbmFtZVxuICBpZiAoW2FjdGl2aXR5TmFtZSwgcGFja2FnZU5hbWVdLnNvbWUoKG5hbWUpID0+ICFuYW1lIHx8IF8uaW5jbHVkZXMobmFtZSwgJyonKSkpIHtcbiAgICByZXR1cm4gYWN0aXZpdHlOYW1lO1xuICB9XG5cbiAgY29uc3QgZG90UG9zID0gYWN0aXZpdHlOYW1lLmluZGV4T2YoJy4nKTtcbiAgaWYgKGRvdFBvcyA+IDApIHtcbiAgICByZXR1cm4gYWN0aXZpdHlOYW1lO1xuICB9XG4gIHJldHVybiBgJHtwYWNrYWdlTmFtZX0ke2RvdFBvcyA9PT0gMCA/ICcnIDogJy4nfSR7YWN0aXZpdHlOYW1lfWA7XG59XG5cbi8qKlxuICogUmVjdXJzaXZlbHkgY29weSBhbGwgZmlsZXMgZXhjZXB0IGJ1aWxkIGRpcmVjdG9yaWVzIGNvbnRlbnRzXG4gKiBAcGFyYW0gc291cmNlQmFzZURpciB7c3RyaW5nfSBkaXJlY3RvcnkgdG8gY29weSBmaWxlcyBmcm9tXG4gKiBAcGFyYW0gdGFyZ2V0QmFzZURpciB7c3RyaW5nfSBkaXJlY3RvcnkgdG8gY29weSBmaWxlcyB0b1xuICovXG5hc3luYyBmdW5jdGlvbiBjb3B5R3JhZGxlUHJvamVjdFJlY3Vyc2l2ZWx5IChzb3VyY2VCYXNlRGlyLCB0YXJnZXRCYXNlRGlyKSB7XG4gIGF3YWl0IGZzLndhbGtEaXIoc291cmNlQmFzZURpciwgdHJ1ZSwgYXN5bmMgKGl0ZW1QYXRoLCBpc0RpcmVjdG9yeSkgPT4ge1xuICAgIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHBhdGgucmVsYXRpdmUoc291cmNlQmFzZURpciwgaXRlbVBhdGgpO1xuICAgIGNvbnN0IHRhcmdldFBhdGggPSBwYXRoLnJlc29sdmUodGFyZ2V0QmFzZURpciwgcmVsYXRpdmVQYXRoKTtcblxuICAgIGNvbnN0IGlzSW5HcmFkbGVCdWlsZERpciA9IGAke3BhdGguc2VwfSR7aXRlbVBhdGh9YC5pbmNsdWRlcyhgJHtwYXRoLnNlcH1idWlsZCR7cGF0aC5zZXB9YCk7XG4gICAgaWYgKGlzSW5HcmFkbGVCdWlsZERpcikge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChpc0RpcmVjdG9yeSkge1xuICAgICAgYXdhaXQgbWtkaXJwKHRhcmdldFBhdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCBmcy5jb3B5RmlsZShpdGVtUGF0aCwgdGFyZ2V0UGF0aCk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHJlcXVpcmVPcHRpb25zIChvcHRzLCByZXF1aXJlZEtleXMgPSBbXSkge1xuICBjb25zdCBtaXNzaW5nS2V5cyA9IF8uZGlmZmVyZW5jZShyZXF1aXJlZEtleXMsIF8ua2V5cyhvcHRzKSk7XG4gIGlmICghXy5pc0VtcHR5KG1pc3NpbmdLZXlzKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVGhlIGZvbGxvd2luZyBvcHRpb25zIGFyZSByZXF1aXJlZDogJHttaXNzaW5nS2V5c31gKTtcbiAgfVxuICByZXR1cm4gb3B0cztcbn1cblxuZnVuY3Rpb24gdXBkYXRlRGVwZW5kZW5jeUxpbmVzIChvcmlnaW5hbENvbnRlbnQsIGRlcGVuZGVuY3lQbGFjZWhvbGRlciwgZGVwZW5kZW5jeUxpbmVzKSB7XG4gIGNvbnN0IGNvbmZpZ3VyYXRpb25MaW5lcyA9IG9yaWdpbmFsQ29udGVudC5zcGxpdCgnXFxuJyk7XG4gIGNvbnN0IHNlYXJjaFJlID0gbmV3IFJlZ0V4cChgXlxcXFxzKi8vXFxcXHMqXFxcXGIke18uZXNjYXBlUmVnRXhwKGRlcGVuZGVuY3lQbGFjZWhvbGRlcil9XFxcXGJgLCAnbScpO1xuICBjb25zdCBwbGFjZWhvbGRlckluZGV4ID0gY29uZmlndXJhdGlvbkxpbmVzLmZpbmRJbmRleCgobGluZSkgPT4gc2VhcmNoUmUudGVzdChsaW5lKSk7XG4gIGlmIChwbGFjZWhvbGRlckluZGV4IDwgMCkge1xuICAgIHJldHVybiBvcmlnaW5hbENvbnRlbnQ7XG4gIH1cblxuICBjb25zdCBwbGFjZWhvbGRlckxpbmUgPSBjb25maWd1cmF0aW9uTGluZXNbcGxhY2Vob2xkZXJJbmRleF07XG4gIGNvbnN0IGluZGVudExlbiA9IHBsYWNlaG9sZGVyTGluZS5sZW5ndGggLSBfLnRyaW1TdGFydChwbGFjZWhvbGRlckxpbmUpLmxlbmd0aDtcbiAgY29uZmlndXJhdGlvbkxpbmVzLnNwbGljZShwbGFjZWhvbGRlckluZGV4ICsgMSwgMCwgLi4uKGRlcGVuZGVuY3lMaW5lc1xuICAgIC5tYXAoKGxpbmUpID0+IGAkeycgJy5yZXBlYXQoaW5kZW50TGVuKX0ke2xpbmV9YCkpKTtcbiAgcmV0dXJuIGNvbmZpZ3VyYXRpb25MaW5lcy5qb2luKCdcXG4nKTtcbn1cblxuLyoqXG4gKiBGZXRjaGVzIHRoZSBtb2R1bGUgaW5mbyBmcm9tIHBhY2thZ2UuanNvblxuICpcbiAqIEByZXR1cm5zIHtvYmplY3R9IFRoZSBmdWxsIHBhdGggdG8gbW9kdWxlJ3MgcGFja2FnZS5qc29uIGFuZCBpdHMgcGF5bG9hZFxuICogQHRocm93cyB7RXJyb3J9IElmIHBhY2thZ2UuanNvbiBjYW5ub3QgYmUgZm91bmRcbiAqL1xuYXN5bmMgZnVuY3Rpb24gZ2V0UGFja2FnZUluZm8gKCkge1xuICBpZiAoUEFDS0FHRV9JTkZPKSB7XG4gICAgcmV0dXJuIFBBQ0tBR0VfSU5GTztcbiAgfVxuXG4gIGxldCBjdXJyZW50RGlyID0gcGF0aC5kaXJuYW1lKHBhdGgucmVzb2x2ZShfX2ZpbGVuYW1lKSk7XG4gIGxldCBpc0F0RnNSb290ID0gZmFsc2U7XG4gIHdoaWxlICghaXNBdEZzUm9vdCkge1xuICAgIGNvbnN0IG1hbmlmZXN0UGF0aCA9IHBhdGguam9pbihjdXJyZW50RGlyLCAncGFja2FnZS5qc29uJyk7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChhd2FpdCBmcy5leGlzdHMobWFuaWZlc3RQYXRoKSkge1xuICAgICAgICBjb25zdCBtYW5pZmVzdFBheWxvYWQgPSBKU09OLnBhcnNlKGF3YWl0IGZzLnJlYWRGaWxlKG1hbmlmZXN0UGF0aCwgJ3V0ZjgnKSk7XG4gICAgICAgIGlmIChtYW5pZmVzdFBheWxvYWQubmFtZSA9PT0gTU9EVUxFX05BTUUpIHtcbiAgICAgICAgICBQQUNLQUdFX0lORk8gPSB7XG4gICAgICAgICAgICBtYW5pZmVzdFBhdGgsXG4gICAgICAgICAgICBtYW5pZmVzdFBheWxvYWRcbiAgICAgICAgICB9O1xuICAgICAgICAgIHJldHVybiBQQUNLQUdFX0lORk87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChpZ24pIHt9XG4gICAgY3VycmVudERpciA9IHBhdGguZGlybmFtZShjdXJyZW50RGlyKTtcbiAgICBpc0F0RnNSb290ID0gY3VycmVudERpci5sZW5ndGggPD0gcGF0aC5kaXJuYW1lKGN1cnJlbnREaXIpLmxlbmd0aDtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBmaW5kIHRoZSByb290IGZvbGRlciBvZiB0aGUgJHtNT0RVTEVfTkFNRX0gTm9kZS5qcyBtb2R1bGVgKTtcbn1cblxuLyoqXG4gKiBGZXRjaGVzIHRoZSBtb2R1bGUgaW5mbyBmcm9tIHBhY2thZ2UuanNvbiBzeW5jaHJvbm91c2x5XG4gKlxuICogQHJldHVybnMge29iamVjdH0gVGhlIGZ1bGwgcGF0aCB0byBtb2R1bGUncyBwYWNrYWdlLmpzb24gYW5kIGl0cyBwYXlsb2FkXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgcGFja2FnZS5qc29uIGNhbm5vdCBiZSBmb3VuZFxuICovXG5mdW5jdGlvbiBnZXRQYWNrYWdlSW5mb1N5bmMgKCkge1xuICBpZiAoUEFDS0FHRV9JTkZPKSB7XG4gICAgcmV0dXJuIFBBQ0tBR0VfSU5GTztcbiAgfVxuXG4gIGxldCBjdXJyZW50RGlyID0gcGF0aC5kaXJuYW1lKHBhdGgucmVzb2x2ZShfX2ZpbGVuYW1lKSk7XG4gIGxldCBpc0F0RnNSb290ID0gZmFsc2U7XG4gIHdoaWxlICghaXNBdEZzUm9vdCkge1xuICAgIGNvbnN0IG1hbmlmZXN0UGF0aCA9IHBhdGguam9pbihjdXJyZW50RGlyLCAncGFja2FnZS5qc29uJyk7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChfZnMuZXhpc3RzU3luYyhtYW5pZmVzdFBhdGgpKSB7XG4gICAgICAgIGNvbnN0IG1hbmlmZXN0UGF5bG9hZCA9IEpTT04ucGFyc2UoX2ZzLnJlYWRGaWxlU3luYyhtYW5pZmVzdFBhdGgsICd1dGY4JykpO1xuICAgICAgICBpZiAobWFuaWZlc3RQYXlsb2FkLm5hbWUgPT09IE1PRFVMRV9OQU1FKSB7XG4gICAgICAgICAgUEFDS0FHRV9JTkZPID0ge1xuICAgICAgICAgICAgbWFuaWZlc3RQYXRoLFxuICAgICAgICAgICAgbWFuaWZlc3RQYXlsb2FkXG4gICAgICAgICAgfTtcbiAgICAgICAgICByZXR1cm4gUEFDS0FHRV9JTkZPO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBjYXRjaCAoaWduKSB7fVxuICAgIGN1cnJlbnREaXIgPSBwYXRoLmRpcm5hbWUoY3VycmVudERpcik7XG4gICAgaXNBdEZzUm9vdCA9IGN1cnJlbnREaXIubGVuZ3RoIDw9IHBhdGguZGlybmFtZShjdXJyZW50RGlyKS5sZW5ndGg7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCB0aGUgcm9vdCBmb2xkZXIgb2YgdGhlICR7TU9EVUxFX05BTUV9IE5vZGUuanMgbW9kdWxlYCk7XG59XG5cbmV4cG9ydCB7XG4gIHF1YWxpZnlBY3Rpdml0eU5hbWUsIGNvcHlHcmFkbGVQcm9qZWN0UmVjdXJzaXZlbHksIHJlcXVpcmVPcHRpb25zLFxuICB1cGRhdGVEZXBlbmRlbmN5TGluZXMsIGdldFBhY2thZ2VJbmZvLCBnZXRQYWNrYWdlSW5mb1N5bmNcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFJQSxZQUFZLEdBQUcsSUFBbkI7QUFDQSxNQUFNQyxXQUFXLEdBQUcsd0JBQXBCOztBQVNBLFNBQVNDLG1CQUFULENBQThCQyxZQUE5QixFQUE0Q0MsV0FBNUMsRUFBeUQ7RUFJdkQsSUFBSSxDQUFDRCxZQUFELEVBQWVDLFdBQWYsRUFBNEJDLElBQTVCLENBQWtDQyxJQUFELElBQVUsQ0FBQ0EsSUFBRCxJQUFTQyxlQUFBLENBQUVDLFFBQUYsQ0FBV0YsSUFBWCxFQUFpQixHQUFqQixDQUFwRCxDQUFKLEVBQWdGO0lBQzlFLE9BQU9ILFlBQVA7RUFDRDs7RUFFRCxNQUFNTSxNQUFNLEdBQUdOLFlBQVksQ0FBQ08sT0FBYixDQUFxQixHQUFyQixDQUFm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
|
|
Binary file
|
|
@@ -27,6 +27,7 @@ import io.appium.espressoserver.lib.helpers.w3c.models.InputSource.InputSourceTy
|
|
|
27
27
|
import io.appium.espressoserver.lib.helpers.w3c.models.InputSource.InputSourceType.POINTER
|
|
28
28
|
import io.appium.espressoserver.test.assets.readAssetFile
|
|
29
29
|
import org.junit.Assert.*
|
|
30
|
+
import org.junit.Ignore
|
|
30
31
|
|
|
31
32
|
class ActionSequenceTest {
|
|
32
33
|
|
|
@@ -204,6 +205,7 @@ class ActionSequenceTest {
|
|
|
204
205
|
}
|
|
205
206
|
|
|
206
207
|
@Test
|
|
208
|
+
@Ignore("The test is unstable in CI env")
|
|
207
209
|
@Throws(IOException::class, AppiumException::class, InterruptedException::class, ExecutionException::class)
|
|
208
210
|
fun shouldDispatchW3CKeyActions() {
|
|
209
211
|
val inputStateTable = InputStateTable()
|
package/lib/driver.js
CHANGED
|
@@ -8,10 +8,9 @@ import commands from './commands';
|
|
|
8
8
|
import { DEFAULT_ADB_PORT } from 'appium-adb';
|
|
9
9
|
import { androidHelpers, androidCommands, SETTINGS_HELPER_PKG_ID } from 'appium-android-driver';
|
|
10
10
|
import desiredCapConstraints from './desired-caps';
|
|
11
|
-
import { version } from '../../package.json'; // eslint-disable-line import/no-unresolved
|
|
12
11
|
import { findAPortNotInUse } from 'portscanner';
|
|
13
12
|
import { retryInterval } from 'asyncbox';
|
|
14
|
-
import { qualifyActivityName } from './utils';
|
|
13
|
+
import { qualifyActivityName, getPackageInfo } from './utils';
|
|
15
14
|
|
|
16
15
|
|
|
17
16
|
// TODO merge our own helpers onto this later
|
|
@@ -370,7 +369,8 @@ class EspressoDriver extends BaseDriver {
|
|
|
370
369
|
|
|
371
370
|
// TODO much of this logic is duplicated from uiautomator2
|
|
372
371
|
async startEspressoSession () {
|
|
373
|
-
|
|
372
|
+
const {manifestPayload} = await getPackageInfo();
|
|
373
|
+
this.log.info(`EspressoDriver version: ${manifestPayload.version}`);
|
|
374
374
|
|
|
375
375
|
// Read https://github.com/appium/appium-android-driver/pull/461 what happens if ther is no setHiddenApiPolicy for Android P+
|
|
376
376
|
if (await this.adb.getApiLevel() >= 28) { // Android P
|
package/lib/espresso-runner.js
CHANGED
|
@@ -3,10 +3,9 @@ import { waitForCondition } from 'asyncbox';
|
|
|
3
3
|
import { ServerBuilder, buildServerSigningConfig } from './server-builder';
|
|
4
4
|
import path from 'path';
|
|
5
5
|
import { fs, util, mkdirp, timing } from 'appium/support';
|
|
6
|
-
import { version } from '../../package.json'; // eslint-disable-line import/no-unresolved
|
|
7
6
|
import B from 'bluebird';
|
|
8
7
|
import _ from 'lodash';
|
|
9
|
-
import { copyGradleProjectRecursively } from './utils';
|
|
8
|
+
import { copyGradleProjectRecursively, getPackageInfoSync, getPackageInfo } from './utils';
|
|
10
9
|
import axios from 'axios';
|
|
11
10
|
|
|
12
11
|
|
|
@@ -59,9 +58,11 @@ class EspressoRunner {
|
|
|
59
58
|
crashed: false,
|
|
60
59
|
};
|
|
61
60
|
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
const { manifestPayload } = getPackageInfoSync();
|
|
62
|
+
const modServerName = fs.sanitizeName(
|
|
63
|
+
`${TEST_APK_PKG}_${manifestPayload.version}_${this.appPackage}_${this.adb.curDeviceId}.apk`,
|
|
64
|
+
{replacement: '-'}
|
|
65
|
+
);
|
|
65
66
|
this.modServerPath = path.resolve(this.tmpDir, modServerName);
|
|
66
67
|
this.showGradleLog = opts.showGradleLog;
|
|
67
68
|
this.espressoBuildConfig = opts.espressoBuildConfig;
|
|
@@ -242,7 +243,8 @@ class EspressoRunner {
|
|
|
242
243
|
|
|
243
244
|
cmd.push(`${TEST_APK_PKG}/androidx.test.runner.AndroidJUnitRunner`);
|
|
244
245
|
|
|
245
|
-
|
|
246
|
+
const {manifestPayload} = await getPackageInfo();
|
|
247
|
+
this.log.info(`Starting Espresso Server v${manifestPayload.version} with cmd: adb ${cmd.join(' ')}`);
|
|
246
248
|
|
|
247
249
|
let hasSocketError = false;
|
|
248
250
|
// start the instrumentation process
|
package/lib/utils.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { fs, mkdirp } from 'appium/support';
|
|
2
2
|
import _ from 'lodash';
|
|
3
3
|
import path from 'path';
|
|
4
|
+
import _fs from 'fs';
|
|
5
|
+
|
|
6
|
+
let PACKAGE_INFO = null;
|
|
7
|
+
const MODULE_NAME = 'appium-espresso-driver';
|
|
4
8
|
|
|
5
9
|
/**
|
|
6
10
|
* https://android.googlesource.com/platform/frameworks/base/+/master/tools/aapt/Resource.cpp#755
|
|
@@ -71,4 +75,73 @@ function updateDependencyLines (originalContent, dependencyPlaceholder, dependen
|
|
|
71
75
|
return configurationLines.join('\n');
|
|
72
76
|
}
|
|
73
77
|
|
|
74
|
-
|
|
78
|
+
/**
|
|
79
|
+
* Fetches the module info from package.json
|
|
80
|
+
*
|
|
81
|
+
* @returns {object} The full path to module's package.json and its payload
|
|
82
|
+
* @throws {Error} If package.json cannot be found
|
|
83
|
+
*/
|
|
84
|
+
async function getPackageInfo () {
|
|
85
|
+
if (PACKAGE_INFO) {
|
|
86
|
+
return PACKAGE_INFO;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
let currentDir = path.dirname(path.resolve(__filename));
|
|
90
|
+
let isAtFsRoot = false;
|
|
91
|
+
while (!isAtFsRoot) {
|
|
92
|
+
const manifestPath = path.join(currentDir, 'package.json');
|
|
93
|
+
try {
|
|
94
|
+
if (await fs.exists(manifestPath)) {
|
|
95
|
+
const manifestPayload = JSON.parse(await fs.readFile(manifestPath, 'utf8'));
|
|
96
|
+
if (manifestPayload.name === MODULE_NAME) {
|
|
97
|
+
PACKAGE_INFO = {
|
|
98
|
+
manifestPath,
|
|
99
|
+
manifestPayload
|
|
100
|
+
};
|
|
101
|
+
return PACKAGE_INFO;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
} catch (ign) {}
|
|
105
|
+
currentDir = path.dirname(currentDir);
|
|
106
|
+
isAtFsRoot = currentDir.length <= path.dirname(currentDir).length;
|
|
107
|
+
}
|
|
108
|
+
throw new Error(`Cannot find the root folder of the ${MODULE_NAME} Node.js module`);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Fetches the module info from package.json synchronously
|
|
113
|
+
*
|
|
114
|
+
* @returns {object} The full path to module's package.json and its payload
|
|
115
|
+
* @throws {Error} If package.json cannot be found
|
|
116
|
+
*/
|
|
117
|
+
function getPackageInfoSync () {
|
|
118
|
+
if (PACKAGE_INFO) {
|
|
119
|
+
return PACKAGE_INFO;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
let currentDir = path.dirname(path.resolve(__filename));
|
|
123
|
+
let isAtFsRoot = false;
|
|
124
|
+
while (!isAtFsRoot) {
|
|
125
|
+
const manifestPath = path.join(currentDir, 'package.json');
|
|
126
|
+
try {
|
|
127
|
+
if (_fs.existsSync(manifestPath)) {
|
|
128
|
+
const manifestPayload = JSON.parse(_fs.readFileSync(manifestPath, 'utf8'));
|
|
129
|
+
if (manifestPayload.name === MODULE_NAME) {
|
|
130
|
+
PACKAGE_INFO = {
|
|
131
|
+
manifestPath,
|
|
132
|
+
manifestPayload
|
|
133
|
+
};
|
|
134
|
+
return PACKAGE_INFO;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
} catch (ign) {}
|
|
138
|
+
currentDir = path.dirname(currentDir);
|
|
139
|
+
isAtFsRoot = currentDir.length <= path.dirname(currentDir).length;
|
|
140
|
+
}
|
|
141
|
+
throw new Error(`Cannot find the root folder of the ${MODULE_NAME} Node.js module`);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export {
|
|
145
|
+
qualifyActivityName, copyGradleProjectRecursively, requireOptions,
|
|
146
|
+
updateDependencyLines, getPackageInfo, getPackageInfoSync
|
|
147
|
+
};
|