aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorKevin Petit <kevin.petit@arm.com>2022-12-06 11:56:15 +0000
committerEric Kunze <eric.kunze@arm.com>2022-12-09 15:51:46 +0000
commit36f2d64e38467dc02c632951ce564a35abcaa268 (patch)
treee5f45741865b2fa248173101c35fd9cdc519d701 /tools
parentd19f7ff9bf440bfe27d92efd7bfa32a76ab706f3 (diff)
downloadspecification-36f2d64e38467dc02c632951ce564a35abcaa268.tar.gz
Use XML as source for specification version
Also update to version 0.51.0 draft Signed-off-by: Kevin Petit <kevin.petit@arm.com> Change-Id: Ib0754169b96d2f3110067e0bdc0bb3f309ec1951
Diffstat (limited to 'tools')
-rwxr-xr-xtools/genspec.py13
-rw-r--r--tools/tosa.py11
2 files changed, 24 insertions, 0 deletions
diff --git a/tools/genspec.py b/tools/genspec.py
index 33e8e35..38ae6e3 100755
--- a/tools/genspec.py
+++ b/tools/genspec.py
@@ -56,6 +56,19 @@ class TOSASpecAsciidocGenerator:
)
def generate(self, outdir):
+ os.makedirs(outdir, exist_ok=True)
+
+ # Generate version information
+ major = self.spec.version_major
+ minor = self.spec.version_minor
+ patch = self.spec.version_patch
+ with open(os.path.join(outdir, "version.adoc"), 'w') as f:
+ f.write(':tosa-version-string: {}.{}.{}'.format(major, minor, patch))
+ if self.spec.version_is_draft:
+ f.write(' draft')
+ f.write('\n')
+
+ # Generator operators
opdir = os.path.join(outdir, "operators")
os.makedirs(opdir, exist_ok=True)
for group in self.spec.operatorgroups:
diff --git a/tools/tosa.py b/tools/tosa.py
index 2c2f8ec..74d43d6 100644
--- a/tools/tosa.py
+++ b/tools/tosa.py
@@ -47,9 +47,20 @@ class TOSASpec:
self.__load_spec()
def __load_spec(self):
+ self.__load_version()
for group in self.xmlroot.findall("./operators/operatorgroup"):
self.operatorgroups.append(self.__load_operator_group(group))
+ def __load_version(self):
+ version = self.xmlroot.find("./version")
+ self.version_major = int(version.get("major"))
+ self.version_minor = int(version.get("minor"))
+ self.version_patch = int(version.get("patch"))
+ if version.get("draft") == "true":
+ self.version_is_draft = True
+ else:
+ self.version_is_draft = False
+
def __load_operator_group(self, group):
name = group.get("name")
operators = []