Пакет лежит в основном пуле хаба, а opm знает этот хаб по умолчанию: короткой формы достаточно.
opm install edtfindСкачанный файл ставится командой opm install -f <файл> — сеть для этого уже не нужна.
Описание
EDTfind
Библиотека OneScript для поиска каталога исполняемого файла EDT (1C:Enterprise Development Tools).
Назначение
Модуль EDTfind находит установки EDT (офлайн-установки и установки через стартер, в том числе Lite-версию), определяет их версии по файлам установки и возвращает информацию о выбранной установке: каталог, версию, путь к 1cedtcli и признак Lite-версии.
При ошибках модуль выдаёт диагностику с указанием каталогов поиска и доступных версий.
Поддерживаемые ОС
- Windows
- Linux
Установка
opm install edtfind
Использование
Как библиотека (API)
#Использовать edtfind
Поиск = Новый ПоискEDT();
// Найти максимальную установленную версию EDT
Результат = Поиск.НайтиИнформациюОEDT();
// Результат.КаталогEDT — каталог установки EDT
// Результат.ВерсияEDT — полная версия EDT (например "2024.1.2")
// Результат.ПутьКcli — путь к 1cedtcli (пустая строка, если файл не найден)
// Результат.ЭтоLite — Истина, если выбрана Lite-версия EDT
// Найти конкретную версию EDT
Результат = Поиск.НайтиИнформациюОEDT("2024.1.2");
// Найти максимальную версию EDT в линейке 2024.1
Результат = Поиск.НайтиИнформациюОEDT("2024.1");
// Если обычная и Lite-версия установлены с одинаковым номером - выбрать Lite
// (по умолчанию выбирается обычная; на выбор номера версии параметр не влияет)
Результат = Поиск.НайтиИнформациюОEDT("2026.1.3", Истина);
Как CLI-приложение
Команда find возвращает одну строку в формате <КаталогEDT>|<ВерсияEDT>|<ПутьКcli>:
# Найти максимальную установленную версию
edtfind find
# Пример вывода: C:\Users\user\AppData\Local\1C\1cedtstart\installations\1C_EDT 2026.1\1cedt|2026.1.3|C:\...\1cedtcli.exe
# Найти конкретную версию
edtfind find --edt-version 2024.1.2
# Найти максимальную версию в линейке 2024.1
edtfind find --edt-version 2024.1
# При совпадении номеров обычной и Lite-версии выбрать Lite
edtfind find --edt-version 2026.1.3 --prefer-lite
# Подробный вывод (отладка)
edtfind find -v
# Версия утилиты
edtfind --version
Алгоритм работы
- Сбор кандидатов — сканирование стандартных каталогов установки EDT по файлу-маркеру
1cedt.ini. - Проверка установки — каталог считается рабочей установкой EDT, если в нём есть
1cedt.ini,1cedt(1cedt.exeв Windows),.eclipseproductиconfiguration/config.ini— так же проверяет установки стартер EDT. - Определение версии — версия берётся из
configuration/config.ini, параметрproduct.version(например,2026.1.3). Установка безproduct.versionпропускается с предупреждением в логе. - Признак Lite-версии — установка считается Lite-версией, если в
configuration/org.eclipse.oomph.setup/installation.setupуказан код продуктаepp.package.1cedt.light. У офлайн-установок этого файла нет — они считаются обычными. - Выбор версии — если задана полная версия (
YYYY.M.P), выбирается точное совпадение; если задана укороченная (YYYY.M), выбирается максимальная установленнаяYYYY.M.*; если версия не задана — максимальная найденная (в том числе Lite-версия, если она новее обычной). - Выбор установки при совпадении номеров — если выбранной версии соответствует несколько установок, обычная версия выбирается раньше Lite-версии (параметр
ПредпочитатьLite/ флаг--prefer-liteменяет этот порядок), а офлайн-установка — раньше установки через стартер. - Определение пути к 1cedtcli — в каталоге установки ищется исполняемый файл
1cedtcli. Если найден — возвращается полный путь, если нет — пустая строка. - Возврат результата — возвращается структура с каталогом установки, версией EDT, путём к
1cedtcliи признаком Lite-версии.
Каталоги поиска по умолчанию
Windows
%LOCALAPPDATA%\1C\1cedtstart\installationsC:\Program Files\1C\1CE\components
Linux
~/.local/share/1C/1cedtstart/installations/opt/1C/1CE/components
Ограничения
- Поиск выполняется только в каталогах по умолчанию: установки стартера в каталоге, изменённом в настройках стартера, не находятся.
- Каталог установок стартера берётся из профиля пользователя, под которым запущен поиск. Если сборка выполняется под другой учётной записью, установки стартера других пользователей не видны — для серверов сборки рекомендуется офлайн-установка.
Диагностика ошибок
При невозможности найти EDT модуль выбрасывает исключение с сообщением:
- Не найдено ни одной установленной версии EDT — с указанием проверенных каталогов.
- Не найдено ни одной рабочей установки EDT — файлы-маркеры есть, но ни один каталог не прошёл проверку установки или не содержит
product.version. - Запрошенная версия EDT не найдена — с перечислением доступных версий.
Зависимости
- logos — логирование
- cli — парсинг аргументов командной строки
- fs — работа с файловой системой
- semver — сравнение и сортировка версий
Лицензия
MPL-2.0