1
0
mirror of https://github.com/firstBitMarksistskaya/jenkins-lib.git synced 2025-08-25 20:09:25 +02:00

add coverage

This commit is contained in:
Dima
2023-06-03 08:24:19 +03:00
parent d653ea01dd
commit cc0c3fbf9e
3 changed files with 42 additions and 0 deletions

View File

@@ -82,6 +82,7 @@ class ConfigurationReader implements Serializable {
mergeObjects(baseConfiguration, configurationToMerge, nonMergeableSettings)
mergeInitInfoBaseOptions(baseConfiguration.initInfoBaseOptions, configurationToMerge.initInfoBaseOptions)
mergeBddOptions(baseConfiguration.bddOptions, configurationToMerge.bddOptions)
mergeCoverageOptions(baseConfiguration.coverageOptions, configurationToMerge.coverageOptions)
mergeSyntaxCheckOptions(baseConfiguration.syntaxCheckOptions, configurationToMerge.syntaxCheckOptions)
mergeNotificationsOptions(baseConfiguration.notificationsOptions, configurationToMerge.notificationsOptions)
@@ -148,6 +149,22 @@ class ConfigurationReader implements Serializable {
baseObject.vrunnerSteps = objectToMerge.vrunnerSteps.clone()
}
@NonCPS
private static void mergeCoverageOptions(CoverageOptions baseObject, CoverageOptions objectToMerge) {
if (objectToMerge == null) {
return
}
if (objectToMerge.dbgsPath != null) {
baseObject.dbgsPath = objectToMerge.dbgsPath
}
if (objectToMerge.coverage41CPath != null) {
baseObject.coverage41CPath = objectToMerge.coverage41CPath
}
}
@NonCPS
private static void mergeSyntaxCheckOptions(SyntaxCheckOptions baseObject, SyntaxCheckOptions objectToMerge) {
if (objectToMerge == null || objectToMerge.checkModes == null) {

View File

@@ -60,6 +60,10 @@ class JobConfiguration implements Serializable {
@JsonPropertyDescription("Настройки замеров покрытия")
CoverageOptions coverageOptions;
@JsonProperty("coverage")
@JsonPropertyDescription("Настройки замеров покрытия")
CoverageOptions coverageOptions;
@JsonProperty("yaxunit")
@JsonPropertyDescription("Настройки YAXUnit")
YaxunitOptions yaxunitOptions

View File

@@ -98,6 +98,27 @@ class SonarScanner implements Serializable {
}
if (config.stageFlags.bdd && config.bddOptions.coverage
|| config.stageFlags.smoke && config.smokeTestOptions.coverage) {
StringJoiner coveragePathsConstructor = new StringJoiner(",")
if (config.stageFlags.bdd && config.bddOptions.coverage) {
steps.unstash("bdd-coverage")
coveragePathsConstructor.add("build/out/bdd-coverage.xml")
}
if (config.stageFlags.smoke && config.smokeTestOptions.coverage) {
steps.unstash("smoketest-coverage")
coveragePathsConstructor.add("build/out/smoketest-coverage.xml")
}
String coveragePaths = coveragePathsConstructor.toString()
sonarCommand += " -Dsonar.coverageReportPaths=${coveragePaths}"
}
if (config.sonarQubeOptions.waitForQualityGate) {
def timeoutInSeconds = config.timeoutOptions.sonarqube * 60
sonarCommand += ' -Dsonar.qualitygate.wait=true'