cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From robpaveza <...@git.apache.org>
Subject [GitHub] cordova-medic pull request: [CB-8870] Consolidating medic code.
Date Wed, 29 Apr 2015 19:24:30 GMT
Github user robpaveza commented on a diff in the pull request:

    https://github.com/apache/cordova-medic/pull/47#discussion_r29370995
  
    --- Diff: bin/medic.js ---
    @@ -39,9 +65,109 @@ var argv = optimist
         .argv;
     
     // helpers
    +function killTasks(taskNames) {
    +
    +    if (!taskNames || taskNames.length < 1) {
    +        console.warn("no tasks to kill");
    +        return;
    +    }
    +
    +    if (isWindows()) {
    +        var cli  = "taskkill /F";
    +        var args = taskNames.map(function (name) { return "/IM \"" + name + "\""; });
    +    } else {
    +        var cli  = "killall";
    +        var args = taskNames.map(function (name) { return "\"" + name + "\""; });
    +    }
    +
    +    var command = cli + " " + args.join(" ");
    +    medicLog("running the following command:");
    +    medicLog("    " + command);
    +
    +    shelljs.exec(command, {silent: false, async: true}, function (returnCode, output)
{
    +        if (returnCode !== 0) {
    +            console.warn("WARNING: kill command returned " + returnCode);
    +        }
    +    });
    +}
    +
     function fatal(message) {
    -    console.error("ERROR: " + message);
    -    process.exit(1);
    +    console.error("FATAL: " + message);
    +    process.exit(ERROR);
    +}
    +
    +function medicLog(message) {
    +    console.log("\033[32m[MEDIC LOG]\033[m " + message);
    +}
    +
    +function currentMillisecond() {
    +    // NOTE:
    +    //      coercing a Date to a Number returns
    +    //      the Date's representation in milliseconds
    +    return Number(new Date());
    +}
    +
    +function generateBuildID() {
    +    var components = [MEDIC_BUILD_PREFIX, currentMillisecond()];
    +    return components.join("-");
    +}
    +
    +function tasksOnPlatform(platformName) {
    +    switch (platformName) {
    +        case WINDOWS:
    +            return ["WWAHost.exe"];
    +        case WP8:
    +            return ["Xde.exe"];
    +        case IOS:
    +            return ["iOS Simulator"];
    +        case ANDROID:
    +            if (isWindows()) {
    +                return ["emulator-arm.exe", "adb.exe"];
    +            } else {
    +                return ["emulator64-x86"];
    +            }
    +        case BLACKBERRY:
    +            return [];
    +        default:
    +            fatal("unknown platform " + platformName);
    +    }
    +}
    +
    +function cloneProject(projectName, projectsConfig) {
    +
    +    var project  = projectsConfig[projectName];
    +    var codebase = project.codebases[project.codebase];
    +    var command  = "git clone " + codebase.repo + " --branch=" + codebase.branch + "
--depth 1"
    +
    +    shelljs.exec(command, {silent: false, async: true}, function (returnCode, output)
{
    +        if (returnCode !== 0) {
    +            fatal("command \"" + command + "\" failed with code " + returnCode);
    +        }
    +    });
    +}
    +
    +function createMedicJson(appPath, buildId, couchdbURI) {
    +
    +    medicLog("Writing medic.json to " + appPath);
    +    medicLog("    sha:     " + buildId);
    +    medicLog("    couchdb: " + couchdbURI);
    +
    +    // NOTE:
    +    //      the "sha" name is a misnomer, but is kept
    +    //      to be compatible with plugin-test-framework
    +    var medicConfig = {
    +        sha:     buildId,
    +        couchdb: couchdbURI
    +    };
    +
    +    var medicConfigContents = JSON.stringify(medicConfig) + "\n";
    +    var medicConfigPath     = path.join(appPath, "www", "medic.json");
    +
    +    fs.writeFileSync(medicConfigPath, medicConfigContents, DEFAULT_ENCODING);
    +}
    +
    +function isWindows() {
    +    return /^win/.test(os.platform());
    --- End diff --
    
    Why assert at the beginning of the string?


---
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