1
0

Единый класс для парсинга версий из XML

This commit is contained in:
Nikita Gryzlov
2020-04-03 17:39:28 +03:00
parent 71fdcd73b4
commit f399167667
2 changed files with 18 additions and 2 deletions

View File

@@ -11,8 +11,7 @@ def call(String rootFile = 'src/cf/Configuration.xml') {
String scannerHome = tool config.sonarScannerToolName
sonarCommand = "$scannerHome/bin/sonar-scanner -Dsonar.branch.name=$env.BRANCH_NAME"
def configurationText = readFile encoding: 'UTF-8', file: rootFile
String configurationVersion = version(configurationText)
String configurationVersion = versionParser.configuration(rootFile)
if (configurationVersion) {
sonarCommand += " -Dsonar.projectVersion=$configurationVersion"
}

17
vars/versionParser.groovy Normal file
View File

@@ -0,0 +1,17 @@
import com.cloudbees.groovy.cps.NonCPS
def configuration(rootFile = 'src/cf/Configuration.xml') {
def configurationText = readFile encoding: 'UTF-8', file: rootFile
return version(configurationText, /<Version>(.*)<\/Version>/)
}
def storage(versionFile = 'src/cf/VERSION') {
storageVersionText = readFile encoding: 'UTF-8', file: versionFile
return version(versionFile, /<VERSION>(.*)<\/VERSION>/)
}
@NonCPS
private static String version(String text, String regexp) {
def matcher = text =~ regexp
return matcher ? matcher.group(1) : ""
}