diff --git a/resources/globalConfiguration.json b/resources/globalConfiguration.json index 0783472c..5e4399c5 100644 --- a/resources/globalConfiguration.json +++ b/resources/globalConfiguration.json @@ -44,7 +44,7 @@ "runMigration": true, "additionalInitializationSteps": [], "templateDBPath": "", - "vrunnerSettings": "", + "vrunnerSettings": "./tools/vrunner.json", "extensions": [] }, "bdd": { diff --git a/src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy b/src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy index 6570c079..fa947828 100644 --- a/src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy +++ b/src/ru/pulsar/jenkins/library/configuration/InitInfoBaseOptions.groovy @@ -80,4 +80,8 @@ class InitInfoBaseOptions implements Serializable { ", extensions=" + extensions + '}' } + + boolean templateDBLoaded() { + return templateDBPath != null && !templateDBPath.isEmpty() + } } diff --git a/src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy b/src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy index 8e9ba36f..0d8b8c58 100644 --- a/src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy +++ b/src/ru/pulsar/jenkins/library/steps/InitFromFiles.groovy @@ -9,7 +9,7 @@ import ru.pulsar.jenkins.library.utils.VRunner class InitFromFiles implements Serializable { - private final JobConfiguration config; + private final JobConfiguration config InitFromFiles(JobConfiguration config) { this.config = config @@ -28,26 +28,26 @@ class InitFromFiles implements Serializable { Logger.println("Распаковка файлов") - String srcDir; + String srcDir if (config.sourceFormat == SourceFormat.EDT) { - def env = steps.env(); + def env = steps.env() srcDir = "$env.WORKSPACE/$EdtToDesignerFormatTransformation.CONFIGURATION_DIR" steps.unstash(EdtToDesignerFormatTransformation.CONFIGURATION_ZIP_STASH) steps.unzip(srcDir, EdtToDesignerFormatTransformation.CONFIGURATION_ZIP) } else { - srcDir = config.srcDir; + srcDir = config.srcDir } Logger.println("Выполнение загрузки конфигурации из файлов") - String vrunnerPath = VRunner.getVRunnerPath(); + String vrunnerPath = VRunner.getVRunnerPath() def command = "$vrunnerPath update-dev --src $srcDir --ibconnection \"/F./build/ib\"" def options = config.initInfoBaseOptions String vrunnerSettings = options.vrunnerSettings - if (vrunnerSettings != '' && steps.fileExists(vrunnerSettings)) { + if (options.templateDBLoaded() && steps.fileExists(vrunnerSettings)) { command += " --settings $vrunnerSettings" } diff --git a/src/ru/pulsar/jenkins/library/steps/InitFromStorage.groovy b/src/ru/pulsar/jenkins/library/steps/InitFromStorage.groovy index fbd04c10..f944c5a9 100644 --- a/src/ru/pulsar/jenkins/library/steps/InitFromStorage.groovy +++ b/src/ru/pulsar/jenkins/library/steps/InitFromStorage.groovy @@ -60,7 +60,7 @@ class InitFromStorage implements Serializable { def options = config.initInfoBaseOptions String vrunnerSettings = options.vrunnerSettings - if (vrunnerSettings != '' && steps.fileExists(vrunnerSettings)) { + if (options.templateDBLoaded() && steps.fileExists(vrunnerSettings)) { command += " --settings $vrunnerSettings" } diff --git a/src/ru/pulsar/jenkins/library/steps/InitInfoBase.groovy b/src/ru/pulsar/jenkins/library/steps/InitInfoBase.groovy index c1e36d07..92457dca 100644 --- a/src/ru/pulsar/jenkins/library/steps/InitInfoBase.groovy +++ b/src/ru/pulsar/jenkins/library/steps/InitInfoBase.groovy @@ -9,7 +9,7 @@ import ru.pulsar.jenkins.library.utils.VRunner class InitInfoBase implements Serializable { - private final JobConfiguration config; + private final JobConfiguration config InitInfoBase(JobConfiguration config) { this.config = config @@ -30,7 +30,15 @@ class InitInfoBase implements Serializable { List logosConfig = ["LOGOS_CONFIG=$config.logosConfig"] steps.withEnv(logosConfig) { - String vrunnerPath = VRunner.getVRunnerPath(); + String vrunnerPath = VRunner.getVRunnerPath() + + // Нужны ли настройки vrunner + def options = config.initInfoBaseOptions + String settingsIncrement = '' + String vrunnerSettings = options.vrunnerSettings + if (options.templateDBLoaded() && steps.fileExists(vrunnerSettings)) { + settingsIncrement = " --settings $vrunnerSettings" + } if (config.initInfoBaseOptions.runMigration) { Logger.println("Запуск миграции ИБ") @@ -40,16 +48,10 @@ class InitInfoBase implements Serializable { if (steps.isUnix()) { executeParameter = '\\' + executeParameter } - command += executeParameter; + command += executeParameter command += ' --ibconnection "/F./build/ib"' - def options = config.initInfoBaseOptions - - String vrunnerSettings = options.vrunnerSettings - if (vrunnerSettings != '' && steps.fileExists(vrunnerSettings)) { - command += " --settings $vrunnerSettings" - } - + command += settingsIncrement // Запуск миграции steps.catchError { VRunner.exec(command) @@ -69,7 +71,7 @@ class InitInfoBase implements Serializable { } else { config.initInfoBaseOptions.additionalInitializationSteps.each { Logger.println("Первичная инициализация командой ${it}") - VRunner.exec("$vrunnerPath ${it} --ibconnection \"/F./build/ib\"") + VRunner.exec("$vrunnerPath ${it} --ibconnection \"/F./build/ib\"${settingsIncrement}") } } }