cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sarangan12 <...@git.apache.org>
Subject [GitHub] cordova-paramedic pull request: Code changes for Collecting Device...
Date Wed, 27 Apr 2016 20:55:17 GMT
Github user sarangan12 commented on a diff in the pull request:

    https://github.com/apache/cordova-paramedic/pull/4#discussion_r61334311
  
    --- Diff: lib/utils/utilities.js ---
    @@ -0,0 +1,123 @@
    +#!/usr/bin/env node
    +
    +var shelljs = require('shelljs');
    +var verbose = undefined;
    +var fs      = require('fs');
    +var os      = require("os");
    +var util    = require('util');
    +var path    = require("path-extra");
    +var logger  = require('cordova-common').CordovaLogger.get();
    +
    +var HEADING_LINE_PATTERN = /List of devices/m;
    +var DEVICE_ROW_PATTERN   = /(emulator|device|host)/m;
    +
    +function isWindows () {
    +    return /^win/.test(os.platform());
    +}
    +
    +function countAndroidDevices() {
    +    var listCommand = "adb devices";
    +
    +    logger.info("running:");
    +    logger.info("    " + listCommand);
    +
    +    var numDevices = 0;
    +    var result = shelljs.exec(listCommand, {silent: false, async: false});
    +    result.output.split('\n').forEach(function (line) {
    +        if (!HEADING_LINE_PATTERN.test(line) && DEVICE_ROW_PATTERN.test(line))
{
    +            numDevices += 1;
    +        }
    +    });
    +    return numDevices;
    +}
    +
    +function secToMin (seconds) {
    +    return Math.ceil(seconds / 60);
    +}
    +
    +function getSimulatorsFolder() {
    +    var simulatorsFolderPath = path.join(path.homedir(), "Library", "Developer", "CoreSimulator",
"Devices");
    +    return simulatorsFolderPath;
    +}
    +
    +function getSimId() {
    +    var findSimCommand = "cordova run --list --emulator | grep ^iPhone | tail -n1";
    +
    +    logger.info("running:");
    +    logger.info("    " + findSimCommand);
    +
    +    var findSimResult = shelljs.exec(findSimCommand, {silent: true, async: false});
    +
    +    if (findSimResult.code > 0) {
    +        logger.error("Failed to find simulator we deployed to");
    +        return;
    +    }
    +
    +    var split = findSimResult.output.split(", ");
    +
    +    // Format of the output is "iPhone-6s-Plus, 9.1"
    +    // Extract the device name and the version number
    +    var device = split[0].replace(/-/g, " ").trim();
    +    var version = split[1].trim();
    +
    +    // Next, figure out the ID of the simulator we found
    +    var instrCommand = "instruments -s devices | grep ^iPhone";
    +    logger.info("running:");
    +    logger.info("    " + instrCommand);
    +
    +    var instrResult = shelljs.exec(instrCommand, {silent: true, async: false});
    +
    +    if (instrResult.code > 0) {
    +        logger.error("Failed to get the list of simulators");
    +        return;
    +    }
    +
    +    // This matches <device> (<version>) [<simulator-id>]
    +    var simIdRegex = /^([a-zA-Z\d ]+) \(([\d.]+)\) \[([a-zA-Z\d\-]*)\]$/;
    +
    +    var simId = null;
    +    var lines = instrResult.output.split(/\n/);
    +    lines.forEach(function(line) {
    +        var simIdMatch = simIdRegex.exec(line);
    +        if (simIdMatch && simIdMatch.length === 4 && simIdMatch[1] ===
device && simIdMatch[2] === version) {
    +            simId = encodeURIComponent(simIdMatch[3]);
    +        }
    +    });
    +
    +    return simId;
    +}
    --- End diff --
    
    Done


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@cordova.apache.org
For additional commands, e-mail: dev-help@cordova.apache.org


Mime
View raw message