Eclipse plugin 具有多个Eclipse版本的目标平台-Tycho将使用哪个版本?

Eclipse plugin 具有多个Eclipse版本的目标平台-Tycho将使用哪个版本?,eclipse-plugin,eclipse-rcp,tycho,target-platform,Eclipse Plugin,Eclipse Rcp,Tycho,Target Platform,从该网站上,我推断出以下几点: 如果“存储库”部分包含p2存储库,则该存储库中的所有内容都会自动被视为Tycho所关注的目标平台的一部分 如果引用了目标定义文件,则该目标定义文件中的所有内容都将被视为tycho所关注的目标平台的一部分 假设我在“repositories”下有一个存储库,它指向示例中的“like”。此外,我声明了一个指向的目标定义文件 在Eclipse中,开发人员然后使用目标定义文件作为目标平台。对于单个插件项目中的依赖项,没有定义版本,因为捆绑包的版本已经由目标定义文件定义

从该网站上,我推断出以下几点:

  • 如果“存储库”部分包含p2存储库,则该存储库中的所有内容都会自动被视为Tycho所关注的目标平台的一部分
  • 如果引用了目标定义文件,则该目标定义文件中的所有内容都将被视为tycho所关注的目标平台的一部分
假设我在“repositories”下有一个存储库,它指向示例中的“like”。此外,我声明了一个指向的目标定义文件

在Eclipse中,开发人员然后使用目标定义文件作为目标平台。对于单个插件项目中的依赖项,没有定义版本,因为捆绑包的版本已经由目标定义文件定义

问题是:泰科会使用Indigo或Helios版本进行构建吗?

目标平台将同时包含Indigo和Helios的内容。引述:

如果组合了多个目标平台配置方法,则目标平台包含通过每个方法定义的内容的联合

因此,对于依赖项解析,Tycho可以使用Indigo捆绑包、Helios捆绑包或这些捆绑包的混合

该解决方案基于p2 planner,后者找到了满足要求的有效解决方案。如果存在多个解决方案,p2 planner会优先选择更高的捆绑包版本和一小部分可传递的依赖项。这些首选项通常相互矛盾,例如,当捆绑包的更高版本具有更大的可传递依赖项集时。因此,一般来说,很难预测在这种情况下会选择哪些版本

因此,如果您需要知道您的bundle是根据什么编译的,请使用适当限制可用版本的目标平台