v0.8.0 — автообновление движка BSL Language Server
Автообновление движка BSL Language Server из GitHub-релизов (по предложению @nixel2007, issue #8).
Что нового
Раньше локальный режим использовал жёстко зафиксированную версию BSL Language Server (1.0.4). Теперь скачиваемый (управляемый) движок может автоматически обновляться до последнего релиза.
Новая настройка Настройки → SonarQube → «Версия движка BSL LS»:
- «Последний стабильный релиз» (по умолчанию) — автоматически подтягивать последний стабильный релиз BSL Language Server с GitHub;
- «Последний релиз (включая pre-release)» — в том числе предрелизные версии;
- «Фиксированная (1.0.4)» — всегда использовать запинованную версию, без обращений к сети за обновлениями.
Проверка обновлений выполняется не чаще раза в несколько минут. Если GitHub недоступен, используется уже скачанный движок; если ничего ещё не скачано — как запасной вариант тянется зафиксированная 1.0.4. Настройка действует только для скачиваемого движка и не влияет на вариант «Указать локальный файл».
Как это сделано
Загрузчик из пакета 1c-syntax/utils изучен; напрямую как зависимость он для OSGi/Tycho-плагина не подошёл (LGPL + github-api/Jackson/commons-compress/semver4j, нет в Maven Central), поэтому подход портирован в наш EPL-код без новых зависимостей — те же нативные ассеты, каналы stable/pre-release, троттлинг и офлайн-фолбэк.
Установка/обновление
p2-архив ru.jimmo.edt.sonarq.repository из вложения — порядок в README.
Полный список изменений: v0.7.0...v0.8.0