From f5a5ad6328908c7d492c23ccfa53bd1b66072fc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Ke=C3=9Fler?= Date: Thu, 13 Jan 2022 20:56:09 +0100 Subject: [PATCH] implement option to prune old files in build directory --- build/build.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/build/build.py b/build/build.py index c66d64a..5214782 100644 --- a/build/build.py +++ b/build/build.py @@ -130,6 +130,18 @@ def build( for info in infos: info_dict['tex_sources'].append(info) + built_files = [info['name'] for info in info_dict['tex_sources']] + if last_build_info: + lastly_built_files = [info['name'] for info in last_build_info['tex_sources']] + else: + lastly_built_files = [] + if clean_old_files: + for file in output_dir.rglob('*'): + if str(file.relative_to(output_dir)) in lastly_built_files: + if str(file.relative_to(output_dir)) not in built_files: + print(f'[PyTeX] Removing old built file {str(file.relative_to(output_dir))}') + file.unlink() + if write_build_information: with open(output_dir / 'build_info.json', 'w') as f: json.dump(info_dict, f, indent=4)