diff --git a/pr_agent/algo/file_filter.py b/pr_agent/algo/file_filter.py index 79bb4d8e..93a7e74c 100644 --- a/pr_agent/algo/file_filter.py +++ b/pr_agent/algo/file_filter.py @@ -19,6 +19,13 @@ def filter_ignored(files, platform = 'github'): glob_setting = glob_setting.strip('[]').split(",") patterns += [fnmatch.translate(glob) for glob in glob_setting] + code_generators = get_settings().config.get('ignore_language_framework', []) + for cg in code_generators: + glob_patterns = get_settings().generated_code.get(cg, []) + if isinstance(glob_patterns, str): + glob_patterns = [glob_patterns] + patterns += [fnmatch.translate(glob) for glob in glob_patterns] + # compile all valid patterns compiled_patterns = [] for r in patterns: diff --git a/pr_agent/config_loader.py b/pr_agent/config_loader.py index f525d893..f19f1067 100644 --- a/pr_agent/config_loader.py +++ b/pr_agent/config_loader.py @@ -14,6 +14,7 @@ global_settings = Dynaconf( settings_files=[join(current_dir, f) for f in [ "settings/configuration.toml", "settings/ignore.toml", + "settings/generated_code_ignore.toml", "settings/language_extensions.toml", "settings/pr_reviewer_prompts.toml", "settings/pr_questions_prompts.toml", diff --git a/pr_agent/settings/generated_code_ignore.toml b/pr_agent/settings/generated_code_ignore.toml new file mode 100644 index 00000000..012d9127 --- /dev/null +++ b/pr_agent/settings/generated_code_ignore.toml @@ -0,0 +1,14 @@ +[generated_code] + +# Protocol Buffers generated code. +protobuf = [ + "**/*.pb.go", + "**/*.pb.cc", + "**/*_pb2.py" +] + +# Go generator output files. +go_gen = [ + "**/*_gen.go", + "**/*generated.go" +]