| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #!/usr/bin/env python
- # SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
- # SPDX-License-Identifier: Apache-2.0
- import glob
- import os
- import typing as t
- from pathlib import Path
- from idf_ci_utils import IDF_PATH
- def print_list(_list: t.Iterable[t.Any], title: t.Optional[str] = None) -> None:
- if not _list:
- return
- if title:
- print(title)
- for i in _list:
- print('- ', str(i))
- if __name__ == '__main__':
- os.chdir(IDF_PATH)
- ignore_lists: t.Set[Path] = set()
- ignore_lists.update(Path('tools', 'ci').glob('**/*.txt'))
- ignore_lists.remove(Path('tools', 'ci', 'ignore_build_warnings.txt'))
- ignore_lists.remove(Path('tools', 'ci', 'check_ldgen_mapping_exceptions.txt'))
- print_list(ignore_lists, 'Ignore lists:')
- updated_files = []
- for f in ignore_lists:
- print('Checking file:', f)
- updated = False
- lines = []
- with open(f) as fr:
- for line in map(str.strip, fr.readlines()):
- if line.startswith('#'):
- lines.append(line)
- continue
- if not line:
- lines.append(line)
- continue
- glob_pattern = line
- if not list(glob.glob(glob_pattern, recursive=True)):
- print(' - No match:', glob_pattern)
- updated = True
- else:
- lines.append(glob_pattern)
- lines.append('')
- if updated:
- updated_files.append(f)
- with open(f, 'w') as fw:
- fw.write('\n'.join(lines))
- if updated_files:
- print_list(updated_files, 'Updated files:')
- exit(1)
|