# SonarQube Cloud — CI-based analysis (Automatic Analysis timed out on repo size). # Keys must match Project Information page on sonarcloud.io. sonar.projectKey=VitalikPro13_HOLLOW sonar.organization=vitalikpro13 sonar.projectName=Hollow # Only code we own: app Dart, hollow_core Rust, production relay C++. # Vendored forks (packages/), cargokit (rust_builder/), platform runner glue, # and the legacy relay are deliberately out of scope. sonar.sources=lib,rust/hollow_core/src,relay-uws/src sonar.tests=test # Vendored third-party: nlohmann/json single header. # Generated Rust FRB output is excluded outright; the generated Dart # bindings (lib/src/rust/**) must stay VISIBLE to the analyzer so that # imports resolve (excluding them cascades into ~46k phantom parse # errors) — issues in them are suppressed below instead. sonar.exclusions=relay-uws/src/json.hpp,rust/hollow_core/src/frb_generated.rs sonar.issue.ignore.multicriteria=gen1,gen2,gen3 sonar.issue.ignore.multicriteria.gen1.ruleKey=* sonar.issue.ignore.multicriteria.gen1.resourceKey=lib/src/rust/** sonar.issue.ignore.multicriteria.gen2.ruleKey=* sonar.issue.ignore.multicriteria.gen2.resourceKey=lib/src/ui/chat/emoji_data.dart sonar.issue.ignore.multicriteria.gen3.ruleKey=* sonar.issue.ignore.multicriteria.gen3.resourceKey=rust/hollow_core/src/crypto/fixtures/** # Generated data tables skew the duplication metric; duplication in the # multi-node test harness is normal test scaffolding, not debt. sonar.cpd.exclusions=lib/src/rust/**,lib/src/ui/chat/emoji_data.dart,rust/hollow_core/src/node/test_harness.rs # Coverage: cargo llvm-cov lcov produced in CI. The metric is scoped to # the unit-verifiable Rust core (crypto/crdt/vault/identity — same # philosophy as the Codecov config): UI Dart is verified by widget # tests + device testing, node/storage by the multi-node harness at # BEHAVIOR level, api/ is FFI glue, relay has no C++ test infra. # Line coverage on those layers is noise, and gating on it would be too. sonar.rust.lcov.reportPaths=rust/hollow_core/lcov.info sonar.coverage.exclusions=lib/**,relay-uws/**,rust/hollow_core/src/api/**,rust/hollow_core/src/node/**,rust/hollow_core/src/storage/**,rust/hollow_core/src/archive/** # Rust: import the Clippy report produced in CI instead of letting the # scanner invoke cargo itself (Cargo.toml is not at the repo root). sonar.rust.cargo.manifestPaths=rust/hollow_core/Cargo.toml sonar.rust.clippy.enabled=false sonar.rust.clippy.reportPaths=clippy-report.json sonar.sourceEncoding=UTF-8