如何管理的OSGi建立依赖关系? [英] How can I manage OSGi build dependencies?

查看:224
本文介绍了如何管理的OSGi建立依赖关系?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们已经嵌入一个OSGi运行时(春分)到了自定义客户端 - 服务器应用程序,以方便插件的开发,到目前为止,生活还算不错。我们一直在使用Eclipse来构建由于插件内置的清单编辑器,依赖管理和导出向导。使用Eclipse构建经理通过哈德森是不是非常有利于持续集成。

We've embedded an OSGi runtime (Equinox) into out custom client-server application to facilitate plugin development and so far things are going great. We've been using Eclipse to build plugins due to the built-in manifest editor, dependency management, and export wizard. Using Eclipse to manager builds isn't very conducive to continuous integration via Hudson.

我们必须依赖于其他OSGi包OSGi包。我真的很讨厌硬code建造顺序在自定义的ANT构建。我们所做的,这是过去和它的pretty可怕。是否有任何的构建工具,可以轻松地管理OSGi的依赖关系,如果没有自动解决这些问题?是否有任何体面的例子如何呢?

We have OSGi bundles which depend on other OSGi bundles. I'd really hate to hardcode build order in a custom ANT build. We've done this is the past and it's pretty horrible. Is there any build tool that can EASILY manage OSGi dependencies, if not automatically resolve them? Are there any DECENT examples of how to this?

澄清:

生成的构建脚本只能通过Eclipse中使用。他们需要手动运行Eclipse的作品。我们也得到了其Eclipse构建不会有一些标准的目标,而我不希望修改生成的文件,因为我可能会重新生成(我知道我可以做的包括,但我想避免Eclipse的根文件中的所有合)

The generated build scripts are only usable via Eclipse. They require manually running pieces of Eclipse. We've also got some standard targets which the Eclipse build won't have, and I don't want to modify the generated file since I may regenerate (I know I can do includes, but I want to avoid the Eclipse gen file all together)

下面是我的项目布局:

/
-PluginA
-PluginB
-PluginC
.
.
.

在使用Eclipse PDE,每个插件有一个清单,但没有build.xml作为PDE确实对我来说。难以自动图形用户界面驱动的过程瓦特/哈德森。我想设置我自己的build.xml构建每个,但也有相关性,并建立秩序的问题。这些问题是由清单文件(OSGi的描述进口)驱动。例如,PluginC取决于PluginB取决于PluginA。它们必须建立正确的顺序。我知道我可以手动控制生成顺序,我正在寻找一种工具来帮助自动生成顺序依赖管理。

In using the Eclipse PDE, each plugin has a Manifest, but no build.xml as the PDE does that for me. Hard to automate a gui driven process w/ Hudson. I'd like to setup my own build.xml to build each, BUT there are dependencies and build order issues. These issues are driven by the Manifest files (which describe OSGi imports). For example, PluginC depends on PluginB which depends on PluginA. They must be built in the correct order. I realize that I can manually control the build order, I'm looking for a tool to help automate the build order dependency management.

推荐答案

收出一些老问题...

Closing out some old questions...

我们的设置不利于到Maven由于缺少网络连接和时机。我知道有离线Maven的设置,但它是所有太多给出的时间。希望我们能让使用适当的设置,当我们有时间来重组构建过程。

Our setup was not conducive to maven due to lack of network connectivity and timing. I know there are offline maven setups, but it was all too much given the time. Hopefully we'll get to use a proper setup when we've got time to reorganize the build process.

涉及蚂蚁,BND和一些自定义Ant任务的解决方案。各种捆绑依赖手工进行管理。我们已经用Ant; BND和自定义任务绑在一起这一切。自定义任务,只是确信我们BND / Eclipse项目是同步的。

The solution involved Ant, BND, and some custom ant tasks. The various bundle dependencies are manually managed. We were already using Ant; BND and custom tasks tied it all together. The custom tasks just made sure our bnd/eclipse projects were in sync.

这篇关于如何管理的OSGi建立依赖关系?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆