6
我使用sbtosgi plugin從sbt構建中使用bnd生成OSGi包。 sbtosgi軟件包提供用於生成軟件包的任務osgi-bundle任務。使用sbtosgi的默認配置,從sbt提示符運行osgi-bundle更新JAR以包含正確的頭文件,但運行的是clean包會生成沒有OSGi頭的JAR。在Maven的發言中,我試圖做與使用package = bundle一樣使用maven-bundle-plugin的等價物,也就是說,項目的主要工件應該是OSGi包。如何使用sbtosgi生成osgi包作爲sbt發佈任務的一部分
根據讀取sbtosgi插件的源代碼,在我看來,osgi-bundle任務會覆蓋由packageBin創建的JAR。我試圖重寫packageBin的定義,使其使用OSGi的捆綁任務而不是默認的任務:
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我不確定該從哪裏出發。任何幫助,將不勝感激。
謝謝,這個作品太棒了! – mpilquist 2012-04-18 16:04:43