Skip to content

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

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

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

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

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

Без параметров читает vrunner.json и пишет autumn-properties.json в текущем каталоге; для файла 2.x по умолчанию (env.json) укажите --input env.json. Что делает:

  • убирает префикс -- у ключей и раскладывает секции команд по иерархии 3.0 (таблица ниже);
  • переименовывает ключи inputPath → src, outputPath → out, extensionName → extension-name, pathvanessa → bddrunner-path, testsPath → testspath;
  • у значений mode в syntax-check убирает ведущий дефис (-ThinClient → ThinClient);
  • в updatedb заменяет флаги --v1/--v2 ключом rtype;
  • предупреждает об устаревшем ключе --reportxunit.

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

Формат ​

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

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

Подстановка переменных окружения ${ИМЯ} в значения файла настроек и макросы $workspaceRoot/$runnerRoot в значениях опций в 3.0 не поддерживаются; исключения — $runnerRoot в --execute команды run enterprise и $workspaceRoot в --vanessasettings команды test vanessa.

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

Секция 2.xПуть 3.0
defaultvrunner
xunitvrunner.test.xunit
vanessavrunner.test.vanessa
syntax-checkvrunner.validate.syntax-check
compilevrunner.cf.compile
decompilevrunner.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

Пример ​

Было (env.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_IBCONNECTIONVRUNNER_IBCONNECTION
RUNNER_IBNAME (строка подключения)VRUNNER_IBCONNECTION
RUNNER_DBUSERVRUNNER_DBUSER
RUNNER_DBPWDVRUNNER_DBPWD
RUNNER_UCCODEVRUNNER_UCCODE
RUNNER_V8VERSIONVRUNNER_V8VERSION
RUNNER_LANGUAGEVRUNNER_LANGUAGE
RUNNER_LOCALEVRUNNER_LOCALE
RUNNER_SRCVRUNNER_SRC (у infobase init/update — VRUNNER_SOURCE)
RUNNER_DBMS_* (TYPE, SERVER, BASE, USER, PWD)VRUNNER_DBMS_* с теми же суффиксами
RUNNER_CLUSTERADMIN_USERVRUNNER_CLUSTERADMIN_USER
RUNNER_CLUSTERADMIN_PWDVRUNNER_CLUSTERADMIN_PWD
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
RUNNER_STORAGE_VERVRUNNER_STORAGE_VER
RUNNER_ROOT, RUNNER_NOCACHEUSEнет аналогов

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

Опция --settings ​

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