diff --git a/.github/windowdesc-ini-key.py b/.github/windowdesc-ini-key.py deleted file mode 100644 index 36b20f9948..0000000000 --- a/.github/windowdesc-ini-key.py +++ /dev/null @@ -1,50 +0,0 @@ -""" -Script to scan the OpenTTD source-tree for ini_key issues in WindowDesc entries. -""" - -import glob -import os -import re -import sys - - -def scan_source_files(path, ini_keys=None): - if ini_keys is None: - ini_keys = set() - - errors = [] - - for new_path in glob.glob(f"{path}/*.cpp"): - if os.path.isdir(new_path): - errors.append(scan_source_files(new_path, ini_keys)) - continue - - with open(new_path) as fp: - output = fp.read() - - for (name, ini_key, widgets) in re.findall(r"^static WindowDesc ([a-zA-Z0-9_]*).*?, (?:\"(.*?)\")?.*?,(?:\s+.*?,){6}\s+[^\s]+\((.*?)\)", output, re.S|re.M): - if ini_key: - if ini_key in ini_keys: - errors.append(f"{new_path}: {name} ini_key is a duplicate") - ini_keys.add(ini_key) - widget = re.findall("static const (?:struct )?NWidgetPart " + widgets + ".*?(?:WWT_(DEFSIZE|STICKY)BOX.*?)?;", output, re.S)[0] - if widget and not ini_key: - errors.append(f"{new_path}: {name} has WWT_DEFSIZEBOX/WWT_STICKYBOX without ini_key") - if ini_key and not widget: - errors.append(f"{new_path}: {name} has ini_key without WWT_DEFSIZEBOX/WWT_STICKYBOX") - - return errors - - -def main(): - errors = scan_source_files("src") - - if errors: - print("\n".join(errors)) - sys.exit(1) - - print("OK") - - -if __name__ == "__main__": - main() diff --git a/.github/workflows/windowdesc-ini-key.yml b/.github/workflows/windowdesc-ini-key.yml deleted file mode 100644 index b69172d5af..0000000000 --- a/.github/workflows/windowdesc-ini-key.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: WindowDesc ini_key - -on: - pull_request: - branches: - - master - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} - -jobs: - windowdesc-ini-key: - name: WindowDesc ini_key issues - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Check for ini_key issues in WindowDesc entries - shell: bash - run: | - python3 .github/windowdesc-ini-key.py