1 | ;
|
2 | var command_run_1 = require("./command.run");
|
3 | var reporter_resolve_1 = require("./reporter.resolve");
|
4 | var task_resolve_1 = require("./task.resolve");
|
5 | var Rx = require("rx");
|
6 | var command_run_context_1 = require("./command.run.context");
|
7 | var debug = require("debug")("cb:command.run.execute");
|
8 | (function (RunCommandReportTypes) {
|
9 | RunCommandReportTypes[RunCommandReportTypes["NoTasks"] = "NoTasks"] = "NoTasks";
|
10 | RunCommandReportTypes[RunCommandReportTypes["Setup"] = "Setup"] = "Setup";
|
11 | RunCommandReportTypes[RunCommandReportTypes["Complete"] = "Complete"] = "Complete";
|
12 | RunCommandReportTypes[RunCommandReportTypes["TaskReport"] = "TaskReport"] = "TaskReport";
|
13 | })(exports.RunCommandReportTypes || (exports.RunCommandReportTypes = {}));
|
14 | var RunCommandReportTypes = exports.RunCommandReportTypes;
|
15 | function executeRunCommand(trigger) {
|
16 | var cli = trigger.cli, input = trigger.input, config = trigger.config, reporter = trigger.reporter;
|
17 | var _a = command_run_1.getRunCommandSetup(trigger), tasks = _a.tasks, sequence = _a.sequence, runner = _a.runner;
|
18 | /**
|
19 | * Never continue if any tasks were flagged as invalid and we've not handed
|
20 | * off
|
21 | */
|
22 | if (tasks.invalid.length) {
|
23 | reporter({
|
24 | type: reporter_resolve_1.ReportTypes.TaskErrors,
|
25 | data: {
|
26 | tasks: tasks.all,
|
27 | taskCollection: cli.input.slice(1),
|
28 | input: input,
|
29 | config: config
|
30 | }
|
31 | });
|
32 | return {
|
33 | setup: {
|
34 | sequence: sequence,
|
35 | tasks: tasks,
|
36 | errors: []
|
37 | },
|
38 | update$: Rx.Observable.empty()
|
39 | };
|
40 | }
|
41 | debug("~ run mode from config in mode: '" + config.runMode + "'");
|
42 | /**
|
43 | * Report task list that's about to run
|
44 | */
|
45 | reporter({ type: reporter_resolve_1.ReportTypes.TaskList, data: { sequence: sequence, cli: cli, titlePrefix: "", config: config } });
|
46 | /**
|
47 | * Get a run context for this execution.
|
48 | * note: This could take some time as it may need
|
49 | * to hash directories etc. A run context is just a key=>value
|
50 | * map of read-only values.
|
51 | */
|
52 | return {
|
53 | setup: {
|
54 | sequence: sequence,
|
55 | tasks: tasks,
|
56 | errors: []
|
57 | },
|
58 | update$: command_run_context_1.default(tasks.all, trigger)
|
59 | .flatMap(function (runContext) {
|
60 | if (trigger.config.runMode === task_resolve_1.TaskRunModes.parallel) {
|
61 | return runner.parallel(runContext);
|
62 | }
|
63 | return runner.series(runContext);
|
64 | }).share()
|
65 | };
|
66 | }
|
67 | Object.defineProperty(exports, "__esModule", { value: true });
|
68 | exports.default = executeRunCommand;
|
69 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5ydW4uZXhlY3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tYW5kLnJ1bi5leGVjdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw0QkFBaUQsZUFBZSxDQUFDLENBQUE7QUFDakUsaUNBQTBCLG9CQUFvQixDQUFDLENBQUE7QUFDL0MsNkJBQWtDLGdCQUFnQixDQUFDLENBQUE7QUFJbkQsSUFBTyxFQUFFLFdBQVcsSUFBSSxDQUFDLENBQUM7QUFDMUIsb0NBQXVCLHVCQUF1QixDQUFDLENBQUE7QUFLL0MsSUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFFekQsV0FBWSxxQkFBcUI7SUFDN0IseURBQW9CLFNBQVMsYUFBQSxDQUFBO0lBQzdCLHVEQUFvQixPQUFPLFdBQUEsQ0FBQTtJQUMzQiwwREFBb0IsVUFBVSxjQUFBLENBQUE7SUFDOUIsNERBQW9CLFlBQVksZ0JBQUEsQ0FBQTtBQUNwQyxDQUFDLEVBTFcsNkJBQXFCLEtBQXJCLDZCQUFxQixRQUtoQztBQUxELElBQVkscUJBQXFCLEdBQXJCLDZCQUtYLENBQUE7QUErQkQsMkJBQTBDLE9BQXVCO0lBRXRELHFCQUFHLEVBQUUscUJBQUssRUFBRSx1QkFBTSxFQUFFLDJCQUFRLENBQVk7SUFDL0MsSUFBQSw4Q0FBa0UsRUFBM0QsZ0JBQUssRUFBRSxzQkFBUSxFQUFFLGtCQUFNLENBQXFDO0lBRW5FOzs7T0FHRztJQUNILEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUV2QixRQUFRLENBQUM7WUFDTCxJQUFJLEVBQUUsOEJBQVcsQ0FBQyxVQUFVO1lBQzVCLElBQUksRUFBRTtnQkFDRixLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUc7Z0JBQ2hCLGNBQWMsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLFlBQUs7Z0JBQ0wsY0FBTTthQUNXO1NBQ3hCLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQztZQUNILEtBQUssRUFBRTtnQkFDSCxrQkFBUTtnQkFDUixZQUFLO2dCQUNMLE1BQU0sRUFBRSxFQUFFO2FBQ2I7WUFDRCxPQUFPLEVBQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUU7U0FDdEMsQ0FBQztJQUNOLENBQUM7SUFFRCxLQUFLLENBQUMsc0NBQW9DLE1BQU0sQ0FBQyxPQUFPLE1BQUcsQ0FBQyxDQUFDO0lBRTdEOztPQUVHO0lBQ0gsUUFBUSxDQUFDLEVBQUMsSUFBSSxFQUFFLDhCQUFXLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFDLGtCQUFRLEVBQUUsUUFBRyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsY0FBTSxFQUFDLEVBQUMsQ0FBQyxDQUFDO0lBRXZGOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDO1FBQ0gsS0FBSyxFQUFFO1lBQ0gsa0JBQVE7WUFDUixZQUFLO1lBQ0wsTUFBTSxFQUFFLEVBQUU7U0FDYjtRQUNELE9BQU8sRUFBRSw2QkFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDO2FBQ2xDLE9BQU8sQ0FBQyxVQUFDLFVBQXNCO1lBQzVCLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLDJCQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDbkQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDdkMsQ0FBQztZQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTtLQUNqQixDQUFDO0FBQ04sQ0FBQztBQTFERDttQ0EwREMsQ0FBQSJ9 |
\ | No newline at end of file |