Я использую плагин sbtosgiдля создания пакета OSGi из сборки sbt с помощью bnd. Пакет sbtosgi предоставляет задачу osgi-bundleдля создания пакета.Используя конфигурацию по умолчанию для sbtosgi, запуск osgi-bundleиз приглашения sbt обновляет JAR, чтобы включить правильные заголовки, но запуск clean packageприводит к JAR без заголовков OSGi. Говоря языком Maven, я пытаюсь сделать эквивалент использования maven-bundle-plugin с package = bundle, т. е. основным артефактом проекта должен быть пакет OSGi.
Основываясь на исходном коде плагина sbtosgi, мне кажется, что задача osgi-bundle перезаписывает JAR, созданный packageBin. Я попытался переопределить определение packageBin так, чтобы оно использовало задачу osgi-bundle вместо задачи по умолчанию:
packageBin in Compile <<= OsgiKeys.bundle
Однако это привело к циклической ссылке:
[error] Cyclic reference involving
[error] {file:project/*:osgi-bundle
[error] {file:project/compile:full-classpath
[error] {file:project/compile:exported-products
[error] {file:project/compile:package-bin
Я новичок в SBT и не знаю, куда обращаться. перейти отсюда. Любая помощь будет оценена по достоинству.