2

从网站https://wiki.eclipse.org/Tycho/Target_Platform,我推断如下:

  • 如果 'repositories' 部分包含一个 p2 存储库,那么就 Tycho 而言,该存储库中的所有内容都自动被视为目标平台的一部分。
  • 如果引用了目标定义文件,那么就 tycho 而言,该目标定义文件中的所有内容都被视为目标平台的一部分。

假设我在“存储库”下有一个存储库,该存储库指向http://download.eclipse.org/releases/indigo,就像示例中一样。此外,我声明了一个指向http://download.eclipse.org/releases/helios的目标定义文件。

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

问题:Tycho 会使用 Indigo 或 Helios 版本构建吗?

4

1 回答 1

3

目标平台将包含来自 Indigo 和 Helios 的内容。引用目标平台 wiki 页面

在多个目标平台配置方法组合的情况下,目标平台包含通过每个方法定义的内容的联合。

因此,对于依赖关系解析,Tycho 可以使用 Indigo 捆绑包或 Helios 捆绑包,或者它们的混合。

该解决方案基于找到满足要求的有效解决方案的 p2 规划器。如果有多个解决方案,p2 规划器会优先考虑更高的捆绑版本和一小组传递依赖项。这些偏好经常相互矛盾,例如,当捆绑软件的更高版本具有更大的传递依赖项集时。因此,通常很难预测在这种情况下会选择哪些版本。

因此,如果您需要知道您的捆绑软件是针对什么编译的,请使用适当限制可用版本的目标平台。

于 2014-02-10T09:32:22.073 回答