scripts: Move path helper into common_codegen.py
Change-Id: I0b66a8d42aa8a6ab5205d496de3df8fc253e2a54
diff --git a/scripts/common_codegen.py b/scripts/common_codegen.py
index 4adb329..a3d95e7 100644
--- a/scripts/common_codegen.py
+++ b/scripts/common_codegen.py
@@ -20,7 +20,6 @@
import os,re,sys,string
import xml.etree.ElementTree as etree
-from generator import *
from collections import namedtuple, OrderedDict
# Copyright text prefixing all headers (list of strings).
@@ -106,3 +105,8 @@
outdent = re.sub(fake_indent, indent, string_out)
return outdent[1:]
+
+# helper to define paths relative to the repo root
+def repo_relative(path):
+ return os.path.abspath(os.path.join(os.path.dirname(__file__), '..', path))
+
diff --git a/scripts/generate_source.py b/scripts/generate_source.py
index 4b3b606..3c448ad 100755
--- a/scripts/generate_source.py
+++ b/scripts/generate_source.py
@@ -19,6 +19,7 @@
# Author: Mike Schuchardt <mikes@lunarg.com>
import argparse
+import common_codegen
import filecmp
import os
import shutil
@@ -29,10 +30,6 @@
# files to exclude from --verify check
verify_exclude = ['.clang-format']
-# helper to define paths relative to this file
-def script_relative(path):
- return os.path.abspath(os.path.join(os.path.dirname(__file__), path))
-
def main(argv):
parser = argparse.ArgumentParser(description='Generate source code for this repository')
parser.add_argument('registry', metavar='REGISTRY_PATH', help='path to the Vulkan-Headers registry directory')
@@ -41,7 +38,7 @@
group.add_argument('-v', '--verify', action='store_true', help='verify repo files match generator output')
args = parser.parse_args(argv)
- gen_cmds = [*[[script_relative('lvl_genvk.py'),
+ gen_cmds = [*[[common_codegen.repo_relative('scripts/lvl_genvk.py'),
'-registry', os.path.abspath(os.path.join(args.registry, 'vk.xml')),
'-quiet',
filename] for filename in ["chassis.cpp",
@@ -62,15 +59,15 @@
"vk_safe_struct.cpp",
"vk_safe_struct.h",
"vk_typemap_helper.h"]],
- [script_relative('vk_validation_stats.py'),
+ [common_codegen.repo_relative('scripts/vk_validation_stats.py'),
os.path.abspath(os.path.join(args.registry, 'validusage.json')),
'-export_header'],
- [script_relative('external_revision_generator.py'),
- '--rev_file', script_relative('known_good.json'),
+ [common_codegen.repo_relative('scripts/external_revision_generator.py'),
+ '--rev_file', common_codegen.repo_relative('scripts/known_good.json'),
'-s', 'SPIRV_TOOLS_COMMIT_ID',
'-o', 'spirv_tools_commit_id.h']]
- repo_dir = script_relative('../layers/generated')
+ repo_dir = common_codegen.repo_relative('layers/generated')
# get directory where generators will run
if args.verify or args.incremental:
diff --git a/scripts/vk_validation_stats.py b/scripts/vk_validation_stats.py
index f4ab2ce..e6c97da 100755
--- a/scripts/vk_validation_stats.py
+++ b/scripts/vk_validation_stats.py
@@ -21,14 +21,15 @@
# Author: Shannon McPherson <shannon@lunarg.com>
import argparse
-import os
-import sys
-import operator
-import platform
-import json
-import re
+import common_codegen
import csv
import html
+import json
+import operator
+import os
+import platform
+import re
+import sys
import time
from collections import defaultdict
@@ -47,31 +48,27 @@
dealias_khr = True
ignore_unassigned = True # These are not found in layer code unless they appear explicitly (most don't), so produce false positives
-# helper to define paths relative to this file
-def script_relative(path):
- return os.path.abspath(os.path.join(os.path.dirname(__file__), path))
-
-layer_source_files = [script_relative(path) for path in [
- '../layers/buffer_validation.cpp',
- '../layers/core_validation.cpp',
- '../layers/descriptor_sets.cpp',
- '../layers/drawdispatch.cpp',
- '../layers/parameter_validation_utils.cpp',
- '../layers/object_tracker_utils.cpp',
- '../layers/shader_validation.cpp',
- '../layers/stateless_validation.h',
- '../layers/generated/parameter_validation.cpp',
- '../layers/generated/object_tracker.cpp',
+layer_source_files = [common_codegen.repo_relative(path) for path in [
+ 'layers/buffer_validation.cpp',
+ 'layers/core_validation.cpp',
+ 'layers/descriptor_sets.cpp',
+ 'layers/drawdispatch.cpp',
+ 'layers/parameter_validation_utils.cpp',
+ 'layers/object_tracker_utils.cpp',
+ 'layers/shader_validation.cpp',
+ 'layers/stateless_validation.h',
+ 'layers/generated/parameter_validation.cpp',
+ 'layers/generated/object_tracker.cpp',
]]
-test_source_files = [script_relative(path) for path in [
- '../tests/layer_validation_tests.cpp',
- '../tests/vklayertests_buffer_image_memory_sampler.cpp',
- '../tests/vklayertests_command.cpp',
- '../tests/vklayertests_descriptor_renderpass_framebuffer.cpp',
- '../tests/vklayertests_others.cpp',
- '../tests/vklayertests_pipeline_shader.cpp',
- '../tests/vkpositivelayertests.cpp',
+test_source_files = [common_codegen.repo_relative(path) for path in [
+ 'tests/layer_validation_tests.cpp',
+ 'tests/vklayertests_buffer_image_memory_sampler.cpp',
+ 'tests/vklayertests_command.cpp',
+ 'tests/vklayertests_descriptor_renderpass_framebuffer.cpp',
+ 'tests/vklayertests_others.cpp',
+ 'tests/vklayertests_pipeline_shader.cpp',
+ 'tests/vkpositivelayertests.cpp',
]]
# This needs to be updated as new extensions roll in