Dialect Definitions for: 1.2.1
Show:

File: lib/meta4qa.js

#!/usr/bin/env node

/**
 * meta4qa
 *
 * Command Line launcher
 *
 * (c) Troven Software 2009-2015. Apache Licensed.
 *
 */

var pkg = require("../package");
var _ = require("lodash");
var meta4qa = require("./index"), cli = meta4qa.cli, Runtime = meta4qa.Runtime;
var debug = require("debug")("meta4qa");
var assert = require('assert');

cli.version(pkg.version);
cli.option("--reporter <reporter>", "Mocha reporter [spec|simple|tap|xunit|nyan|progress]");

cli.command('*').description("[.feature file]").action(function (featureFile) {
    cli.features = featureFile;
    if (arguments.length>2) {
        console.log("Only one .feature file allowed on the command line");
        process.exit(1);
    }
});

var qa = new Runtime(cli);
qa.config.paths = _.extend({}, pkg.directories, qa.config.paths);
qa.config.name = pkg.name;
qa.config.reporter = qa.config.reporter || "spec";

// auto-install dependent dialects - needed in top-level project to resolve external projects

_.each(pkg.dependencies, function(ver, dep) {
    if (dep.indexOf(pkg.name+"-")>=0) {
        debug("%s install: %s @ %s",pkg.name, dep, ver);
        qa.dialect.learn(require(dep),dep);
    }
});

if (qa.commands(cli)) {
    return;
}

qa.execute();