Skip to content

Commit 90cea8c

Browse files
authored
fix: Fix missing force-exclude flag from the configuration file (#1708)
1 parent 260f4f4 commit 90cea8c

6 files changed

Lines changed: 19 additions & 3 deletions

File tree

docs/configuration/configuration_reference.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1481,7 +1481,7 @@ Change the cache directory (default ``.robocop_cache``) using ``--cache-dir`` op
14811481

14821482
```toml
14831483
[tool.robocop]
1484-
cache-dir = cache_directory
1484+
cache-dir = "cache_directory"
14851485
```
14861486

14871487
#### ``clear-cache``

src/robocop/config/builder.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ class ConfigBuilder:
8989
def from_raw(self, cli_raw: RawConfig | None, file_raw: RawConfig | None) -> Config:
9090
sources: list[str] = resolve(cli_raw, file_raw, "sources", ["."])
9191
language: list[str] = resolve(cli_raw, file_raw, "language", [])
92+
force_exclude = resolve(cli_raw, file_raw, "force_exclude", defaults.FORCE_EXCLUDE)
9293
verbose = resolve(cli_raw, file_raw, "verbose", defaults.VERBOSE)
9394
silent = resolve(cli_raw, file_raw, "silent", defaults.SILENT)
9495

@@ -133,6 +134,7 @@ def from_raw(self, cli_raw: RawConfig | None, file_raw: RawConfig | None) -> Con
133134
formatter=formatter,
134135
cache=cache,
135136
languages=languages,
137+
force_exclude=force_exclude,
136138
verbose=verbose,
137139
silent=silent,
138140
target_version=validated_version,

src/robocop/config/defaults.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
# common
2626

27+
FORCE_EXCLUDE = False
2728
VERBOSE = False
2829
SILENT = False
2930

src/robocop/config/manager.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ def __init__(
127127
self.default_config: Config = self.get_default_config(config, sources)
128128
self.sources = sources if sources else self.default_config.sources
129129
# ignore file filters on paths passed directly
130-
self.ignore_file_filters = not force_exclude and bool(sources)
130+
self.ignore_file_filters = not (force_exclude or self.default_config.force_exclude) and bool(sources)
131131
self._paths: dict[Path, SourceFile] = {}
132132
self.resolved_paths = False
133133
self._cache: RobocopCache | None = None

src/robocop/config/schema.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,7 @@ class RawConfig:
317317
formatter: RawFormatterConfig | None = None
318318
cache: RawCacheConfig | None = None
319319
language: list[str] | None = None
320+
force_exclude: bool | None = None
320321
verbose: bool | None = None
321322
silent: bool | None = None
322323
target_version: TargetVersion | None = None
@@ -327,7 +328,16 @@ def from_dict(cls, config_dict: dict[str, Any], config_path: Path) -> RawConfig:
327328
# TODO: how target version is handled for RawConfig??
328329
config_dict = normalize_config_keys(config_dict)
329330
validate_old_config(config_dict=config_dict, config_path=config_path)
330-
config_fields = {"sources", "cache", "cache_dir", "language", "verbose", "silent", "target_version"}
331+
config_fields = {
332+
"sources",
333+
"cache",
334+
"cache_dir",
335+
"language",
336+
"force_exclude",
337+
"verbose",
338+
"silent",
339+
"target_version",
340+
}
331341
known_fields = config_fields | {"lint", "format", "extends", "skip_gitignore"}
332342
known_fields.update({config_field.name for config_field in fields(RawFileFiltersOptions)})
333343
validate_config_fields(config_dict=config_dict, known_fields=known_fields, config_path=config_path)
@@ -358,6 +368,7 @@ class Config:
358368
formatter: FormatterConfig
359369
cache: CacheConfig
360370
languages: Languages | None
371+
force_exclude: bool
361372
verbose: bool
362373
silent: bool
363374
target_version: Version

tests/documentation/test_toml_config.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,8 @@ def test_toml_config(tmp_robot_dir):
117117
continue
118118
if "GenerateDocumentation.doc_template" in config:
119119
continue
120+
if "extends" in config:
121+
continue
120122
create_config_file(config, config_path)
121123
with working_directory(tmp_robot_dir):
122124
run_cmd(check_files, config_path, config, root=tmp_robot_dir, exit_zero=True)

0 commit comments

Comments
 (0)