Изменения в версии 3.11.0

From EjudgeWiki

Навигация: Главная страница/Система ejudge/Разработка/История версий/Изменения в версии 3.11.0

Время выхода: 12 августа 2023 г.

Предыдущая версия Следующая версия

В этой версии добавлены две новых возможности:

Они могут быть полезными при использовании ejudge как сервиса для проверки решений.

Добавлена автоматическая сборка докер-образа при коммите в ветку master на github. Исправлена ошибка сборки (Issue #196).

ej-agent

Исправлена ошибка Issue #207.

ej-compile

Исправлена ошибка Issue #206.

Добавлена опция --lang-id-map, которая позволяет задать отображение идентификаторов языков во входных пакетах в идентификаторы языков, обрабатываемых на данном сервере компиляции (Issue #205).

ej-contests

Исправлены ошибки:

Добавлена поддержка глобального конфигурационного параметра турнира enable_remote_cache для уменьшения количества передаваемых данных по сети (Issue #212).

Добавлена поддержка глобального конфигурационного параметра турнира preserve_line_numbers, назначение которого — сохранять номера строк, которые были в исходном коде, при исполнении программы на скриптовом языке (Issue #213).

Добавлена поддержка внешних идентификаторов пользователя в базе данных посылок (Issue #169, Issue #188).

Добавлена поддержка нотификаций во внешние системы с помощью redis (Issue #194, Issue #189, Issue #187, Issue #186, Issue #180).

ej-suid-container

Добавлена поддержка опции ml для настройки loopback сетевого интерфейса в контейнере (Issue #204).

Добавлена поддержка опцити mr для сохранения исходного каталога /run в создаваемом контейнере (Issue #203).

ej-super-run

Поддерживается опция командной строк --local-cache, которая включает поддержку кеширования исполняемых файлов на стороне хоста тестирования и исполнения (Issue #212).

Поддерживается режим сохранения номеров строк исходного файла скриптовых языков (Issue #213). В этом случае программа ej-super-run убирает начало файла с добавленной строкой #! INTERP, и обрабатывает эту строку самостоятельно и вызывает указанный интерпретатор INTERP напрямую.

Изменения в поддержке языков программирования

Ускорена компиляция dotnet C#. Скрипт компиляции не создает новый проект при каждой компиляции, а пытается использовать заранее сохраненный готовый проект. Это уменьшает время компиляции примерно на секунду.

Для языка scala поддерживается компиляция с помощью sbt. При использовании sbt компиляция работает намного медленнее, чем без него, зато sbt генерирует самодостаточные jar-файлы, которые запускаются обычной командой java. Это позволяет, например, при компиляции подключать внешние зависимости, которые будут добавлены в jar-файл.