Skip to content

Файл настроек и переменные окружения

В 3.0 изменились имя и формат файла настроек и префикс переменных окружения. Формат 3.0 описан на странице Файл настроек.

Скрипт конвертации

Скрипт tools/migrate26to30.os входит в пакет vanessa-runner (в установленном пакете: <каталог библиотек OneScript>/vanessa-runner/tools/migrate26to30.os):

bash
oscript tools/migrate26to30.os --input vrunner.json --output autumn-properties.json

Без параметров читает vrunner.json и пишет autumn-properties.json в текущем каталоге. Что делает:

  • убирает префикс -- у ключей и раскладывает секции команд по иерархии 3.0 (таблица ниже);
  • переименовывает ключи inputPathsrc, outputPathout, extensionNameextension-name, pathvanessabddrunner-path, testsPathtestspath;
  • у значений mode в syntax-check убирает ведущий дефис (-ThinClientThinClient);
  • в updatedb заменяет флаги --v1/--v2 ключом rtype;
  • предупреждает об устаревшем ключе --reportxunit.

Секции init-dev, update-dev, init-project и неизвестные секции не конвертируются: скрипт выводит предупреждение и завершается с кодом 1. Остальные ключи переносятся как есть, поэтому опции, переименованные в 3.0 (pathfeature-path у vanessa, incf-file у decompile), правятся вручную — см. страницы команд.

Формат

2.x3.0
Имя файлаvrunner.jsonautumn-properties.json
Ключ опции"--ibconnection""ibconnection"
Общие настройкисекция defaultкорень vrunner
Настройки командысекция xunitвложенный объект vrunner.test.xunit
Позиционный аргументtestsPath, --outимя аргумента в нижнем регистре: testspath, out

Ключ в корне vrunner действует для всех команд, ключ в объекте команды — только для неё и её подкоманд.

Маппинг секций

Секция 2.xПуть 3.0
defaultvrunner
xunitvrunner.test.xunit
vanessavrunner.test.vanessa
syntax-checkvrunner.validate.syntax-check
compile, compileconfvrunner.cf.compile
decompile, decompileconfvrunner.cf.decompile
compileepfvrunner.epf.compile
decompileepfvrunner.epf.decompile
compileextvrunner.cfe.compile
decompileextvrunner.cfe.decompile
updatedbvrunner.infobase.update
updatevrunner.cf.vendor-update
runvrunner.run.enterprise
loadrepovrunner.repo.load
designervrunner.run.designer
init-dev, update-dev, init-projectне конвертируются: init-dev, init-project

Пример

Было (vrunner.json):

json
{
  "default": {
    "--ibconnection": "/F./build/ib",
    "--v8version": "8.3.24"
  },
  "xunit": {
    "testsPath": "./tests",
    "--reportsxunit": "ГенераторОтчетаJUnitXML{build/junit.xml}"
  },
  "syntax-check": {
    "--groupbymetadata": true,
    "--mode": ["-ThinClient", "-Server"]
  },
  "updatedb": {
    "--uccode": "godModeOn",
    "--v2": true
  }
}

Стало (autumn-properties.json):

json
{
  "vrunner": {
    "ibconnection": "/F./build/ib",
    "v8version": "8.3.24",
    "test": {
      "xunit": {
        "testspath": "./tests",
        "reportsxunit": "ГенераторОтчетаJUnitXML{build/junit.xml}"
      }
    },
    "validate": {
      "syntax-check": {
        "groupbymetadata": true,
        "mode": ["ThinClient", "Server"]
      }
    },
    "infobase": {
      "update": {
        "uccode": "godModeOn",
        "rtype": "v2"
      }
    }
  }
}

Переменные окружения

Префикс RUNNER_ заменён на VRUNNER_. Обновите переменные в CI-файлах и скриптах сборки. Полный список переменных 3.0 — Переменные окружения.

2.x3.0
RUNNER_IBNAME (строка подключения)VRUNNER_IBCONNECTION
RUNNER_DBUSERVRUNNER_DBUSER
RUNNER_DBPWDVRUNNER_DBPWD
RUNNER_uccodeVRUNNER_UCCODE
RUNNER_v8versionVRUNNER_V8VERSION
RUNNER_VANESSASETTINGSVRUNNER_VANESSASETTINGS
RUNNER_PATHVANESSAVRUNNER_PATHVANESSA
RUNNER_WORKSPACEVRUNNER_WORKSPACE
RUNNER_TESTSPATHVRUNNER_TESTSPATH
RUNNER_PATHXUNITVRUNNER_PATHXUNIT
RUNNER_CONFIG_TESTSVRUNNER_CONFIG_TESTS
RUNNER_storage_nameVRUNNER_STORAGE_NAME
RUNNER_storage_userVRUNNER_STORAGE_USER
RUNNER_storage_pwdVRUNNER_STORAGE_PWD

VRUNNER_IBNAME в 3.0 — имя базы в кластере (--db-name) для команд cluster, а не строка подключения.

Опция --settings

--settings <файл> (VRUNNER_SETTINGS) сохранена, но файл читается в формате autumn-properties.json. Порядок применения файлов, переменных окружения и командной строки — Каскад приоритетов. Аналог env.json — локальный файл, на который проектный autumn-properties.json ссылается ключом settings: Опция settings.