构建描述符部件

构建描述符部件控制生成过程。此部件包含若干种信息:

主构建描述符

系统管理员可能要求您使用主构建描述符来指定不能被覆盖并且对于在 EGL 安装中发生的每一次生成都起作用的信息。根据主构建描述符中描述的机制,系统管理员按名称及包含部件的 EGL 构建文件来标识该部件。

如果主构建描述符中的信息对于特定生成过程不足够,或者如果未标识任何主构建描述符,则可以在生成时指定构建描述符以及包含特定于生成的部件的 EGL 构建文件。特定于生成的构建描述符(与主构建描述符相似)必须位于 EGL 构建文件的顶层。

可以根据特定于生成的构建描述符创建构建描述符链,以便处理链中的第一个构建描述符之后才处理第二个构建描述符,处理第二个之后才处理第三个,等等。当定义给定的构建描述符时,通过将值赋给构建描述符选项 nextBuildDescriptor 来开始一个链(或继续一个链)。系统管理员可以使用同一技术来根据主构建描述符创建链。将在后面对链接信息的含义进行描述。

根据“对部件的引用”中描述的规则,构建描述符引用的任何构建部件对于引用构建描述符都必须是可见的。例如,构建部件可以是链接选项部件或资源关联部件,也可以是下一个构建描述符。

选项的优先顺序

对于给定的构建描述符选项(或 Java 运行时属性),在生成时最初处理的值仍然有效,并且总体优先顺序如下所示:
  1. 主构建描述符
  2. 特定于生成的构建描述符,后跟自其扩展的链
  3. 从主构建描述符扩展的链
此方案的优点在于:
  • 系统管理员可以方便地通过设置主构建描述符来指定不更改的值。
  • 可以使用特定于生成的构建描述符来方便地指定特定于生成的值。
  • 项目经理可以通过定制一个或多个构建描述符来方便地指定一组缺省值。在大多数这样的情况下,特定于生成的构建描述符指向由项目经理开发的链中的第一个构建描述符。

    当组织开发一组必须以相似方式生成和准备的程序时,缺省选项会很有用。

  • 尽管不经常使用此功能部件,系统管理员还是可以通过建立从主构建描述符扩展的链来创建一组常规缺省值。

如果多次使用了给定的构建描述符,则只有对该构建描述符的第一次访问才有效。另外,对于特定的选项,只有第一次指定才有效。

示例

让我们假定主构建描述符包含下列(非实际)“选项 - 值”对:

  OptionX              02
  OptionY              05

在此示例中,特定于生成的构建描述符(名为 myGen)包含下列“选项 - 值”对。

  OptionA             20
  OptionB             30
  OptionC                40
  OptionX                50

如在 myGen 中所标识的那样,下一个构建描述符是 myNext01,它包含下列内容:

  OptionA                120
  OptionD             150
如在 myNext01 中所标识的那样,下一个构建描述符是 myNext02,它包含下列内容:
  OptionB                220
  OptionD                260
  OptionE                270

如在主构建描述符中所标识的那样,下一个构建描述符是 myNext99,它包含以下内容:

  OptionZ              99

EGL 按以下顺序接受选项值:

  1. 主构建描述符中的选项值:
      OptionX              02
      OptionY              05

    那些选项将覆盖所有其它选项。

  2. 特定于生成的构建描述符 myGen 中的值:
      OptionA             20
      OptionB             30
      OptionC             40

    忽略了 myGen 中的 optionX 的值。

  3. myNext01 和 myNext02 中其它选项的值:
      OptionD             150
      OptionE             270

    忽略了 myNext01 中的 optionA 的值,也忽略了 myNext02 中的 optionD 的值。

  4. myNext99 中其它选项的值:
      OptionZ              99
使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.