1 | ;
|
2 | var command_run_1 = require("./command.run");
|
3 | var task_resolve_1 = require("./task.resolve");
|
4 | var Rx = require("rx");
|
5 | var file_utils_1 = require("./file.utils");
|
6 | var task_utils_1 = require("./task.utils");
|
7 | function execute(trigger) {
|
8 | var input = trigger.input, config = trigger.config;
|
9 | var allNames = Object.keys(trigger.input.tasks);
|
10 | var possibleParents = allNames.filter(function (x) { return task_utils_1.isParentGroupName(x); });
|
11 | var possibleDefaults = allNames.filter(function (x) { return !task_utils_1.isParentGroupName(x); });
|
12 | var cliInput = trigger.cli.input.slice(1);
|
13 | var defaultInputNames = cliInput.filter(function (x) { return !task_utils_1.isParentRef(x, possibleParents); });
|
14 | var parentInputNames = cliInput.filter(function (x) { return task_utils_1.isParentRef(x, possibleParents); });
|
15 | /**
|
16 | * Either resolve ALL tasks, or a subset if given
|
17 | * via the cli.
|
18 | *
|
19 | * eg:
|
20 | * crossbow ls -> all tasks
|
21 | * crossbow ls build-all -> only build all tasks
|
22 | */
|
23 | var defaultsToResolve = (function () {
|
24 | if (defaultInputNames.length) {
|
25 | return defaultInputNames;
|
26 | }
|
27 | if (parentInputNames.length) {
|
28 | return [];
|
29 | }
|
30 | var taskNamesFromTasksDir = file_utils_1.getPossibleTasksFromDirectories(config.tasksDir, config.cwd);
|
31 | return possibleDefaults.concat(taskNamesFromTasksDir);
|
32 | })();
|
33 | var parentsToResolve = (function () {
|
34 | if (parentInputNames.length) {
|
35 | return parentInputNames;
|
36 | }
|
37 | if (defaultInputNames.length) {
|
38 | return [];
|
39 | }
|
40 | return possibleParents;
|
41 | })();
|
42 | /**
|
43 | * Resolve the subset
|
44 | * @type {Tasks}
|
45 | */
|
46 | var resolvedDefault = task_resolve_1.resolveTasks(defaultsToResolve, trigger);
|
47 | var resolvedParents = parentsToResolve
|
48 | .map(task_utils_1.getChildName)
|
49 | .reduce(function (acc, key) {
|
50 | var childKeys = Object.keys(task_utils_1.getChildItems(key, input.tasks));
|
51 | var plainName = key.slice(1, -1);
|
52 | if (!acc[plainName]) {
|
53 | acc[plainName] = childKeys;
|
54 | }
|
55 | else {
|
56 | acc[plainName].push.apply(acc[plainName], childKeys);
|
57 | }
|
58 | return acc;
|
59 | }, {});
|
60 | function getParents(resolvedParents, trigger) {
|
61 | return Object.keys(resolvedParents).map(function (key) {
|
62 | var parent = resolvedParents[key];
|
63 | var items = parent.map(function (x) { return (key + ":" + x); });
|
64 | var resolved = task_resolve_1.resolveTasks(items, trigger);
|
65 | return { title: key, tasks: resolved };
|
66 | });
|
67 | }
|
68 | var groups = (function () {
|
69 | if (resolvedDefault.all.length) {
|
70 | return [
|
71 | { title: "Default Tasks", tasks: resolvedDefault }
|
72 | ].concat(getParents(resolvedParents, trigger));
|
73 | }
|
74 | return getParents(resolvedParents, trigger);
|
75 | })();
|
76 | var tasks = groups.reduce(function (acc, group) {
|
77 | return acc.concat(group.tasks.all);
|
78 | }, []);
|
79 | return Rx.Observable.just({
|
80 | setup: {
|
81 | groups: groups,
|
82 | tasks: tasks,
|
83 | errors: []
|
84 | }
|
85 | });
|
86 | }
|
87 | function handleIncomingTasksCommand(cli, input, config, reporter) {
|
88 | return execute({
|
89 | cli: cli,
|
90 | input: input,
|
91 | config: config,
|
92 | reporter: reporter,
|
93 | type: command_run_1.TriggerTypes.command
|
94 | });
|
95 | }
|
96 | Object.defineProperty(exports, "__esModule", { value: true });
|
97 | exports.default = handleIncomingTasksCommand;
|
98 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC50YXNrcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tYW5kLnRhc2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSw0QkFBMkMsZUFBZSxDQUFDLENBQUE7QUFHM0QsNkJBQXdDLGdCQUFnQixDQUFDLENBQUE7QUFHekQsSUFBTyxFQUFFLFdBQVcsSUFBSSxDQUFDLENBQUM7QUFDMUIsMkJBQThDLGNBQWMsQ0FBQyxDQUFBO0FBQzdELDJCQUVPLGNBQWMsQ0FBQyxDQUFBO0FBbUJ0QixpQkFBaUIsT0FBdUI7SUFFN0IseUJBQUssRUFBRSx1QkFBTSxDQUFjO0lBRWxDLElBQU0sUUFBUSxHQUFZLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzRCxJQUFNLGVBQWUsR0FBSyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsOEJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQXBCLENBQW9CLENBQUMsQ0FBQztJQUNyRSxJQUFNLGdCQUFnQixHQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLDhCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFyQixDQUFxQixDQUFDLENBQUM7SUFFdEUsSUFBTSxRQUFRLEdBQVksT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JELElBQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsd0JBQVcsQ0FBQyxDQUFDLEVBQUUsZUFBZSxDQUFDLEVBQWhDLENBQWdDLENBQUMsQ0FBQztJQUNqRixJQUFNLGdCQUFnQixHQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSx3QkFBVyxDQUFDLENBQUMsRUFBRSxlQUFlLENBQUMsRUFB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 |
\ | No newline at end of file |