diff --git a/src/ru/pulsar/jenkins/library/configuration/ConfigurationReader.groovy b/src/ru/pulsar/jenkins/library/configuration/ConfigurationReader.groovy index c9587a8..a7f2c1c 100644 --- a/src/ru/pulsar/jenkins/library/configuration/ConfigurationReader.groovy +++ b/src/ru/pulsar/jenkins/library/configuration/ConfigurationReader.groovy @@ -79,6 +79,7 @@ class ConfigurationReader implements Serializable { mergeObjects(baseConfiguration, configurationToMerge, nonMergeableSettings) mergeInitInfoBaseOptions(baseConfiguration.initInfoBaseOptions, configurationToMerge.initInfoBaseOptions) mergeBddOptions(baseConfiguration.bddOptions, configurationToMerge.bddOptions) + mergeSyntaxCheckOptions(baseConfiguration.syntaxCheckOptions, configurationToMerge.syntaxCheckOptions) mergeNotificationsOptions(baseConfiguration.notificationsOptions, configurationToMerge.notificationsOptions) return baseConfiguration; @@ -126,6 +127,13 @@ class ConfigurationReader implements Serializable { baseObject.vrunnerSteps = objectToMerge.vrunnerSteps.clone() } + @NonCPS + private static void mergeSyntaxCheckOptions(SyntaxCheckOptions baseObject, SyntaxCheckOptions objectToMerge) { + if (objectToMerge == null || objectToMerge.checkModes == null) { + return + } + baseObject.checkModes = objectToMerge.checkModes.clone() + } private static void mergeNotificationsOptions(NotificationsOptions baseObject, NotificationsOptions objectToMerge) { if (objectToMerge == null) { diff --git a/test/unit/groovy/ru/pulsar/jenkins/library/configuration/ConfigurationReaderTest.java b/test/unit/groovy/ru/pulsar/jenkins/library/configuration/ConfigurationReaderTest.java index 35fd821..89c46ad 100644 --- a/test/unit/groovy/ru/pulsar/jenkins/library/configuration/ConfigurationReaderTest.java +++ b/test/unit/groovy/ru/pulsar/jenkins/library/configuration/ConfigurationReaderTest.java @@ -45,7 +45,7 @@ class ConfigurationReaderTest { .hasFieldOrPropertyWithValue("storagePath", "UNKNOWN_ID") ; - assertThat(jobConfiguration.getSyntaxCheckOptions().getCheckModes()).hasSize(1); + assertThat(jobConfiguration.getSyntaxCheckOptions().getCheckModes()).hasSize(4); assertThat(jobConfiguration.getResultsTransformOptions().getRemoveSupport()).isFalse(); assertThat(jobConfiguration.getResultsTransformOptions().getSupportLevel()).isZero(); diff --git a/test/unit/resources/jobConfiguration.json b/test/unit/resources/jobConfiguration.json index fbf6f88..b49569d 100644 --- a/test/unit/resources/jobConfiguration.json +++ b/test/unit/resources/jobConfiguration.json @@ -21,7 +21,12 @@ "branchAnalysisConfiguration": "auto" }, "syntaxCheck": { - "checkModes": ["-ThinClient"] + "checkModes": [ + "-ThickClient", + "-ThinClient", + "-WebClient", + "-Server" + ] }, "resultsTransform": { "removeSupport": false