-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsonar-project.properties
More file actions
27 lines (22 loc) · 1.18 KB
/
Copy pathsonar-project.properties
File metadata and controls
27 lines (22 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# sonar.token -> set via SONAR_TOKEN env var
# sonar.host.url -> set via SONAR_HOST_URL env var
sonar.organization=${env.SONAR_ORGANIZATION}
sonar.projectKey=${env.SONAR_PROJECT_KEY}
sonar.sources=src
sonar.tests=tests
sonar.exclusions=\
.venv/**,.vscode/**,.devcontainer/**,.claude/**,.pytest_cache/**,.scannerwork/**,\
reports/**,logs/**,docs/**,\
**/*.json,**/*.md,**/*.txt,**/*.lock,**/*.env,\
**/__pycache__/**,**/*.pyc,**/*.so,**/*.whl
sonar.cpd.exclusions=tests/**
# gui.py is the PySide6 widget/event-loop shell. It cannot run under the headless CI suite (no
# display, and the [gui] extra is deliberately not installed there), so it is omitted from
# coverage.xml via [tool.coverage.run].omit. Without this matching exclusion, SonarQube would see
# the source file with no coverage data and count every line as uncovered, sinking new-code
# coverage whenever the GUI changes. Its testable logic lives in gui_state.py, covered normally.
sonar.coverage.exclusions=src/photo_tagger/gui.py
sonar.python.version=3.14
sonar.python.bandit.reportPaths=reports/bandit_report.json
sonar.python.coverage.reportPaths=reports/coverage.xml
sonar.python.ruff.reportPaths=reports/ruff_report.json