uscheduler/utils/Release-Package/scriptsettings.json
2026-03-01 12:50:30 +01:00

105 lines
4.5 KiB
JSON

{
"$schema": "https://json-schema.org/draft-07/schema",
"title": "Release Package Script Settings",
"description": "Configuration file for Release-Package.ps1 script.",
"Plugins": [
{
"Name": "DotNetTest",
"Stage": "Test",
"Enabled": true,
"project": "..\\..\\src\\MaksIT.UScheduler.Tests",
"resultsDir": "..\\..\\testResults"
},
{
"Name": "QualityGate",
"Stage": "QualityGate",
"Enabled": true,
"coverageThreshold": 0,
"failOnVulnerabilities": true
},
{
"Name": "DotNetPublish",
"Stage": "Build",
"Enabled": true,
"projectFiles": [
"..\\..\\src\\MaksIT.UScheduler\\MaksIT.UScheduler.csproj",
"..\\..\\src\\MaksIT.UScheduler.ScheduleManager\\MaksIT.UScheduler.ScheduleManager.csproj"
],
"artifactsDir": "..\\..\\release",
"bundleDir": "..\\..\\release\\bundle"
},
{
"Name": "BundleCustomization",
"Stage": "Build",
"Enabled": true,
"bundleDir": "..\\..\\release\\bundle",
"scriptsPath": "..\\..\\src\\Scripts",
"launcher": {
"enabled": true,
"fileName": "Start-ScheduleManager.bat",
"targetProject": "scheduleManager"
},
"projects": {
"scheduleManagerCsprojEndsWith": "MaksIT.UScheduler.ScheduleManager.csproj",
"uschedulerCsprojEndsWith": "MaksIT.UScheduler.csproj",
"scheduleManagerAppSettingsFile": "appsettings.json",
"uschedulerAppSettingsFile": "appsettings.json",
"scheduleManagerServiceBinPath": "..\\MaksIT.UScheduler\\",
"uschedulerLogDir": "..\\..\\Logs",
"scriptsRelativeToExe": "..\\..\\Scripts"
}
},
{
"Name": "CreateArchive",
"Stage": "Build",
"Enabled": true,
"zipNamePattern": "maksit.uscheduler-{version}.zip"
},
{
"Name": "GitHub",
"Stage": "Release",
"branches": [
"main"
],
"githubToken": "GITHUB_MAKS_IT_COM",
"repository": "https://github.com/MAKS-IT-COM/uscheduler",
"releaseNotesFile": "..\\..\\CHANGELOG.md",
"releaseTitlePattern": "Release {version}"
},
{
"Name": "CleanupArtifacts",
"Stage": "Release",
"Enabled": true,
"includePatterns": [
"*"
],
"excludePatterns": [
"*.zip"
]
}
],
"_comments": {
"Plugins": {
"Name": "Plugin module file name in CorePlugins or CustomPlugins (for example, DotNetPublish -> CorePlugins/DotNetPublish.psm1).",
"Stage": "Execution phase. Supported values are Test, QualityGate, Build, and Release.",
"Enabled": "If true, the plugin is imported and Invoke-Plugin is called in the configured order.",
"branches": "Plugin-specific allowed branches. Omit to allow any branch.",
"project": "DotNetTest plugin only. Path to the test project directory, relative to the script folder.",
"resultsDir": "DotNetTest plugin only. Optional results directory path, relative to the script folder.",
"projectFiles": "DotNetPublish or another producer plugin can define the project files used for version discovery and artifact creation.",
"artifactsDir": "DotNetPublish or another producer plugin can define the artifacts output directory, relative to the script folder.",
"bundleDir": "DotNetPublish and BundleCustomization plugins can define the staged bundle directory, relative to the script folder.",
"coverageThreshold": "QualityGate plugin only. Coverage threshold percent (0 disables threshold check).",
"failOnVulnerabilities": "QualityGate plugin only. If true, fail when vulnerable packages are detected.",
"githubToken": "GitHub plugin only. Environment variable name containing the GitHub token used by gh CLI.",
"repository": "GitHub plugin only. Optional owner/repo or GitHub remote URL. Leave empty to use remote.origin.url.",
"releaseNotesFile": "GitHub plugin (or another notes consumer plugin) can define the release notes source file, relative to the script folder.",
"releaseTitlePattern": "GitHub plugin only. Release title pattern. Supports {version} placeholder.",
"zipNamePattern": "GitHub plugin only. Archive name pattern for packaged release assets. Supports {version} placeholder.",
"scriptsPath": "BundleCustomization plugin only. Scripts folder copied into the staged bundle, relative to the script folder.",
"launcher": "BundleCustomization plugin only. Optional launcher batch file settings.",
"projects": "BundleCustomization plugin only. Project-specific appsettings rewrite settings."
}
}
}