dawn-cmake/webgpu-cts/scripts/compile_src.py
dan sinclair fb5a492787 Fix inclusive language presubmit
The current presubmit has the filter inverted so it would only attempt
to match the filtered files. The file name also has to be converted to
`LocalPath` otherwise it's attempting to compare a python object to a
string and always fails to match.

Bug: dawn:1339
Change-Id: Ie7712dee60f6b9df2cb78c9feab11769f7ea1f02
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/87080
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
Auto-Submit: Dan Sinclair <dsinclair@chromium.org>
2022-04-19 22:25:45 +00:00

102 lines
2.6 KiB
Python
Executable File

#!/usr/bin/env python3
#
# Copyright 2022 The Dawn Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import os
import shutil
import sys
from dir_paths import webgpu_cts_root_dir, node_dir
from tsc_ignore_errors import run_tsc_ignore_errors
try:
old_sys_path = sys.path
sys.path = [node_dir] + sys.path
from node import RunNode
finally:
sys.path = old_sys_path
def compile_src(out_dir):
# First, clean the output directory so deleted files are pruned from old builds.
shutil.rmtree(out_dir)
run_tsc_ignore_errors([
"--project",
os.path.join(webgpu_cts_root_dir, "tsconfig.json"),
"--outDir",
out_dir,
"--noEmit",
"false",
"--noEmitOnError",
"false",
"--declaration",
"false",
"--sourceMap",
"false",
"--target",
"ES2017",
])
def compile_src_for_node(out_dir, additional_args=None, clean=True):
additional_args = additional_args or []
if clean:
# First, clean the output directory so deleted files are pruned from old builds.
shutil.rmtree(out_dir)
args = [
"--project",
os.path.join(webgpu_cts_root_dir, "node.tsconfig.json"),
"--outDir",
out_dir,
"--noEmit",
"false",
"--noEmitOnError",
"false",
"--declaration",
"false",
"--sourceMap",
"false",
"--target",
"ES6",
]
args.extend(additional_args)
run_tsc_ignore_errors(args)
if __name__ == "__main__":
if len(sys.argv) != 2:
print("Usage: compile_src.py GEN_DIR")
sys.exit(1)
gen_dir = sys.argv[1]
# Compile the CTS src.
compile_src(os.path.join(gen_dir, "src"))
compile_src_for_node(os.path.join(gen_dir, "src-node"))
# Run gen_listings.js to overwrite the placeholder src/webgpu/listings.js created
# from transpiling src/
RunNode([
os.path.join(gen_dir, "src-node", "common", "tools",
"gen_listings.js"),
"--no-validate",
os.path.join(gen_dir, "src"),
os.path.join(gen_dir, "src-node", "webgpu"),
])