2012-04-19 56 views
1

我有一个Tycho构建生成Xtext DSL功能的eclipse插件。我现在想制作一个可以处理DSL文件的Maven插件。问题是将DSL插件依赖的工件放入Maven插件中,因为这些不在Maven存储库中。另外,我希望Maven插件能够自动依赖DSL插件所依赖的相同工件。复制Tycho神器P2依赖关系

我认为创建一个具有依赖项的jar包是最好的方法。问题是检索DSL插件的依赖关系并将它们复制到一个目录中,以便我可以构建这个über-jar。

有没有人找到解决这个问题的方法?我的搜索只是为了解决相反的问题。作为(P2)依赖项将一个Maven依赖项导入Tycho。

+0

我在[在常规maven构建中使用来自Eclipse P2存储库的依赖关系]中找到了部分答案(http://stackoverflow.com/questions/6682028/use-dependencies-from-eclipse-p2-repository-in-a -regular-Maven的版本)。与此相关的问题是,它会拉下比实际需要的更多的文物。我想要的是类似的东西,但只有所需的工件(如在feature.xml Dependencies页面上计算)。 – 2012-04-19 08:39:00

+0

你可能想看看这个Q/A:http://stackoverflow.com/questions/22311165/handling-non-osgi-dependencies-when-integrating-maven-tycho-and-eclipse/22882100#22882100 – 2014-04-05 15:42:44

回答

2

随着包装类型eclipse-repositoryincludeAllDependencies开关设置为true,您可以让Tycho聚合您的插件及其所有传递依赖项。构建结果是一个jar包(以及一些p2元数据)的zip文件,您可以使用maven-assembly-plugin将其转换为超级jar文件。

另外需要注意的是:你不能直接在eclipse-repository中包含bundle,所以你需要通过一个特性来包含你的bundle。