Overriding Parent Assigned Values

Values assigned previously to a variable from a parent manifest can be overriden by any child manifest and thus taken forward.

Variable assignments are part of the preprocessing step, which means that all variables are assigned the final values prior to iteration of any filelist section. This is intended to prevent variable value aliasing problems.

For example, in the following scenario, the attribute source of destination dest is assigned the value FINAL3, as would the destination dest2. The source attribute of destination dest2 is never assigned the value FINAL2, even though it appears in the intermediate manifest import because of the nature of preprocessing requirement.

#manifest1c.yaml
exports:
    - KEY: FINAL1
imports:
    - manifest2c.yaml
    - manifest2d.yaml
fileList:
    - destination: dest
      source:
          pdk_sdk_installed_path: ${KEY}
#manifest2c.yaml
exports:
    - KEY: FINAL2
fileList:
    - destination: dest
      source:
          pdk_sdk_installed_path: ${KEY}
    - destination: dest2
      source:
          pdk_sdk_installed_path: ${KEY}
#manifest2d.yaml
exports:
    - KEY: FINAL3
fileList:
    - destination: dest
      source:
          pdk_sdk_installed_path: ${KEY}