Serve.cfg:problem:vcs compile cmd
Навигация: Главная страница/Система ejudge/Использование/Конфигурационные файлы/serve.cfg/Конфигурационные параметры задач/vcs_compile_cmd
Данная конфигурационная переменная позволяет задать команду, которая будет выполняться при компиляции посылки в режиме интеграции с системами контроля версий.
Команде компиляции передаются следующие аргументы командной строки:
- язык программирования текущей посылки
- рабочий каталог компиляции
- имя выходного файла. Выходной файл должен быть создан в рабочем
каталоге компиляции.
Кроме того, команде компиляции передаются все переменные окружения, которые были заданы в конфигурации задачи с помощью lang_compiler_env.
Команда компиляции работает в каталоге source
архива посылки. Команда компиляции работает с теми же правами,
что и стандартные скрипты компиляции языков программирования.
Если настроена изоляция недоверенных процессов в контейнерах,
то и команда компиляции будет контейнеризирована.
Команда компиляции должна сформировать выходной файл, имя которого задано в аргументе командной строки. При успехе скрипт сборки должен завершиться с кодом 0.
Рекомендуется, чтобы команда компиляции была скопирована
в склонированный каталог с помощью
команды постобработки.
Если команда компиляции называется build-cmd
,
то значение переменной vcs_compile_cmd
надо установить в ./build-cmd
.
Если переменная vcs_compile_cmd
не установлена,
по умолчанию команда компиляции запускается командой
./build
. Можно назвать команду компиляции build
и не устанавливать переменную vcs_compile_cmd
явно.
Значение конфигурационной переменной наследуется из абстрактных задач.
Пример.
[problem] # ... enable_vcs vcs_compile_cmd = "build-cmd"
Поддерживается начиная с версии 3.10.0.