【问题标题】:Gradle, OSGi and OBR (or other repository?)Gradle、OSGi 和 OBR(或其他存储库?)
【发布时间】:2015-04-26 05:12:57
【问题描述】:

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

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

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

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

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

我查看了 Karaf 功能文件,它允许我直接指定 mvn URL,而不是依赖 OBR,但我想避免手动弄乱功能文件。

有使用 Nexus 的参考,但据我所知只有 Nexus Pro 支持 OBR?

我也愿意就替代解决方案提出建议;主要目标是我将能够在 Karaf 中部署我的 bundles + deps。真的不必使用 Maven,尽管我需要一些方法让不同的 Gradle 项目从其他一些项目(它们不属于同一个多项目)中找到依赖关系。

感谢任何能让我走上正轨的想法或讨论!

【问题讨论】:

  • 当您执行 gradle install 时,是否按预期生成了 pom,并且 jar 是否正确复制到您的 ~/.m2
  • 完全不记得了。不再使用这个,所以不会再继续下去了。
  • 您是否正在寻找将所有依赖项放在特定文件夹中的方法?

标签: maven gradle osgi obr


【解决方案1】:

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

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

【讨论】:

  • 你用过吗? 0.12 版并不令人鼓舞。
  • 为什么不令人鼓舞?
  • 因为 0.x
  • Packagedrone 看起来很有趣,但它周围并没有太多的活动。很少发布,没有太多文档。它还活着吗?
猜你喜欢
  • 2011-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-03
  • 1970-01-01
  • 2017-12-27
相关资源
最近更新 更多