1
0

Попытка выноса sonar-scanner в отдельный класс

This commit is contained in:
Nikita Gryzlov
2020-04-15 18:23:59 +03:00
parent f65a2b2d59
commit 2d29485f7c
3 changed files with 62 additions and 28 deletions

View File

@@ -1,29 +1,10 @@
import com.cloudbees.groovy.cps.NonCPS
import groovy.transform.Field
import ru.pulsar.jenkins.library.configuration.JobConfiguration
import ru.pulsar.jenkins.library.utils.VersionParser
import ru.pulsar.jenkins.library.ioc.ContextRegistry
import ru.pulsar.jenkins.library.steps.SonarScanner
@Field def sonarCommand
def call(JobConfiguration config, String rootFile = 'src/cf/Configuration.xml') {
ContextRegistry.registerDefaultContext(this)
def call(String rootFile = 'src/cf/Configuration.xml') {
def config = jobConfiguration() as JobConfiguration
String scannerHome = tool config.sonarScannerToolName
sonarCommand = "$scannerHome/bin/sonar-scanner -Dsonar.branch.name=$env.BRANCH_NAME"
String configurationVersion = VersionParser.configuration(rootFile)
if (configurationVersion) {
sonarCommand += " -Dsonar.projectVersion=$configurationVersion"
}
withSonarQubeEnv('qa.dev.pulsar.ru') {
cmd sonarCommand
}
def sonarScanner = new SonarScanner(config, rootFile)
sonarScanner.run()
}
@NonCPS
private static String version(String text) {
def matcher = text =~ /<Version>(.*)<\/Version>/
return matcher ? matcher.group(1) : ""
}