Create new Chrome devtools files for a language binding. Java and .NET need to copy previous version directory into new version directory.
(src_base, chrome_milestone)
| 125 | |
| 126 | |
| 127 | def create_new_chrome_files(src_base, chrome_milestone): |
| 128 | """Create new Chrome devtools files for a language binding. |
| 129 | |
| 130 | Java and .NET need to copy previous version directory into new version |
| 131 | directory. |
| 132 | """ |
| 133 | source_dir = root_dir / f"{src_base}/v{previous_chrome(chrome_milestone)}" |
| 134 | target_dir = root_dir / f"{src_base}/v{new_chrome(chrome_milestone)}" |
| 135 | old_dir = root_dir / f"{src_base}/v{old_chrome(chrome_milestone)}" |
| 136 | |
| 137 | if old_dir.is_dir(): |
| 138 | shutil.rmtree(old_dir) |
| 139 | |
| 140 | if source_dir.is_dir() and any(source_dir.iterdir()): |
| 141 | os.makedirs(target_dir, exist_ok=True) |
| 142 | for item in source_dir.iterdir(): |
| 143 | shutil.copy(item, target_dir) |
| 144 | |
| 145 | for file in target_dir.iterdir(): |
| 146 | replace_in_file(file, previous_chrome(chrome_milestone), new_chrome(chrome_milestone)) |
| 147 | new_filename = file.name.replace(previous_chrome(chrome_milestone), new_chrome(chrome_milestone)) |
| 148 | file.rename(target_dir / new_filename) |
| 149 | |
| 150 | |
| 151 | def replace_in_file(file_path, old_string, new_string, is_regex=False): |
no test coverage detected