Gradle,OSGi和OBR(或其他存储库?)

时间:2015-02-24 14:19:36

标签: maven gradle osgi obr

之前我一直在使用Maven和maven-bundle-plugin存档以下内容:

  • 执行mvn install时,本地maven repo会自动包含我的捆绑包+所有捆绑包
  • 本地仓库由mvn bundle:index成为OBR存储库,每个mvn install也会自动更新repository.xml。
  • 本地仓库现在可用于Karaf捆绑部署

现在,我正在寻找将一些项目迁移到Gradle,这在很多方面都非常好。我使用&org.dm.bundle'成功创建了捆绑包。插件(基本' osgi'插件不允许我自动创建服务组件)。

通过使用Gradle的maven插件,我可以gradle install在本地maven repo中安装我自己的捆绑包。然后,我可以使用bindex手动(或通过一些gradle hacking)索引回购。 但是,我的依赖项没有放入maven仓库,它们只存储在gradle缓存目录中。因此,我不能使用OBR repo在Karaf中部署。

为了找到一些好的解决方案,我一直在四处寻找,但我没有找到任何东西。

我查看了Karaf功能文件,这样我就可以直接指定mvn网址而不是依赖OBR,但我希望避免手动弄乱功能文件。

有人提到使用Nexus,但只有Nexus Pro能够从我看到的内容中支持OBR?

我也在寻找替代解决方案的建议;主要目标是我将能够在Karaf中部署我的捆绑+ deps。虽然我需要某种方法让不同的Gradle项目从一些其他项目中找到依赖项(不属于同一个多项目),但Maven根本不必使用它。

任何能让我走上正轨的想法或讨论都值得赞赏!

1 个答案:

答案 0 :(得分:2)

这可能有点晚了,但我在寻找一种从 OBR存储库中使用gradle 获取的方法时偶然发现了你的问题。

据我所知,您希望将(gradle deploy)推送到某个Maven存储库并将其用作OBR存储库。这可以通过Eclipse Package Droneeclipse/packagedrone实现。您可以使用Maven / Gradle部署进行部署,并让它生成P2,OBR和OSGi R5索引存储库。