mirror of
https://github.com/firstBitMarksistskaya/jenkins-lib.git
synced 2024-11-24 08:52:14 +02:00
Перенос флагов использования в отдельный объект в настройках
This commit is contained in:
parent
80084fdcf2
commit
019c58c4c8
@ -4,14 +4,16 @@
|
||||
"storagePath": "UNKNOWN_ID",
|
||||
"storage": "UNKNOWN_ID"
|
||||
},
|
||||
"stages": {
|
||||
"sonarQube": false,
|
||||
"syntaxCheck": false
|
||||
},
|
||||
"sonarqube": {
|
||||
"enabled": false,
|
||||
"sonarQubeInstallation": "",
|
||||
"useSonarScannerFromPath": true,
|
||||
"sonarScannerToolName": "sonar-scanner"
|
||||
},
|
||||
"syntaxCheck": {
|
||||
"enabled": false,
|
||||
"groupErrorsByMetadata": true,
|
||||
"pathToJUnitReport": "build/out/jUnit/syntax.xml",
|
||||
"checkModes": [
|
||||
|
@ -21,15 +21,26 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"stages" : {
|
||||
"type" : "object",
|
||||
"id" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:StageFlags",
|
||||
"description" : "Включение этапов сборок",
|
||||
"properties" : {
|
||||
"sonarQube" : {
|
||||
"type" : "boolean",
|
||||
"description" : "Анализ SonarQube включен"
|
||||
},
|
||||
"syntaxCheck" : {
|
||||
"type" : "boolean",
|
||||
"description" : "Синтаксический контроль включен"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sonarqube" : {
|
||||
"type" : "object",
|
||||
"id" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:SonarQubeOptions",
|
||||
"description" : "Настройки анализа SonarQube",
|
||||
"properties" : {
|
||||
"enabled" : {
|
||||
"type" : "boolean",
|
||||
"description" : "Анализ SonarQube включен"
|
||||
},
|
||||
"sonarQubeInstallation" : {
|
||||
"type" : "string",
|
||||
"description" : "Имя настроенного SonarQube-сервера (SonarQube installations).\nЕсли настроен только один сервер, то может быть оставлено пустым."
|
||||
@ -49,10 +60,6 @@
|
||||
"id" : "urn:jsonschema:ru:pulsar:jenkins:library:configuration:SyntaxCheckOptions",
|
||||
"description" : "Настройки синтаксического контроля",
|
||||
"properties" : {
|
||||
"enabled" : {
|
||||
"type" : "boolean",
|
||||
"description" : "Синтаксический контроль включен"
|
||||
},
|
||||
"pathToJUnitReport" : {
|
||||
"type" : "string",
|
||||
"description" : "Путь к файлу отчета jUnit"
|
||||
|
@ -34,6 +34,7 @@ class ConfigurationReader implements Serializable {
|
||||
) {
|
||||
def nonMergeableSettings = Arrays.asList(
|
||||
"secrets",
|
||||
"stageFlags",
|
||||
"sonarQubeOptions",
|
||||
"syntaxCheckOptions"
|
||||
).toSet()
|
||||
|
@ -10,6 +10,10 @@ class JobConfiguration implements Serializable {
|
||||
@JsonPropertyDescription("Версия платформы 1С:Предприятие в формате 8.3.хх.хххх.")
|
||||
String v8version
|
||||
|
||||
@JsonProperty("stages")
|
||||
@JsonPropertyDescription("Включение этапов сборок")
|
||||
StageFlags stageFlags;
|
||||
|
||||
@JsonPropertyDescription("Идентификаторы сохраненных секретов")
|
||||
Secrets secrets;
|
||||
|
||||
@ -26,6 +30,7 @@ class JobConfiguration implements Serializable {
|
||||
String toString() {
|
||||
return "JobConfiguration{" +
|
||||
"v8version='" + v8version + '\'' +
|
||||
", stageFlags=" + stageFlags +
|
||||
", secrets=" + secrets +
|
||||
", sonarQubeOptions=" + sonarQubeOptions +
|
||||
", syntaxCheckOptions=" + syntaxCheckOptions +
|
||||
|
@ -7,9 +7,6 @@ import com.fasterxml.jackson.annotation.JsonPropertyDescription
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
class SonarQubeOptions implements Serializable {
|
||||
|
||||
@JsonPropertyDescription("Анализ SonarQube включен")
|
||||
boolean enabled
|
||||
|
||||
@JsonPropertyDescription(
|
||||
"Имя настроенного SonarQube-сервера (SonarQube installations).\nЕсли настроен только один сервер, то может быть оставлено пустым."
|
||||
)
|
||||
@ -27,8 +24,7 @@ class SonarQubeOptions implements Serializable {
|
||||
@NonCPS
|
||||
String toString() {
|
||||
return "SonarQubeOptions{" +
|
||||
"enabled=" + enabled +
|
||||
", useSonarScannerFromPath=" + useSonarScannerFromPath +
|
||||
"useSonarScannerFromPath=" + useSonarScannerFromPath +
|
||||
", sonarScannerToolName='" + sonarScannerToolName + '\'' +
|
||||
", sonarQubeInstallation='" + sonarQubeInstallation + '\'' +
|
||||
'}';
|
||||
|
@ -0,0 +1,23 @@
|
||||
package ru.pulsar.jenkins.library.configuration
|
||||
|
||||
import com.cloudbees.groovy.cps.NonCPS
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription
|
||||
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
class StageFlags implements Serializable {
|
||||
@JsonPropertyDescription("Анализ SonarQube включен")
|
||||
boolean sonarQube
|
||||
|
||||
@JsonPropertyDescription("Синтаксический контроль включен")
|
||||
boolean syntaxCheck
|
||||
|
||||
@Override
|
||||
@NonCPS
|
||||
String toString() {
|
||||
return "StageFlags{" +
|
||||
"sonarQube=" + sonarQube +
|
||||
", syntaxCheck=" + syntaxCheck +
|
||||
'}';
|
||||
}
|
||||
}
|
@ -7,9 +7,6 @@ import com.fasterxml.jackson.annotation.JsonPropertyDescription
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
class SyntaxCheckOptions implements Serializable {
|
||||
|
||||
@JsonPropertyDescription("Синтаксический контроль включен")
|
||||
boolean enabled
|
||||
|
||||
@JsonPropertyDescription("Путь к файлу отчета jUnit")
|
||||
String pathToJUnitReport
|
||||
|
||||
@ -23,8 +20,7 @@ class SyntaxCheckOptions implements Serializable {
|
||||
@NonCPS
|
||||
String toString() {
|
||||
return "SyntaxCheckOptions{" +
|
||||
"enabled=" + enabled +
|
||||
", pathToJUnitReport='" + pathToJUnitReport + '\'' +
|
||||
"pathToJUnitReport='" + pathToJUnitReport + '\'' +
|
||||
", groupErrorsByMetadata=" + groupErrorsByMetadata +
|
||||
", checkModes=" + checkModes +
|
||||
'}';
|
||||
|
@ -21,7 +21,7 @@ class SonarScanner implements Serializable {
|
||||
|
||||
Logger.printLocation()
|
||||
|
||||
if (!config.sonarQubeOptions.enabled) {
|
||||
if (!config.stageFlags.sonarQube) {
|
||||
steps.echo("SonarQube step is disabled")
|
||||
return
|
||||
}
|
||||
|
@ -3,8 +3,10 @@
|
||||
"secrets": {
|
||||
"storage": "1234"
|
||||
},
|
||||
"stages": {
|
||||
"syntaxCheck": true
|
||||
},
|
||||
"syntaxCheck": {
|
||||
"enabled": true,
|
||||
"checkModes": ["-ThinClient"]
|
||||
}
|
||||
}
|
@ -7,12 +7,13 @@ def call(JobConfiguration config) {
|
||||
|
||||
printLocation()
|
||||
|
||||
def options = config.syntaxCheckOptions
|
||||
if (!options.enabled) {
|
||||
if (!config.stageFlags.syntaxCheck) {
|
||||
echo("Syntax-check step is disabled")
|
||||
return
|
||||
}
|
||||
|
||||
def options = config.syntaxCheckOptions
|
||||
|
||||
installLocalDependencies()
|
||||
|
||||
unzipInfobase()
|
||||
|
Loading…
Reference in New Issue
Block a user