aboutsummaryrefslogtreecommitdiff
path: root/cordova/node_modules/simctl/simctl.js
diff options
context:
space:
mode:
authorKumar Priyansh <[email protected]>2019-01-19 12:37:14 +0530
committerKumar Priyansh <[email protected]>2019-01-19 12:37:14 +0530
commitdcdfc94cb39dfe2c39925a0145ffa45e2d061c30 (patch)
tree4f6379d955555b298c0e7b83a67e264240ee5614 /cordova/node_modules/simctl/simctl.js
parent76f7b3678d3f1ff99c3935a774d420453b0c3cb9 (diff)
downloadWeatherApp-dcdfc94cb39dfe2c39925a0145ffa45e2d061c30.tar.xz
WeatherApp-dcdfc94cb39dfe2c39925a0145ffa45e2d061c30.zip
Initial Upload via GIT
Diffstat (limited to 'cordova/node_modules/simctl/simctl.js')
-rwxr-xr-xcordova/node_modules/simctl/simctl.js196
1 files changed, 196 insertions, 0 deletions
diff --git a/cordova/node_modules/simctl/simctl.js b/cordova/node_modules/simctl/simctl.js
new file mode 100755
index 0000000..5cecea8
--- /dev/null
+++ b/cordova/node_modules/simctl/simctl.js
@@ -0,0 +1,196 @@
+/*
+The MIT License (MIT)
+
+Copyright (c) 2014 Shazron Abdullah.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+*/
+
+var shell = require('shelljs'),
+ path = require('path'),
+ util = require('util'),
+ Tail = require('tail').Tail,
+ SimCtlExtensions = require('./lib/simctl-extensions');
+
+exports = module.exports = {
+
+ set noxpc(b) {
+ this._noxpc = b;
+ },
+
+ get noxpc() {
+ return this._noxpc;
+ },
+
+ extensions: SimCtlExtensions,
+
+ check_prerequisites: function() {
+ var command = util.format('xcrun simctl help');
+ var obj = shell.exec(command, {silent: true});
+
+ if (obj.code !== 0) {
+ obj.output = 'simctl was not found.\n';
+ obj.output += 'Check that you have Xcode 8.x installed:\n';
+ obj.output += '\txcodebuild --version';
+ obj.output += 'Check that you have Xcode 8.x selected:\n';
+ obj.output += '\txcode-select --print-path';
+ }
+
+ return obj;
+ },
+
+ create: function(name, device_type_id, runtime_id) {
+ var command = util.format('xcrun simctl create "%s" "%s" "%s"', name, device_type_id, runtime_id);
+ return shell.exec(command);
+ },
+
+ del: function(device) {
+ var command = util.format('xcrun simctl delete "%s"', device);
+ return shell.exec(command);
+ },
+
+ erase: function(device) {
+ var command = util.format('xcrun simctl erase "%s"', device);
+ return shell.exec(command);
+ },
+
+ boot: function(device) {
+ var command = util.format('xcrun simctl boot "%s"', device);
+ return shell.exec(command);
+ },
+
+ shutdown: function(device) {
+ var command = util.format('xcrun simctl shutdown "%s"', device);
+ return shell.exec(command);
+ },
+
+ rename: function(device, name) {
+ var command = util.format('xcrun simctl rename "%s" "%s"', device, name);
+ return shell.exec(command);
+ },
+
+ getenv: function(device, variable_name) {
+ var command = util.format('xcrun simctl getenv "%s" "%s"', device, variable_name);
+ return shell.exec(command);
+ },
+
+ openurl: function(device, url) {
+ var command = util.format('xcrun simctl openurl "%s" "%s"', device, url);
+ return shell.exec(command);
+ },
+
+ addphoto: function(device, path) {
+ var command = util.format('xcrun simctl addphoto "%s" "%s"', device, path);
+ return shell.exec(command);
+ },
+
+ install: function(device, path) {
+ var command = util.format('xcrun simctl install "%s" "%s"', device, path);
+ return shell.exec(command);
+ },
+
+ uninstall: function(device, app_identifier) {
+ var command = util.format('xcrun simctl uninstall "%s" "%s"', device, app_identifier);
+ return shell.exec(command);
+ },
+
+ launch: function(wait_for_debugger, device, app_identifier, argv) {
+ var wait_flag = '';
+ if (wait_for_debugger) {
+ wait_flag = '--wait-for-debugger';
+ }
+
+ var argv_expanded = '';
+ if (argv.length > 0) {
+ argv_expanded = argv.map(function(arg) {
+ return '\'' + arg + '\'';
+ }).join(' ');
+ }
+
+ var command = util.format('xcrun simctl launch %s "%s" "%s" %s',
+ wait_flag, device, app_identifier, argv_expanded);
+ return shell.exec(command);
+ },
+
+ spawn: function(wait_for_debugger, arch, device, path_to_executable, argv) {
+ var wait_flag = '';
+ if (wait_for_debugger) {
+ wait_flag = '--wait-for-debugger';
+ }
+
+ var arch_flag = '';
+ if (arch) {
+ arch_flag = util.format('--arch="%s"', arch);
+ }
+
+ var argv_expanded = '';
+ if (argv.length > 0) {
+ argv_expanded = argv.map(function(arg) {
+ return '\'' + arg + '\'';
+ }).join(' ');
+ }
+
+ var command = util.format('xcrun simctl spawn %s %s "%s" "%s" %s',
+ wait_flag, arch_flag, device, path_to_executable, argv_expanded);
+ return shell.exec(command);
+ },
+
+ list: function(options) {
+ var sublist = '';
+ options = options || {};
+
+ if (options.devices) {
+ sublist = 'devices';
+ } else if (options.devicetypes) {
+ sublist = 'devicetypes';
+ } else if (options.runtimes) {
+ sublist = 'runtimes';
+ } else if (options.pairs) {
+ sublist = 'pairs';
+ }
+
+ var command = util.format('xcrun simctl list %s --json', sublist);
+ var obj = shell.exec(command, { silent: options.silent });
+
+ if (obj.code === 0) {
+ try {
+ obj.json = JSON.parse(obj.output);
+ } catch (err) {
+ console.error(err.stack);
+ }
+ }
+
+ return obj;
+ },
+
+ notify_post: function(device, notification_name) {
+ var command = util.format('xcrun simctl notify_post "%s" "%s"', device, notification_name);
+ return shell.exec(command);
+ },
+
+ icloud_sync: function(device) {
+ var command = util.format('xcrun simctl icloud_sync "%s"', device);
+ return shell.exec(command);
+ },
+
+ help: function(subcommand) {
+ var command = util.format('xcrun simctl help "%s"', subcommand);
+ return shell.exec(command);
+ }
+};