| #!/usr/bin/env python3 |
| |
| import glob |
| import os |
| import shutil |
| import subprocess |
| |
| LOCAL_FILES = [ |
| "LICENSE.md", |
| "README.md", |
| |
| # Currently doesn't pass the stability checker in wpt. |
| "limits.any.js", |
| ] |
| |
| |
| def copy_from_local(local_dir, out): |
| for local_file in LOCAL_FILES: |
| shutil.copy(os.path.join(local_dir, local_file), out) |
| |
| |
| def copy_from_upstream(upstream, out): |
| upstream = os.path.abspath(upstream) |
| paths = glob.glob(os.path.join(upstream, "**", "*.js"), recursive=True) |
| for path in paths: |
| relpath = os.path.relpath(path, upstream) |
| |
| # Tests for proposals that have not merged here yet. |
| if ".tentative" in relpath: |
| continue |
| |
| # Requires `fetch()` and various wpt infrastructure. |
| if os.path.basename(relpath) == "idlharness.any.js": |
| continue |
| |
| dest = os.path.join(out, relpath) |
| os.makedirs(os.path.dirname(dest), exist_ok=True) |
| shutil.copy(path, dest) |
| |
| |
| def main(upstream): |
| local_dir = os.path.join("test", "js-api") |
| scratch = os.path.join("test", "js-api-temp") |
| os.mkdir(scratch) |
| copy_from_local(local_dir, scratch) |
| copy_from_upstream(os.path.join(upstream, "wasm", "jsapi"), scratch) |
| shutil.rmtree(local_dir) |
| os.rename(scratch, local_dir) |
| subprocess.check_call(["git", "add", local_dir]) |
| |
| |
| if __name__ == "__main__": |
| import sys |
| main(*sys.argv[1:]) |