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



以前我一直在使用Maven和Maven捆绑插件来归档以下内容:

  • 当执行mvn install时,本地maven repo自动包含我的捆绑包+我的所有捆绑包的dep
  • 本地repo通过mvn bundle:index成为OBR存储库,repository.xml也随着每个mvn install自动更新
  • 本地回购现在可以用于Karaf捆绑包部署

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

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

我四处寻找了很多,试图找到一些好的解决方案,但我什么都没找到。

我看过Karaf功能文件,它允许我直接指定mvn URL,而不是依赖OBR,但我希望避免手动干扰功能文件。

有人提到使用Nexus,但据我所见,只有Nexus Pro支持OBR?

我也在寻求替代解决方案的建议;主要目标是,我将能够在卡拉夫部署我的捆绑包+dep。Maven实际上根本不需要使用,尽管我需要一些方法让不同的Gradle项目从其他一些项目中找到依赖项(这些项目不是同一个多项目的一部分)。

任何能让我走上正轨的想法或讨论都将不胜感激!

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

据我所知,您希望将(gradle deploy)推送到某个Maven存储库,并将其用作OBR存储库。这在Eclipse Package Drone、Eclipse/packagedrone中是可能的。您可以使用Maven/Gradle-deploy进行部署,并让它生成P2、OBR和OSGiR5索引存储库。

相关内容

  • 没有找到相关文章

最新更新