从网站https://wiki.eclipse.org/Tycho/Target_Platform,我推断以下内容:
假设我在“存储库”下有一个存储库,它在示例中指向http://download.eclipse.org/releases/indigo。此外,我声明了一个指向http://download.eclipse.org/releases/helios的目标定义文件。
在Eclipse中,开发人员然后使用目标定义文件作为目标平台。对于单个插件项目中的依赖项,未定义任何版本,因为这些包的版本已由目标定义文件定义。
问题:Tycho会使用Indigo或Helios版本吗?
答案 0 :(得分:3)
目标平台将包含Indigo和Helios的内容。引用Target Platform wiki page:
如果组合了多个目标平台配置方法,则目标平台包含通过每种方法定义的内容的并集。
因此,对于依赖项解析,Tycho可以使用Indigo捆绑包,也可以使用Helios捆绑包,或者混合使用。
该解决方案基于p2规划器,该规划器找到满足要求的有效解决方案。在存在多个解决方案的情况下,p2规划器优先考虑以后的捆绑版本和一小组传递依赖性。这些偏好通常彼此矛盾,例如,当更高版本的bundle具有更大的传递依赖项集时。所以一般来说很难预测在这种情况下选择哪个版本。
因此,如果您需要知道编译捆绑包的内容,请使用适当限制可用版本的目标平台。