Этот гид поможет быстро подготовить рабочий application.yml для MCP YaXUnit Runner. Начните с готового шаблона, заполните 4–5 полей и запустите проверку.
- Java 17+ и JAR приложения
- Абсолютный путь к корню вашего проекта 1С
- Структура исходников: где лежат конфигурация, тесты, YaXUnit
- Строка подключения к вашей ИБ (файловой или серверной)
- Если используете EDT: 1C:EDT 2025.1+ (минимальная версия). Обоснование см. Issue #1758.
app:
# (необязательно) Человекочитаемый идентификатор проекта
id: your-project
# Формат проекта: DESIGNER (типовой) или EDT (структура EDT)
format: DESIGNER
# Абсолютный путь к корню проекта 1С на диске
base-path: "/abs/path/to/project"
# Описание исходников проекта (пути относительно base-path)
source-set:
- path: "configuration"
name: main
type: "CONFIGURATION"
purpose: ["MAIN"]
# Подключение к информационной базе
connection:
# Примеры ниже; оставьте ровно одну строку
connection-string: "File='/abs/path/to/infobase/';"
# user: "Администратор" # (необязательно)
# password: "secret" # (необязательно)
# Инструменты сборки/запуска
tools:
# DESIGNER — локальная разработка, IBCMD — CI/CD
builder: DESIGNER
# Версия платформы
platform-version: "8.3.24.1234"Выберите один из типовых вариантов и скорректируйте пути/назначения.
-
Только конфигурация
source-set: - path: "configuration" name: main type: "CONFIGURATION" purpose: ["MAIN"]
-
Конфигурация + тесты (расширение)
source-set: - path: "configuration" name: main type: "CONFIGURATION" purpose: ["MAIN"] - path: "tests" name: tests type: "EXTENSION" purpose: ["TESTS"]
-
Конфигурация + YaXUnit engine + тесты
source-set: - path: "configuration" name: demo type: "CONFIGURATION" purpose: ["MAIN", "TESTS"] - path: "yaxunit" name: yaxunit type: "EXTENSION" purpose: ["YAXUNIT"] - path: "tests" name: tests type: "EXTENSION" purpose: ["TESTS", "YAXUNIT"]
Требования к source-set:
- Должен быть хотя бы один элемент с
type: CONFIGURATION. - Пути уникальны, относительны
base-pathи существуют на диске. - Путь не должен начинаться с
/и содержать... - Имя
nameне должно содержать разделители путей (/или\).
Укажите ровно одну строку подключения — она обязательно должна содержать знак =.
-
Файловая база
connection: connection-string: "File='/abs/path/to/infobase/';"
-
Серверная база
connection: connection-string: "Srvr='server';Ref='infobase';" # user: "Администратор" # password: "secret"
Поля user и password — опциональны.
- DESIGNER — удобно для локальной разработки.
- IBCMD — надежно для CI/CD и headless-сборок.
Укажите в app.tools.builder: DESIGNER или IBCMD.
Если ваш проект в формате EDT, укажите app.format: EDT. Для автозапуска и управления интерактивной сессией EDT CLI настройте блок tools.edt-cli.
Требуется версия 1C:EDT не ниже 2025.1 из-за известных проблем экспорта/работы из существующей рабочей области в предыдущих версиях (см. Issue #1758).
app:
format: EDT
tools:
builder: DESIGNER
edt-cli:
auto-start: true # автозапуск при старте приложения (по умолчанию: false)
version: "latest" # версия EDT CLI (по умолчанию: latest; требуется EDT >= 2025.1)
interactive-mode: true # интерактивный режим (по умолчанию: true)
working-directory: "/abs/path/to/edt-workspace" # рабочая папка EDT
startup-timeout-ms: 30000 # ожидание готовности промпта (по умолчанию: 30000)
command-timeout-ms: 300000 # таймаут команд (по умолчанию: 300000)
ready-check-timeout-ms: 5000 # таймаут проверки готовности (по умолчанию: 5000)app.base-path— абсолютный путь существует и читается.app.format— одно из:DESIGNER,EDT.source-set— пути уникальны, относительныbase-path, на диске существуют.- Есть хотя бы один
CONFIGURATION. connection.connection-stringсодержит=и валидна для вашей ИБ.tools.builder— одно из:DESIGNER,IBCMD.- Для EDT при необходимости настроен
tools.edt-cli.
-
Минимальный
app: base-path: "/abs/path/to/project" source-set: - path: "configuration" name: main type: "CONFIGURATION" purpose: ["MAIN"] connection: connection-string: "File='/abs/path/to/infobase/';" tools: builder: DESIGNER
-
С тестами
app: id: "my-project" base-path: "/abs/path/to/project" source-set: - path: "configuration" name: main type: "CONFIGURATION" purpose: ["MAIN"] - path: "tests" name: tests type: "EXTENSION" purpose: ["TESTS"] connection: connection-string: "File='/abs/path/to/infobase/';" user: "Администратор" password: "password123" platform-version: "8.3.24.1234" tools: builder: DESIGNER
-
Серверная ИБ + IBCMD
app: id: "auth-project" base-path: "/abs/path/to/project" source-set: - path: "configuration" name: main type: "CONFIGURATION" purpose: ["MAIN"] connection: connection-string: "Srvr='server';Ref='infobase';" user: "Tester" password: "secret" tools: builder: IBCMD
-
EDT проект с автозапуском EDT CLI
app: id: "edt-project" format: EDT base-path: "/abs/path/to/edt-project" source-set: - path: "fixtures/demo-configuration" name: configuration type: "CONFIGURATION" purpose: ["TESTS"] - path: "exts/yaxunit" name: yaxunit type: "EXTENSION" purpose: ["MAIN", "YAXUNIT"] - path: "tests" name: tests type: "EXTENSION" purpose: ["TESTS"] connection: connection-string: "File='/abs/path/to/infobase/';" platform-version: "8.3.22.1709" tools: builder: DESIGNER edt-cli: auto-start: true working-directory: "/abs/path/to/edt-workspace" startup-timeout-ms: 300000 command-timeout-ms: 600000 ready-check-timeout-ms: 5000
- Существование и читаемость
base-path. - Непустой
source-set, уникальные пути, наличиеCONFIGURATION. - Существование путей
source-setотносительноbase-path. - Корректность строки подключения (наличие
=). - Формат версии платформы, если указана:
x[.x]+(например,8.3.22.1709). - Допустимость значений перечислений (
format,type,purpose,builder). - Корректность элементов
source-set: путь относительный, без..; имя без разделителей путей.
- «Base path does not exist» — проверьте абсолютный путь в
app.base-path. - «Source set path does not exist» — путь в
source-setне найден относительноbase-path. - «Connection string must contain '=' character» — исправьте
connection-string. - «Invalid builder type» — используйте
DESIGNERилиIBCMDвapp.tools.builder. tools-propertiesвместоtools— используйте корректный ключapp.tools.- «Invalid project format» — используйте
DESIGNERилиEDTвapp.format. - «Source set path must be relative / cannot contain '..'» — укажите относительный путь без
... - «Source set name cannot contain path separators» — имя не должно содержать
/или\.
Укажите путь к файлу настроек через переменную окружения и запустите сервер:
export SPRING_CONFIG_IMPORT=/abs/path/to/your/application.yml
export SPRING_PROFILES_ACTIVE=mcp
java -jar /abs/path/to/mcp-yaxunit-runner.jar mcpapp:
id: string? # опционально
format: DESIGNER|EDT # опционально (по умолчанию DESIGNER)
base-path: string # обязателен, абсолютный путь
source-set: # обязателен, >=1 элемент с type: CONFIGURATION
- path: string # относительный путь от base-path
name: string # уникальное имя
type: CONFIGURATION|EXTENSION
purpose: [ MAIN | TESTS | YAXUNIT ]
connection:
connection-string: string # обязателен
user: string? # опционально
password: string? # опционально
tools:
builder: DESIGNER|IBCMD # обязателен
edt-work-space: string? # опционально (рабочая папка EDT, при необходимости)
edt-cli: # опционально, для EDT
auto-start: boolean # по умолчанию false
version: string # по умолчанию "latest" (минимум EDT 2025.1)
interactive-mode: boolean # по умолчанию true
working-directory: string? # рабочая папка EDT workspace
startup-timeout-ms: number # по умолчанию 30000
command-timeout-ms: number # по умолчанию 300000
ready-check-timeout-ms: number # по умолчанию 5000
platform-version: string? # опционально, формат x[.x]+ (например, 8.3.22.1709)