You've already forked jenkins-lib
forked from jenkins/jenkins-lib
Единый класс для парсинга версий из XML
This commit is contained in:
@@ -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
17
vars/versionParser.groovy
Normal 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) : ""
|
||||
}
|
Reference in New Issue
Block a user