У меня много задач, определенных в tasks.json
{
"version": "2.0.0",
"tasks": [
{ "identifier": "tsc-main",
"type": "typescript",
"tsconfig": "tsconfig.json",
"problemMatcher": [
"$tsc"
]
},
{ "identifier": "tsc-other",
"type": "typescript",
"tsconfig": "./other-path/tsconfig.json",
"problemMatcher": [
"$tsc"
]
}
]
}
Я хочу иметь задачу, которая запускает несколько задач вместе. Запустить все, не останавливая один, если у другого есть ошибки.
Что-то вроде:
{ "identifier": "joined task",
"type": "task-list", // <= does not exists
"tasks": ["tsc-main","tsc-other"] // <==
}
Другой способ - запуск всех команд в оболочке, но я не знаю, как запускать задачи через командную строку
{ "identifier": "joined task",
"type": "shell",
"command": "task tsc-main ; task tsc-other", // <== I don't know how to write "task"
"problemMatcher": [
"$tsc"
]
}
Также я знаю, как написать список команд в задаче оболочки, но у этого есть другая проблема: определения написаны в двух разных местах (исходная задача и объединенная задача), и это нарушает правило «каждое определение должно быть только в одно место". Если кто-то в команде добавляет одну опцию к одной задаче, он должен не забыть добавить опцию чем к «объединенной задаче».
{ "identifier": "joined task",
"type": "shell",
"command": "tsc ; tsc -p ./other-path/tsconfig.json",
"problemMatcher": [
"$tsc" // <= I am not shure about this
]
}