diff --git a/vars/sonarScanner.groovy b/vars/sonarScanner.groovy index 2b3409d..13c3585 100644 --- a/vars/sonarScanner.groovy +++ b/vars/sonarScanner.groovy @@ -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" } diff --git a/vars/versionParser.groovy b/vars/versionParser.groovy new file mode 100644 index 0000000..92f5c65 --- /dev/null +++ b/vars/versionParser.groovy @@ -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>/) +} + +def storage(versionFile = 'src/cf/VERSION') { + storageVersionText = readFile encoding: 'UTF-8', file: versionFile + return version(versionFile, /(.*)<\/VERSION>/) +} + +@NonCPS +private static String version(String text, String regexp) { + def matcher = text =~ regexp + return matcher ? matcher.group(1) : "" +} \ No newline at end of file