1 | import { Tasks } from "./task.resolve";
|
2 | import { SequenceItem } from "./task.sequence.factories";
|
3 | import { CommandTrigger } from "./command.run";
|
4 | import Rx = require("rx");
|
5 | import Immutable = require("immutable");
|
6 | export interface Runner {
|
7 | series: (ctx?: RunContext) => Rx.Observable<TaskReport>;
|
8 | parallel: (ctx?: RunContext) => Rx.Observable<TaskReport>;
|
9 | sequence: SequenceItem[];
|
10 | }
|
11 | export interface TaskRunner {
|
12 | tasks: Tasks;
|
13 | sequence: SequenceItem[];
|
14 | runner: Runner;
|
15 | }
|
16 | export interface TaskStats {
|
17 | startTime: number;
|
18 | endTime: number;
|
19 | duration: number;
|
20 | started: boolean;
|
21 | completed: boolean;
|
22 | errors: Error[];
|
23 | skipped?: boolean;
|
24 | skippedReadon?: TaskSkipReasons;
|
25 | }
|
26 | export interface TaskErrorStats {
|
27 | endTime: number;
|
28 | completed: boolean;
|
29 | errors: Error[];
|
30 | cbError?: boolean;
|
31 | cbExitCode?: number;
|
32 | }
|
33 | export interface Report {
|
34 | item: SequenceItem;
|
35 | type: TaskReportType;
|
36 | }
|
37 | export declare enum TaskReportType {
|
38 | start,
|
39 | end,
|
40 | error,
|
41 | }
|
42 | export declare enum TaskSkipReasons {
|
43 | SkipFlag,
|
44 | IfChanged,
|
45 | }
|
46 | export interface TaskReport extends Report {
|
47 | stats: TaskStats;
|
48 | }
|
49 | export interface TaskErrorReport extends Report {
|
50 | stats: TaskErrorStats;
|
51 | }
|
52 | export declare type RunContext = Immutable.Map<string, any>;
|
53 |
|
54 |
|
55 |
|
56 |
|
57 | export declare function time(scheduler?: any): any;
|
58 | export declare function createObservableFromSequenceItem(item: SequenceItem, trigger: CommandTrigger, ctx: RunContext): Rx.Observable<{}>;
|
59 |
|
60 |
|
61 |
|
62 | export declare function getStartStats(startTime: number, additional?: {
|
63 | [index: string]: any;
|
64 | }): TaskStats;
|