mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-06 18:20:52 +03:00
feat(epf-build): исходники проверяются платформой до сборки
Сборка .epf/.erf не компилирует модули, поэтому сломанный BSL уезжал пользователю и падал при открытии обработки. Прямой команды «проверь внешнюю обработку» у платформы нет, но объект конфигурации она проверяет: обработка кладётся в конфигурацию временной базы (stub-db-create -EmbedSourceFile) и спрашивается /CheckConfig. При находках сборка отменяется, в выводе — сообщение платформы и путь к файлу исходника. Ключи -Checks и -Context; выключение -Checks off или externalCheck: false в .v8-project.json. С выключенной проверкой поведение прежнее. У копии объекта перевыпускаются все GUID: с идентификаторами исходника платформа путает копию в базе с загружаемой внешней обработкой и через раз отвечает «Исключение XDTO при чтении файла» на исправном исходнике. Ручная матрица (база есть/нет × ps1/py × исправный/битый × с модулями/без) вскрыла ещё три вещи: отказ платформы принять исходники при подготовке проверки выдавался за сбой базы; py-порт стаба терял причину отказа LoadConfigFromFiles (не было /Out, в PS он есть); копии общих утилит в stub-db-create.py разошлись с эталоном db-create — у run_v8 не было POSIX-ветки, из-за чего на darwin/Linux временная база с пробелом в пути молча не находилась бы. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013MQkqXxErBepYmoUycfkbn
This commit is contained in:
co-authored by
Claude Opus 5
parent
a3ea0b7be6
commit
448f05ed11
@@ -0,0 +1,39 @@
|
||||
{
|
||||
"name": "Перед сборкой запускается /CheckConfig (fake platform)",
|
||||
"osOnly": "win32",
|
||||
"fakePlatform": {
|
||||
"exit": 0,
|
||||
"log": "Загрузка завершена.\n",
|
||||
"check": {
|
||||
"exit": 0,
|
||||
"log": ""
|
||||
}
|
||||
},
|
||||
"preRun": [
|
||||
{
|
||||
"script": "epf-init/scripts/init",
|
||||
"args": {
|
||||
"-Name": "Тест",
|
||||
"-SrcDir": "{workDir}/src"
|
||||
}
|
||||
}
|
||||
],
|
||||
"args_extra": [
|
||||
"-V8Path",
|
||||
"{workDir}\\fake.cmd",
|
||||
"-InfoBasePath",
|
||||
"{workDir}\\ib",
|
||||
"-SourceFile",
|
||||
"{workDir}\\src\\Тест.xml",
|
||||
"-OutputFile",
|
||||
"{workDir}\\build\\Тест.epf"
|
||||
],
|
||||
"expect": {
|
||||
"stdoutContains": [
|
||||
"/CheckConfig -ThinClient -Server -HandlersExistence",
|
||||
"/LoadExternalDataProcessorOrReportFromFiles"
|
||||
]
|
||||
},
|
||||
"expectError": true,
|
||||
"noSnapshot": "платформа фейковая, EPF не собирается — проверяется командная строка проверки"
|
||||
}
|
||||
Reference in New Issue
Block a user