In order to spot differences easily between generations, we keep genxml files sorted.
You can trigger the sort by running :
- $ cd src/intel/genxml; ./sort_xml.sh
+ $ cd src/intel/genxml; ./gen_sort_tags.py
gen_sort_tags.py is the script that sorts genxml files using with
the following rules :
+#!/usr/bin/env python
#encoding=utf-8
#
# Copyright © 2019 Intel Corporation
from __future__ import print_function
from collections import OrderedDict
import os
+import pathlib
import re
-import sys
import xml.etree.cElementTree as et
def get_filename(element):
f.write('/>\n')
-def main():
- if len(sys.argv) < 2:
- print("No input xml file specified")
- sys.exit(1)
-
- filename = sys.argv[1]
+def process(filename):
xml = et.parse(filename)
genxml = xml.getroot()
genxml[:] = enums + sorted_structs.values() + instructions + registers
- print('<?xml version="1.0" ?>')
- print_node(sys.stdout, 0, genxml)
+ with open(filename, 'w') as f:
+ f.write('<?xml version="1.0" ?>\n')
+ print_node(f, 0, genxml)
if __name__ == '__main__':
- main()
+ folder = pathlib.Path('.')
+ for f in folder.glob('*.xml'):
+ print('Processing {}... '.format(f), end='', flush=True)
+ process(f)
+ print('done.')