From c7241ca093c2dfb974b2edd071c1a7993054394f Mon Sep 17 00:00:00 2001 From: isExample Date: Wed, 25 Jun 2025 23:39:14 +0900 Subject: [PATCH] feat: support ignore_language_framework via generated_code_ignore.toml - [generated_code] table defines default glob patterns for code-generation tools - merge generated_code globs into ignore logic --- pr_agent/algo/file_filter.py | 7 +++++++ pr_agent/config_loader.py | 1 + pr_agent/settings/generated_code_ignore.toml | 14 ++++++++++++++ 3 files changed, 22 insertions(+) create mode 100644 pr_agent/settings/generated_code_ignore.toml 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" +]