@opensumi/ide-task 2.12.1-next-079c1930

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/lib/browser/index.d.ts +6 -0
  2. package/lib/browser/index.d.ts.map +1 -0
  3. package/lib/browser/index.js +41 -0
  4. package/lib/browser/index.js.map +1 -0
  5. package/lib/browser/parser.d.ts +316 -0
  6. package/lib/browser/parser.d.ts.map +1 -0
  7. package/lib/browser/parser.js +481 -0
  8. package/lib/browser/parser.js.map +1 -0
  9. package/lib/browser/problem-collector.d.ts +27 -0
  10. package/lib/browser/problem-collector.d.ts.map +1 -0
  11. package/lib/browser/problem-collector.js +61 -0
  12. package/lib/browser/problem-collector.js.map +1 -0
  13. package/lib/browser/problem-line-matcher.d.ts +92 -0
  14. package/lib/browser/problem-line-matcher.d.ts.map +1 -0
  15. package/lib/browser/problem-line-matcher.js +378 -0
  16. package/lib/browser/problem-line-matcher.js.map +1 -0
  17. package/lib/browser/task-config.d.ts +385 -0
  18. package/lib/browser/task-config.d.ts.map +1 -0
  19. package/lib/browser/task-config.js +1427 -0
  20. package/lib/browser/task-config.js.map +1 -0
  21. package/lib/browser/task-preferences.contribution.d.ts +6 -0
  22. package/lib/browser/task-preferences.contribution.d.ts.map +1 -0
  23. package/lib/browser/task-preferences.contribution.js +17 -0
  24. package/lib/browser/task-preferences.contribution.js.map +1 -0
  25. package/lib/browser/task-preferences.d.ts +3 -0
  26. package/lib/browser/task-preferences.d.ts.map +1 -0
  27. package/lib/browser/task-preferences.js +15 -0
  28. package/lib/browser/task-preferences.js.map +1 -0
  29. package/lib/browser/task-preferences.provider.d.ts +6 -0
  30. package/lib/browser/task-preferences.provider.d.ts.map +1 -0
  31. package/lib/browser/task-preferences.provider.js +29 -0
  32. package/lib/browser/task-preferences.provider.js.map +1 -0
  33. package/lib/browser/task.contribution.d.ts +8 -0
  34. package/lib/browser/task.contribution.d.ts.map +1 -0
  35. package/lib/browser/task.contribution.js +35 -0
  36. package/lib/browser/task.contribution.js.map +1 -0
  37. package/lib/browser/task.schema.d.ts +4 -0
  38. package/lib/browser/task.schema.d.ts.map +1 -0
  39. package/lib/browser/task.schema.js +294 -0
  40. package/lib/browser/task.schema.js.map +1 -0
  41. package/lib/browser/task.service.d.ts +43 -0
  42. package/lib/browser/task.service.d.ts.map +1 -0
  43. package/lib/browser/task.service.js +354 -0
  44. package/lib/browser/task.service.js.map +1 -0
  45. package/lib/browser/terminal-task-system.d.ts +80 -0
  46. package/lib/browser/terminal-task-system.d.ts.map +1 -0
  47. package/lib/browser/terminal-task-system.js +391 -0
  48. package/lib/browser/terminal-task-system.js.map +1 -0
  49. package/lib/common/index.d.ts +130 -0
  50. package/lib/common/index.d.ts.map +1 -0
  51. package/lib/common/index.js +7 -0
  52. package/lib/common/index.js.map +1 -0
  53. package/lib/common/task.d.ts +572 -0
  54. package/lib/common/task.d.ts.map +1 -0
  55. package/lib/common/task.js +523 -0
  56. package/lib/common/task.js.map +1 -0
  57. package/lib/index.d.ts +3 -0
  58. package/lib/index.d.ts.map +1 -0
  59. package/lib/index.js +6 -0
  60. package/lib/index.js.map +1 -0
  61. package/lib/node/index.d.ts +6 -0
  62. package/lib/node/index.d.ts.map +1 -0
  63. package/lib/node/index.js +17 -0
  64. package/lib/node/index.js.map +1 -0
  65. package/package.json +33 -0
@@ -0,0 +1,43 @@
1
+ import { ITaskDefinitionRegistry, IProblemMatcherRegistry, Event, IProblemPatternRegistry } from '@opensumi/ide-core-common';
2
+ import { Disposable, Uri, PreferenceService, IDisposable, QuickOpenService } from '@opensumi/ide-core-browser';
3
+ import { ITaskService, WorkspaceFolderTaskResult, ITaskProvider, ITaskSystem, ITaskSummary } from '../common';
4
+ import { IWorkspaceService } from '@opensumi/ide-workspace';
5
+ import { OutputService } from '@opensumi/ide-output/lib/browser/output.service';
6
+ import { TaskSet, Task, TaskIdentifier, TaskEvent } from '../common/task';
7
+ export declare class TaskService extends Disposable implements ITaskService {
8
+ protected readonly outputService: OutputService;
9
+ protected readonly workspaceService: IWorkspaceService;
10
+ protected readonly quickOpenService: QuickOpenService;
11
+ protected readonly preferences: PreferenceService;
12
+ protected readonly taskSystem: ITaskSystem;
13
+ protected readonly taskDefinitionRegistry: ITaskDefinitionRegistry;
14
+ problemMatcher: IProblemMatcherRegistry;
15
+ problemPattern: IProblemPatternRegistry;
16
+ private _onDidStateChange;
17
+ onDidStateChange: Event<TaskEvent>;
18
+ private providerHandler;
19
+ private outputChannel;
20
+ private _workspaceFolders;
21
+ private providers;
22
+ private providerTypes;
23
+ constructor();
24
+ private get workspaceFolders();
25
+ private tryGetWorkspaceFolders;
26
+ runTaskCommand(): Promise<void>;
27
+ run(task: Task): Promise<ITaskSummary>;
28
+ terminateTask(taskId: string): Promise<void>;
29
+ getTask(workspaceFolder: Uri, identifier: string | TaskIdentifier, compareId?: boolean): Promise<Task | undefined>;
30
+ private runTask;
31
+ tasks(filter: any): Promise<Task[]>;
32
+ private getWorkspaceGroupedTasks;
33
+ private getGroupedTasks;
34
+ private toQuickOpenItem;
35
+ private toQuickOpenGroupItem;
36
+ private combineQuickItems;
37
+ private getWorkspaceTasks;
38
+ updateWorkspaceTasks(groupedTaskSet: TaskSet[]): Promise<Map<string, WorkspaceFolderTaskResult> | undefined>;
39
+ private computeWorkspaceFolderTasks;
40
+ protected showOutput(): void;
41
+ registerTaskProvider(provider: ITaskProvider, type: string): IDisposable;
42
+ }
43
+ //# sourceMappingURL=task.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task.service.d.ts","sourceRoot":"","sources":["../../src/browser/task.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,KAAK,EAAE,uBAAuB,EAAW,MAAM,2BAA2B,CAAC;AACtI,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,iBAAiB,EAAY,WAAW,EAAiB,gBAAgB,EAA8D,MAAM,4BAA4B,CAAC;AACpM,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9G,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAEhF,OAAO,EAAmB,OAAO,EAAE,IAAI,EAA+B,cAAc,EAAuB,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAsC7I,qBACa,WAAY,SAAQ,UAAW,YAAW,YAAY;IAGjE,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAGvD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IAG3C,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,uBAAuB,CAAC;IAGnE,cAAc,EAAE,uBAAuB,CAAC;IAGxC,cAAc,EAAE,uBAAuB,CAAC;IAExC,OAAO,CAAC,iBAAiB,CAAqC;IACvD,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAgC;IAEzE,OAAO,CAAC,eAAe,CAAa;IAEpC,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,iBAAiB,CAAQ;IAEjC,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,aAAa,CAAsB;;IAY3C,OAAO,KAAK,gBAAgB,GAK3B;IAED,OAAO,CAAC,sBAAsB;IAIjB,cAAc;IASpB,GAAG,CAAC,IAAI,EAAE,IAAI;IAIR,aAAa,CAAC,MAAM,EAAE,MAAM;IASlC,OAAO,CAAC,eAAe,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc,EAAE,SAAS,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;YA+BlH,OAAO;IAQR,KAAK,CAAC,MAAM,KAAA,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAc7B,wBAAwB;YAmBxB,eAAe;IAe7B,OAAO,CAAC,eAAe,CAYtB;IAED,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,iBAAiB;YAkDX,iBAAiB;IAIxB,oBAAoB,CAAC,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,GAAG,SAAS,CAAC;IAoBnH,OAAO,CAAC,2BAA2B;IAmDnC,SAAS,CAAC,UAAU,IAAI,IAAI;IAIrB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW;CAWhF"}
@@ -0,0 +1,354 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaskService = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const di_1 = require("@opensumi/di");
6
+ const ide_core_common_1 = require("@opensumi/ide-core-common");
7
+ const ide_core_browser_1 = require("@opensumi/ide-core-browser");
8
+ const common_1 = require("../common");
9
+ const ide_workspace_1 = require("@opensumi/ide-workspace");
10
+ const output_service_1 = require("@opensumi/ide-output/lib/browser/output.service");
11
+ const task_1 = require("../common/task");
12
+ const task_config_1 = require("./task-config");
13
+ const platform_1 = require("@opensumi/ide-core-common/lib/platform");
14
+ const parser_1 = require("./parser");
15
+ class ProblemReporter {
16
+ constructor(_outputChannel) {
17
+ this._outputChannel = _outputChannel;
18
+ this._validationStatus = new parser_1.ValidationStatus();
19
+ }
20
+ info(message) {
21
+ this._validationStatus.state = 1 /* Info */;
22
+ this._outputChannel.append(message + '\n');
23
+ }
24
+ warn(message) {
25
+ this._validationStatus.state = 2 /* Warning */;
26
+ this._outputChannel.append(message + '\n');
27
+ }
28
+ error(message) {
29
+ this._validationStatus.state = 3 /* Error */;
30
+ this._outputChannel.append(message + '\n');
31
+ }
32
+ fatal(message) {
33
+ this._validationStatus.state = 4 /* Fatal */;
34
+ this._outputChannel.append(message + '\n');
35
+ }
36
+ get status() {
37
+ return this._validationStatus;
38
+ }
39
+ }
40
+ let TaskService = class TaskService extends ide_core_browser_1.Disposable {
41
+ constructor() {
42
+ super();
43
+ this._onDidStateChange = new ide_core_common_1.Emitter();
44
+ this.onDidStateChange = this._onDidStateChange.event;
45
+ this.providerHandler = 0;
46
+ this.toQuickOpenItem = (task) => {
47
+ var _a;
48
+ return new ide_core_browser_1.QuickOpenItem({
49
+ label: task._label || '',
50
+ detail: task instanceof task_1.ContributedTask ? `${task.command.name || ''} ${task.command.args ? (_a = task.command.args) === null || _a === void 0 ? void 0 : _a.join(' ') : ''}` : undefined,
51
+ run: (mode) => {
52
+ if (mode === ide_core_browser_1.Mode.OPEN) {
53
+ this.runTask(task);
54
+ return true;
55
+ }
56
+ return false;
57
+ },
58
+ });
59
+ };
60
+ this.outputChannel = this.outputService.getChannel((0, ide_core_browser_1.localize)('task.outputchannel.name'));
61
+ this.providers = new Map();
62
+ this.providerTypes = new Map();
63
+ this.addDispose(this.taskSystem.onDidStateChange((e) => {
64
+ this._onDidStateChange.fire(e);
65
+ }));
66
+ }
67
+ get workspaceFolders() {
68
+ if (!this._workspaceFolders) {
69
+ this.tryGetWorkspaceFolders();
70
+ }
71
+ return this._workspaceFolders;
72
+ }
73
+ tryGetWorkspaceFolders() {
74
+ this._workspaceFolders = this.workspaceService.tryGetRoots().map((stat) => ide_core_browser_1.Uri.parse(stat.uri));
75
+ }
76
+ async runTaskCommand() {
77
+ const groupedTaskSet = await this.getGroupedTasks();
78
+ const workspaceTasks = await this.getWorkspaceTasks(groupedTaskSet);
79
+ const [workspaces, grouped] = this.combineQuickItems(groupedTaskSet, workspaceTasks);
80
+ this.quickOpenService.open({
81
+ onType: (lookFor, acceptor) => acceptor([...workspaces, ...grouped]),
82
+ }, { placeholder: (0, ide_core_browser_1.formatLocalize)('TaskService.pickRunTask') });
83
+ }
84
+ run(task) {
85
+ return this.runTask(task);
86
+ }
87
+ async terminateTask(taskId) {
88
+ const activeTasks = this.taskSystem.getActiveTasks();
89
+ for (const t of activeTasks) {
90
+ if (t._id === taskId) {
91
+ await this.taskSystem.terminate(t);
92
+ }
93
+ }
94
+ }
95
+ getTask(workspaceFolder, identifier, compareId = false) {
96
+ const key = !(0, ide_core_browser_1.isString)(identifier)
97
+ ? this.taskDefinitionRegistry.createTaskIdentifier(identifier, console)
98
+ : identifier;
99
+ if (key === undefined) {
100
+ return Promise.resolve(undefined);
101
+ }
102
+ return this.getWorkspaceGroupedTasks(workspaceFolder).then((taskMap) => {
103
+ if (!taskMap) {
104
+ return Promise.resolve(undefined);
105
+ }
106
+ const tasks = taskMap.get(workspaceFolder.toString());
107
+ if (!tasks) {
108
+ return Promise.resolve(undefined);
109
+ }
110
+ for (const task of tasks) {
111
+ if (task.matches(key, compareId)) {
112
+ return task;
113
+ }
114
+ if (task._id === identifier) {
115
+ return task;
116
+ }
117
+ if (task._label === identifier) {
118
+ return task;
119
+ }
120
+ }
121
+ });
122
+ }
123
+ async runTask(task) {
124
+ const result = await this.taskSystem.run(task);
125
+ result.promise.then((res) => {
126
+ this.outputChannel.appendLine(`task ${task._label} done, exit code ${res.exitCode}`);
127
+ });
128
+ return Promise.resolve(result.promise);
129
+ }
130
+ async tasks(filter) {
131
+ var _a;
132
+ const workspaceTasks = await this.getWorkspaceGroupedTasks();
133
+ const result = [];
134
+ for (const taskMap of workspaceTasks.values()) {
135
+ for (const task of taskMap) {
136
+ if (filter && filter.type && ((_a = task.getDefinition()) === null || _a === void 0 ? void 0 : _a.type) === filter.type) {
137
+ result.push(task);
138
+ }
139
+ continue;
140
+ }
141
+ }
142
+ return result;
143
+ }
144
+ async getWorkspaceGroupedTasks(folder = this.workspaceFolders[0]) {
145
+ const contributedTaskSet = await this.getGroupedTasks();
146
+ const workspaceTasks = await this.getWorkspaceTasks(contributedTaskSet);
147
+ const result = [];
148
+ for (const contributed of contributedTaskSet) {
149
+ if (contributed.tasks && contributed.tasks.length > 0) {
150
+ result.push(...contributed.tasks);
151
+ }
152
+ }
153
+ const tasks = workspaceTasks === null || workspaceTasks === void 0 ? void 0 : workspaceTasks.get(folder.toString());
154
+ if (tasks && tasks.set) {
155
+ result.push(...tasks.set.tasks);
156
+ }
157
+ const taskMap = new Map();
158
+ taskMap.set(folder.toString(), result);
159
+ return taskMap;
160
+ }
161
+ async getGroupedTasks() {
162
+ const valideTaskTypes = {};
163
+ for (const defintion of this.taskDefinitionRegistry.all()) {
164
+ valideTaskTypes[defintion.taskType] = true;
165
+ }
166
+ valideTaskTypes['shell'] = true;
167
+ valideTaskTypes['process'] = true;
168
+ const result = [];
169
+ for (const [, provider] of this.providers) {
170
+ const value = await provider.provideTasks(valideTaskTypes);
171
+ result.push(value);
172
+ }
173
+ return result;
174
+ }
175
+ toQuickOpenGroupItem(showBorder, run, type) {
176
+ return new ide_core_browser_1.QuickOpenItem({ groupLabel: showBorder ? '贡献' : undefined, run, showBorder, label: type, value: { type, grouped: true }, iconClass: (0, ide_core_browser_1.getIcon)('folder') });
177
+ }
178
+ combineQuickItems(contributedTaskSet, workspaceTasks) {
179
+ var _a, _b;
180
+ const groups = [];
181
+ const workspace = [];
182
+ let showBorder = true;
183
+ for (const taskSet of contributedTaskSet) {
184
+ const run = (mode) => {
185
+ if (mode === ide_core_browser_1.Mode.OPEN) {
186
+ this.quickOpenService.open({
187
+ onType: (lookFor, acceptor) => {
188
+ if (taskSet.tasks.length === 0) {
189
+ return acceptor([new ide_core_browser_1.QuickOpenItem({
190
+ value: 'none', label: `未找到 ${taskSet.type} 的任务,按回车键返回`, run: (mode) => {
191
+ if (mode === ide_core_browser_1.Mode.OPEN) {
192
+ return true;
193
+ }
194
+ return false;
195
+ },
196
+ })]);
197
+ }
198
+ return acceptor(taskSet.tasks.map(this.toQuickOpenItem));
199
+ },
200
+ });
201
+ return false;
202
+ }
203
+ return true;
204
+ };
205
+ const groupItem = this.toQuickOpenGroupItem(showBorder, run, taskSet.type);
206
+ groups.push(groupItem);
207
+ showBorder = false;
208
+ }
209
+ if (workspaceTasks) {
210
+ for (const taskSet of workspaceTasks.values()) {
211
+ if ((_a = taskSet.configurations) === null || _a === void 0 ? void 0 : _a.byIdentifier) {
212
+ Object.keys((_b = taskSet.configurations) === null || _b === void 0 ? void 0 : _b.byIdentifier).forEach((t) => {
213
+ var _a;
214
+ const task = (_a = taskSet.configurations) === null || _a === void 0 ? void 0 : _a.byIdentifier[t];
215
+ workspace.push(this.toQuickOpenItem(task));
216
+ });
217
+ }
218
+ if (taskSet.set && taskSet.set.tasks.length > 0) {
219
+ for (const task of taskSet.set.tasks) {
220
+ workspace.push(this.toQuickOpenItem(task));
221
+ }
222
+ }
223
+ }
224
+ }
225
+ return [workspace, groups];
226
+ }
227
+ async getWorkspaceTasks(groupedTaskSet) {
228
+ return this.updateWorkspaceTasks(groupedTaskSet);
229
+ }
230
+ updateWorkspaceTasks(groupedTaskSet) {
231
+ if (this.workspaceFolders.length === 0) {
232
+ return Promise.resolve(new Map());
233
+ }
234
+ else if (this.workspaceFolders.length === 1) {
235
+ /**
236
+ * 由于 registerSchema 不支持 **\/tasks.json 通配符
237
+ * 多 workspace 下无法默认从 preferences 获取到 tasks.json
238
+ */
239
+ return this.computeWorkspaceFolderTasks(this.workspaceFolders[0], groupedTaskSet)
240
+ .then((configuringTasks) => {
241
+ const taskMap = new Map();
242
+ taskMap.set(this.workspaceFolders[0].toString(), configuringTasks);
243
+ return taskMap;
244
+ });
245
+ }
246
+ else {
247
+ return Promise.resolve(undefined);
248
+ // TODO 多工作区支持
249
+ }
250
+ }
251
+ computeWorkspaceFolderTasks(folderUri, groupedTaskSet) {
252
+ return new Promise(async (resolve) => {
253
+ const tasksConfig = this.preferences.get('tasks');
254
+ const contributedTask = new Map();
255
+ for (const taskSet of groupedTaskSet) {
256
+ for (const contributed of taskSet.tasks) {
257
+ if (!task_1.ContributedTask.is(contributed)) {
258
+ continue;
259
+ }
260
+ contributedTask.set(contributed.defines._key, contributed);
261
+ }
262
+ }
263
+ if (tasksConfig && tasksConfig.tasks) {
264
+ let customizedTasks;
265
+ const taskSet = [];
266
+ let hasErrors = false;
267
+ const problemReporter = new ProblemReporter(this.outputChannel);
268
+ const parseResult = (0, task_config_1.parse)({ uri: folderUri, name: folderUri.path, index: 0 }, platform_1.platform, tasksConfig, problemReporter, this.taskDefinitionRegistry, this.problemMatcher, this.problemPattern);
269
+ if (!parseResult.validationStatus.isOK()) {
270
+ hasErrors = true;
271
+ this.showOutput();
272
+ }
273
+ if (parseResult.configured && parseResult.configured.length > 0) {
274
+ customizedTasks = {
275
+ byIdentifier: Object.create(null),
276
+ };
277
+ for (const task of parseResult.configured) {
278
+ // @ts-ignore
279
+ customizedTasks.byIdentifier[task.configures._key] = task;
280
+ }
281
+ }
282
+ taskSet.push(...parseResult.custom);
283
+ /**
284
+ * Converter configuringTask to customTask
285
+ */
286
+ if (customizedTasks && customizedTasks.byIdentifier) {
287
+ Object.keys(customizedTasks.byIdentifier).forEach((key) => {
288
+ if (contributedTask.has(key)) {
289
+ const customTask = (0, task_config_1.createCustomTask)(contributedTask.get(key), customizedTasks.byIdentifier[key]);
290
+ // @ts-ignore
291
+ customizedTasks.byIdentifier[key] = customTask;
292
+ }
293
+ });
294
+ }
295
+ resolve({ workspaceFolder: { uri: folderUri, name: folderUri.path, index: 0 }, set: { tasks: taskSet }, configurations: customizedTasks, hasErrors });
296
+ }
297
+ else {
298
+ resolve({ workspaceFolder: { uri: folderUri, name: folderUri.path, index: 0 }, set: { tasks: [] }, configurations: { byIdentifier: {} }, hasErrors: false });
299
+ }
300
+ });
301
+ }
302
+ showOutput() {
303
+ this.outputChannel.appendLine('There are task errors. See the output for details.');
304
+ }
305
+ registerTaskProvider(provider, type) {
306
+ const handler = this.providerHandler += 1;
307
+ this.providers.set(handler, provider);
308
+ this.providerTypes.set(handler, type);
309
+ return {
310
+ dispose: () => {
311
+ this.providers.delete(handler);
312
+ this.providerTypes.delete(handler);
313
+ },
314
+ };
315
+ }
316
+ };
317
+ (0, tslib_1.__decorate)([
318
+ (0, di_1.Autowired)(output_service_1.OutputService),
319
+ (0, tslib_1.__metadata)("design:type", output_service_1.OutputService)
320
+ ], TaskService.prototype, "outputService", void 0);
321
+ (0, tslib_1.__decorate)([
322
+ (0, di_1.Autowired)(ide_workspace_1.IWorkspaceService),
323
+ (0, tslib_1.__metadata)("design:type", Object)
324
+ ], TaskService.prototype, "workspaceService", void 0);
325
+ (0, tslib_1.__decorate)([
326
+ (0, di_1.Autowired)(ide_core_browser_1.QuickOpenService),
327
+ (0, tslib_1.__metadata)("design:type", Object)
328
+ ], TaskService.prototype, "quickOpenService", void 0);
329
+ (0, tslib_1.__decorate)([
330
+ (0, di_1.Autowired)(ide_core_browser_1.PreferenceService),
331
+ (0, tslib_1.__metadata)("design:type", Object)
332
+ ], TaskService.prototype, "preferences", void 0);
333
+ (0, tslib_1.__decorate)([
334
+ (0, di_1.Autowired)(common_1.ITaskSystem),
335
+ (0, tslib_1.__metadata)("design:type", Object)
336
+ ], TaskService.prototype, "taskSystem", void 0);
337
+ (0, tslib_1.__decorate)([
338
+ (0, di_1.Autowired)(ide_core_common_1.ITaskDefinitionRegistry),
339
+ (0, tslib_1.__metadata)("design:type", Object)
340
+ ], TaskService.prototype, "taskDefinitionRegistry", void 0);
341
+ (0, tslib_1.__decorate)([
342
+ (0, di_1.Autowired)(ide_core_common_1.IProblemMatcherRegistry),
343
+ (0, tslib_1.__metadata)("design:type", Object)
344
+ ], TaskService.prototype, "problemMatcher", void 0);
345
+ (0, tslib_1.__decorate)([
346
+ (0, di_1.Autowired)(ide_core_common_1.IProblemPatternRegistry),
347
+ (0, tslib_1.__metadata)("design:type", Object)
348
+ ], TaskService.prototype, "problemPattern", void 0);
349
+ TaskService = (0, tslib_1.__decorate)([
350
+ (0, di_1.Injectable)(),
351
+ (0, tslib_1.__metadata)("design:paramtypes", [])
352
+ ], TaskService);
353
+ exports.TaskService = TaskService;
354
+ //# sourceMappingURL=task.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task.service.js","sourceRoot":"","sources":["../../src/browser/task.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import { Event, IProblemMatcherRegistry, Disposable, Deferred } from '@opensumi/ide-core-common';
2
+ import { ITaskSystem, ITaskExecuteResult, ITaskExecutor, TaskTerminateResponse } from '../common';
3
+ import { Task, ContributedTask, TaskEvent } from '../common/task';
4
+ import { TerminalOptions, ITerminalController, ITerminalGroupViewService, ITerminalService } from '@opensumi/ide-terminal-next/lib/common';
5
+ import { CustomTask } from '../common/task';
6
+ import { IVariableResolverService } from '@opensumi/ide-variable';
7
+ import { ProblemCollector } from './problem-collector';
8
+ declare enum TaskStatus {
9
+ PROCESS_INIT = 0,
10
+ PROCESS_READY = 1,
11
+ PROCESS_RUNNING = 2,
12
+ PROCESS_EXITED = 3
13
+ }
14
+ export declare class TerminalTaskExecutor extends Disposable implements ITaskExecutor {
15
+ private terminalOptions;
16
+ private collector;
17
+ executorId: number;
18
+ protected readonly terminalView: ITerminalGroupViewService;
19
+ protected readonly terminalController: ITerminalController;
20
+ protected readonly terminalService: ITerminalService;
21
+ private terminalClient;
22
+ private pid;
23
+ private exitDefer;
24
+ private _onDidTerminalCreated;
25
+ private _onDidTaskProcessExit;
26
+ private _onDidTerminalWidgetRemove;
27
+ onDidTerminalCreated: Event<string>;
28
+ onDidTerminalWidgetRemove: Event<void>;
29
+ onDidTaskProcessExit: Event<number | undefined>;
30
+ processReady: Deferred<void>;
31
+ private processExited;
32
+ private disposableCollection;
33
+ taskStatus: TaskStatus;
34
+ constructor(terminalOptions: TerminalOptions, collector: ProblemCollector, executorId: number);
35
+ terminate(): Promise<{
36
+ success: boolean;
37
+ }>;
38
+ private onTaskExit;
39
+ private createTerminal;
40
+ execute(task: Task, reuse?: boolean): Promise<{
41
+ exitCode?: number;
42
+ }>;
43
+ get processId(): number | undefined;
44
+ get terminalId(): string | undefined;
45
+ get widgetId(): string | undefined;
46
+ updateTerminalOptions(terminalOptions: TerminalOptions): void;
47
+ updateProblemCollector(collector: ProblemCollector): void;
48
+ reset(): void;
49
+ }
50
+ export declare class TerminalTaskSystem extends Disposable implements ITaskSystem {
51
+ private readonly injector;
52
+ problemMatcher: IProblemMatcherRegistry;
53
+ variableResolver: IVariableResolverService;
54
+ private executorId;
55
+ protected currentTask: Task;
56
+ private activeTaskExecutors;
57
+ private _onDidStateChange;
58
+ private taskExecutors;
59
+ onDidStateChange: Event<TaskEvent>;
60
+ run(task: CustomTask | ContributedTask): Promise<ITaskExecuteResult>;
61
+ private buildShellConfig;
62
+ private findAvaiableExecutor;
63
+ private executeTask;
64
+ private createTerminalName;
65
+ private resolveVariables;
66
+ private resolveVariable;
67
+ private resolveMatchers;
68
+ getActiveTasks(): Task[];
69
+ terminate(task: Task): Promise<TaskTerminateResponse>;
70
+ rerun(): import('../common').ITaskExecuteResult | undefined;
71
+ isActive(): Promise<boolean>;
72
+ isActiveSync(): boolean;
73
+ getBusyTasks(): import('../common/task').Task[];
74
+ canAutoTerminate(): boolean;
75
+ terminateAll(): Promise<import('../common').TaskTerminateResponse[]>;
76
+ revealTask(task: import('../common/task').Task): boolean;
77
+ customExecutionComplete(task: import('../common/task').Task, result: number): Promise<void>;
78
+ }
79
+ export {};
80
+ //# sourceMappingURL=terminal-task-system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-task-system.d.ts","sourceRoot":"","sources":["../../src/browser/terminal-task-system.ts"],"names":[],"mappings":"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"}