Как запустить две определенные задачи в другой задаче

У меня много задач, определенных в 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
    ]
}

person Emilio Platzer    schedule 08.04.2018    source источник


Ответы (1)


Я думаю, вы ищете dependsOn:

{
    "label": "joined task",
    "dependsOn": ["tsc-main", "tsc-other"]
}
person Gama11    schedule 08.04.2018