Sequence of Manifest Overlaying

The sequence of manifest processing is dictated by the ordering specified in the import section of the parent manifest and the processing of this list follows a depth first list.

Consider the following set of manifest examples, which causes the final file attribute to have a resultant value depending on the ordering of the root most manifest (which is provided first to CopyTarget). See the result below.

#manifest0.yaml
imports:
    - manifest1a.yaml
    - manifest1b.yaml
fileList:
    - destination: /destination.txt
      source:
          pdk_sdk_installed_path: /source.txt
      perm: 644
      owner: 0
      group: 0
#manifest1a.yaml
imports:
    - manifest2a.yaml
    - manifest2b.yaml
fileList:
    - destination: /destination.txt
      source:
          pdk_sdk_installed_path: /source.txt
      perm: 644
      owner: 1000
      group: 1000
#manifest2a.yaml
fileList:
    - destination: /destination.txt
      source:
          pdk_sdk_installed_path: /source.txt
      perm: 655
      owner: 2000
      group: 1500
#manifest2b.yaml
fileList:
    - destination: /destination.txt
      source:
          pdk_sdk_installed_path: /source2.txt
      perm: 777
      group: 3000
#manifest1b.yaml
fileList:
    - destination: /destination2.txt
      source:
          pdk_sdk_installed_path: /source.txt
      perm: 644
      owner: 1000
      group: 1000