-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsonar-project.properties
More file actions
141 lines (117 loc) · 5.46 KB
/
Copy pathsonar-project.properties
File metadata and controls
141 lines (117 loc) · 5.46 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# SonarCloud Configuration for Python Libs
# Documentation: https://docs.sonarsource.com/sonarqube-cloud/
# =============================================================================
# Project Identification
# =============================================================================
sonar.organization=byronwilliamscpa
sonar.projectKey=ByronWilliamsCPA_python-libs
sonar.projectName=Python Libs
sonar.projectVersion=0.1.0
# =============================================================================
# Source Code Configuration
# =============================================================================
# Source directories (comma-separated)
sonar.sources=src/,packages/
# Test directories (comma-separated; SonarCloud does not support wildcards here)
sonar.tests=\
tests/,\
packages/cloudflare-api/tests/,\
packages/cloudflare-auth/tests/,\
packages/gcs-utilities/tests/,\
packages/gemini-image/tests/
# Python version
sonar.python.version=3.12
# =============================================================================
# Test Coverage Configuration
# =============================================================================
# Coverage report paths (Cobertura XML format)
# Generated by: pytest --cov=src --cov-report=xml
sonar.python.coverage.reportPaths=coverage.xml
# Branch coverage (recommended for thorough analysis)
# Enabled via pytest-cov: --cov-branch
# =============================================================================
# Exclusions
# =============================================================================
# Files to exclude from analysis
sonar.exclusions=\
**/__pycache__/**,\
**/.venv/**,\
**/.pytest_cache/**,\
**/.mypy_cache/**,\
**/.ruff_cache/**,\
**/dist/**,\
**/build/**,\
**/*.egg-info/**,\
**/node_modules/**,\
**/.git/**
# Test files to exclude from coverage
sonar.coverage.exclusions=\
**/tests/**,\
**/*_test.py,\
**/test_*.py,\
**/conftest.py
# Files to exclude from duplication detection
sonar.cpd.exclusions=\
**/tests/**,\
**/*_test.py,\
**/test_*.py
# =============================================================================
# Quality Gate & New Code Definition
# =============================================================================
# Define what constitutes "new code" for analysis
# Options: previous_version, number_of_days, reference_branch
sonar.newCode.referenceBranch=main
# =============================================================================
# Issue Filtering (Optional)
# =============================================================================
# Ignore specific rules for certain files
# Format: sonar.issue.ignore.multicriteria.<key>.ruleKey=<rule>
# sonar.issue.ignore.multicriteria.<key>.resourceKey=<pattern>
# Example: Ignore complexity warnings in __init__.py files
sonar.issue.ignore.multicriteria=e1,e2,e3
sonar.issue.ignore.multicriteria.e1.ruleKey=python:S1192
sonar.issue.ignore.multicriteria.e1.resourceKey=**/__init__.py
# Example: Ignore string duplication in test files
sonar.issue.ignore.multicriteria.e2.ruleKey=python:S1192
sonar.issue.ignore.multicriteria.e2.resourceKey=**/tests/**
# Example: Ignore too-many-arguments in test fixtures
sonar.issue.ignore.multicriteria.e3.ruleKey=python:S107
sonar.issue.ignore.multicriteria.e3.resourceKey=**/conftest.py
# =============================================================================
# Security Hotspot Exclusions for Test Files
# =============================================================================
# Test files intentionally use hardcoded IPs, HTTP URLs, etc. for testing
sonar.issue.ignore.multicriteria=e1,e2,e3,e4,e5,e6,e7
# Ignore hardcoded IP addresses in test files (S1313)
sonar.issue.ignore.multicriteria.e4.ruleKey=python:S1313
sonar.issue.ignore.multicriteria.e4.resourceKey=**/tests/**
# Ignore HTTP protocol warnings in test files (S5332)
sonar.issue.ignore.multicriteria.e5.ruleKey=python:S5332
sonar.issue.ignore.multicriteria.e5.resourceKey=**/tests/**
# Ignore hardcoded credentials in test files (S2068)
sonar.issue.ignore.multicriteria.e6.ruleKey=python:S2068
sonar.issue.ignore.multicriteria.e6.resourceKey=**/tests/**
# Ignore hardcoded secrets in test files (S6418)
sonar.issue.ignore.multicriteria.e7.ruleKey=python:S6418
sonar.issue.ignore.multicriteria.e7.resourceKey=**/tests/**
# =============================================================================
# Additional Linter Reports (Optional)
# =============================================================================
# If using external linters, specify report paths
# sonar.python.pylint.reportPaths=pylint-report.txt
# sonar.python.bandit.reportPaths=bandit-report.json
# sonar.python.mypy.reportPaths=mypy-report.txt
# =============================================================================
# Performance & Debugging
# =============================================================================
# Enable verbose logging for debugging (set to false in production)
# sonar.verbose=false
# Scanner timeout (seconds)
# sonar.scanner.socketTimeout=300
# =============================================================================
# Links (displayed in SonarCloud UI)
# =============================================================================
sonar.links.homepage=https://github.com/ByronWilliamsCPA/python-libs
sonar.links.ci=https://github.com/ByronWilliamsCPA/python-libs/actions
sonar.links.issue=https://github.com/ByronWilliamsCPA/python-libs/issues
sonar.links.scm=https://github.com/ByronWilliamsCPA/python-libs