You've already forked jenkins-lib
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:
@@ -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) {
|
||||
|
@@ -60,6 +60,10 @@ class JobConfiguration implements Serializable {
|
||||
@JsonPropertyDescription("Настройки замеров покрытия")
|
||||
CoverageOptions coverageOptions;
|
||||
|
||||
@JsonProperty("coverage")
|
||||
@JsonPropertyDescription("Настройки замеров покрытия")
|
||||
CoverageOptions coverageOptions;
|
||||
|
||||
@JsonProperty("yaxunit")
|
||||
@JsonPropertyDescription("Настройки YAXUnit")
|
||||
YaxunitOptions yaxunitOptions
|
||||
|
@@ -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'
|
||||
|
Reference in New Issue
Block a user