VSCode Task для запуска файла сборки муравья, расположенного где угодно

У меня есть огромный проект, распределенный по нескольким исходным каталогам, который был разработан за последние 15 лет с использованием eclipse с настраиваемыми конфигурациями внешних инструментов для запуска задач ant из файлов build.xml в любом месте исходных каталогов (большой беспорядок, я знаю!).

Поскольку повседневная работа в основном основана на xml и JavaScript, я думал о VSCode как о легкой альтернативе (поскольку eclipse, например, не может работать с большими xml-файлами, не превышая HeepSpace). Task Runners мне кажутся отличным способом интегрировать сборки муравьев в редактор, они также рекламируется как способный запускать сборки муравьев:

Примеры: Make, Ant, Gulp, Jake, Rake и MSBuild, и это лишь некоторые из них.

Я могу запускать сборки муравьев с файлом build.xml в корневой папке. Однако структура проекта не такова.

Есть ли способ запустить команду задачи (в моем случае - ant) ​​из каталога, отличного от корня рабочей области?

Я думаю о чем-то вроде переменной среды git GIT_WORK_TREE или о способе выполнения двух команд (например, cd {{build.xml folder}} && ant). Мои текущие задачи .json - это

{
    "version": "0.1.0",
    "command": "ant",
    "isShellCommand": true,
    "showOutput": "silent",
    "args": ["all", "jar"],
    "promlemMatcher": "" // I'm also not sure what to put here,
                         // but that's another question
}

(Я использую Windows, кстати, но я пришел из linux / osx, и я немного новичок в том, как здесь работает мышление.)


person Dominik Schreiber    schedule 12.08.2015    source источник
comment
Для конкретной проблемы ant я нашел решение добавить "args": ["-buildfile", "{{build.xml folder}}/build.xml"] к задаче. Мой вопрос о запуске command откуда-то еще, но ${workspaceRoot} остается ...   -  person Dominik Schreiber    schedule 13.08.2015


Ответы (1)


Вы можете определить используемый каталог cwd. Делается это так:

{
    "version": "0.1.0",
    "command": "ant",
    "isShellCommand": true,
    "options": {
         "cwd": "My folder to run in"
    }
}

См. https://code.visualstudio.com/Docs/editor/tasks_appendix для определение файла tasks.json.

person Dirk Bäumer    schedule 18.08.2015