Files
Qt_DesktopPet/internal/qa/config/static-checks.json
T

109 lines
4.3 KiB
JSON

{
"schemaVersion": 1,
"productionSourceRoots": [
"src"
],
"productionExtensions": [
".h",
".cpp"
],
"productionCmakeFile": "CMakeLists.txt",
"qaCmakeFile": "internal/qa/CMakeLists.txt",
"qaTestRoots": [
"internal/qa/tests"
],
"activeScanPaths": [
"CMakeLists.txt",
"main.cpp",
"src"
],
"forbiddenReferences": [
{
"name": "removed module paths",
"pattern": "src[\\\\/](?:fileops|launcher|workspace|search)[\\\\/]"
},
{
"name": "removed module types",
"pattern": "\\b(?:FileOperationManager|FileSandbox|AppLaunchManager|AppDiscovery|WorkspaceController|WorkspaceAgent|WorkspaceAgentWindow|WorkspacePanel|GlobalHotkeyManager|WebSearchManager|SearchAnswerSynthesizer)\\b"
},
{
"name": "removed intent actions",
"pattern": "\\b(?:UserIntentType|CommandDispatchAction)::(?:FileOperation|LaunchApp|Workspace|Search|UnsupportedTool)\\b"
}
],
"forbidQObjectMacro": true,
"requiredPaths": [
"README.md",
"LICENSE",
"installer/QtDesktopPet.iss",
"resources/characters/shiroko/character.json",
"resources/characters/shiroko/preview.png",
"resources/icons/app_icon.ico",
"resources/sounds/reminders/reminder_default.wav",
"installer/languages/ChineseSimplified.isl",
"installer/languages/LICENSE.txt",
"tools/package_release.ps1",
"tools/prepare_github_export.ps1"
],
"publicExportExcludedRoots": [
"docs",
"internal",
"reports"
],
"releaseIsolationFiles": [
"CMakeLists.txt",
"tools/package_release.ps1"
],
"releaseForbiddenPatterns": [
"internal/qa",
"internal\\\\qa"
],
"releaseValidation": {
"powershellParseFiles": [
"internal/qa/scripts/Invoke-StaticChecks.ps1",
"internal/qa/scripts/New-PerformanceReport.ps1",
"internal/qa/scripts/perf_sample.ps1",
"tools/package_release.ps1",
"tools/prepare_github_export.ps1"
],
"packageScript": {
"path": "tools/package_release.ps1",
"requiredPatterns": [
{ "name": "Qt deployment tool", "pattern": "windeployqt" },
{ "name": "release runtime deployment", "pattern": "--release" },
{ "name": "compiler runtime deployment", "pattern": "--compiler-runtime" },
{ "name": "MSVC app-local deployment", "pattern": "Copy-MsvcRuntime" },
{ "name": "MSVC runtime input", "pattern": "MsvcRuntimeDir" },
{ "name": "MSVC runtime validation", "pattern": "vcruntime140_1\\.dll" },
{ "name": "character resources", "pattern": "resources\\\\characters" },
{ "name": "icon resources", "pattern": "resources\\\\icons" },
{ "name": "sound resources", "pattern": "resources\\\\sounds" },
{ "name": "README", "pattern": "README\\.md" },
{ "name": "LICENSE", "pattern": "LICENSE" },
{ "name": "installer build switch", "pattern": "BuildInstaller" },
{ "name": "Inno Setup compiler", "pattern": "ISCC\\.exe" }
],
"forbiddenPatterns": [
{ "name": "internal QA copy", "pattern": "Copy-(?:Item|DirectoryFresh)[^\\r\\n]*internal[\\\\/]qa" },
{ "name": "development docs copy", "pattern": "Copy-(?:Item|DirectoryFresh)[^\\r\\n]*docs" },
{ "name": "test reports copy", "pattern": "Copy-(?:Item|DirectoryFresh)[^\\r\\n]*reports" }
]
},
"installerScript": {
"path": "installer/QtDesktopPet.iss",
"requiredPatterns": [
{ "name": "per-user install", "pattern": "PrivilegesRequired=lowest" },
{ "name": "x64 compatibility", "pattern": "ArchitecturesAllowed=x64compatible" },
{ "name": "Simplified Chinese installer", "pattern": "ChineseSimplified\\.isl" },
{ "name": "language dialog disabled", "pattern": "ShowLanguageDialog=no" },
{ "name": "unchecked startup option", "pattern": "Name:\\s*\"startup\"[^\\r\\n]*Flags:\\s*unchecked" },
{ "name": "startup registry entry", "pattern": "Software\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run" },
{ "name": "recursive package files", "pattern": "recursesubdirs\\s+createallsubdirs" },
{ "name": "uninstall data prompt", "pattern": "InitializeUninstall" },
{ "name": "optional user data cleanup", "pattern": "DeleteUserDataAfterUninstall" },
{ "name": "startup registry cleanup", "pattern": "RegDeleteValue" }
]
}
}
}