OpenHub
OpenHub
Войти

edtfindпакет

с апстрима
скачиваний: 0

Пакет лежит в основном пуле хаба: короткой формы достаточно, если хаб прописан сервером пакетов в opm.cfg.

opm install edtfind

Установка на opm младше 1.7.0

Легаси-флоу. Клиент младше 1.7.0 адрес пула в аргументе не разбирает: пул сначала прописывают сервером пакетов, и только потом ставят через него. На 1.7.0 и новее этот раздел не нужен — хватает команды из шапки страницы.

Добавьте пул сервером пакетов в opm.cfg. Порт продублирован в «Сервер»: у opm push поле «Порт» не читается.

{ "СервераПакетов": [ { "Имя": "default", "Сервер": "https://hub.1cdevelopers.ru", "Порт": 443, "ПутьНаСервере": "/api/v1/pools/default/download/", "РесурсПубликацииПакетов": "/api/v1/pools/default/push", "Приоритет": 1 } ] }

И ставьте пакет, указывая сервер:

opm install -m default edtfind

Описание

EDTfind

Библиотека OneScript для поиска каталога исполняемого файла EDT (1C:Enterprise Development Tools).

Назначение

Модуль EDTfind определяет установленные версии EDT по файлам-маркерам (1cedt.ini, 1cedt) и возвращает информацию о выбранной установке: каталог, версию и путь к 1cedtcli.

При ошибках модуль выдаёт диагностику с указанием каталогов поиска и доступных версий.

Поддерживаемые ОС

  • Windows
  • Linux

Установка

opm install edtfind

Использование

Как библиотека (API)

#Использовать edtfind

Поиск = Новый ПоискEDT();

// Найти максимальную установленную версию EDT
Результат = Поиск.НайтиИнформациюОEDT();
// Результат.КаталогEDT    — каталог установки EDT
// Результат.ВерсияEDT     — полная версия EDT (например "2024.1.2")
// Результат.ПутьКcli      — путь к 1cedtcli (пустая строка, если файл не найден)

// Найти конкретную версию EDT
Результат = Поиск.НайтиИнформациюОEDT("2024.1.2");

// Найти максимальную версию EDT в линейке 2024.1
Результат = Поиск.НайтиИнформациюОEDT("2024.1");

Как CLI-приложение

Команда find возвращает одну строку в формате <КаталогEDT>|<ВерсияEDT>|<ПутьКcli>:

# Найти максимальную установленную версию
edtfind find
# Пример вывода: C:\Users\user\AppData\Local\1C\1cedtstart\installations\1c_edt_2024.1.2|2024.1.2|C:\...\1cedtcli.exe

# Найти конкретную версию
edtfind find --edt-version 2024.1.2

# Найти максимальную версию в линейке 2024.1
edtfind find --edt-version 2024.1

# Подробный вывод (отладка)
edtfind find -v

# Версия утилиты
edtfind --version

Алгоритм работы

  1. Сбор кандидатов — сканирование стандартных каталогов установки EDT по файлам-маркерам (1cedt.ini, 1cedt).
  2. Извлечение версий — из имён каталогов установки извлекается номер версии (например, 1c_edt_2024.1.22024.1.2).
  3. Выбор версии — если задана полная версия (YYYY.M.P), выбирается точное совпадение; если задана укороченная (YYYY.M), выбирается максимальная установленная YYYY.M.*; если версия не задана — максимальная найденная.
  4. Определение пути к 1cedtcli — в каталоге установки ищется исполняемый файл 1cedtcli. Если найден — возвращается полный путь, если нет — пустая строка.
  5. Возврат результата — возвращается структура с каталогом установки, версией EDT и путём к 1cedtcli.

Каталоги поиска по умолчанию

Windows

  • %LOCALAPPDATA%\1C\1cedtstart\installations
  • C:\Program Files\1C\1CE\components

Linux

  • ~/.local/share/1C/1cedtstart/installations
  • /opt/1C/1CE/components

Диагностика ошибок

При невозможности найти EDT модуль выбрасывает исключение с сообщением:

  • Не найдено ни одной установленной версии EDT — с указанием проверенных каталогов.
  • Запрошенная версия EDT не найдена — с перечислением доступных версий.

Зависимости

  • logos — логирование
  • cli — парсинг аргументов командной строки
  • fs — работа с файловой системой
  • semver — сравнение и сортировка версий

Лицензия

MPL-2.0