1
0
mirror of https://github.com/firstBitMarksistskaya/jenkins-lib.git synced 2024-11-24 08:52:14 +02:00

Передача vrunner.json в syntax-check

This commit is contained in:
Nikita Gryzlov 2021-06-09 22:14:24 +03:00 committed by kuzja086
parent e11fa81b7b
commit 0a007ec116
4 changed files with 42 additions and 15 deletions

View File

@ -30,7 +30,7 @@
},
"syntaxCheck": {
"groupErrorsByMetadata": true,
"pathToJUnitReport": "build/out/jUnit/syntax.xml",
"pathToJUnitReport": "./build/out/jUnit/syntax.xml",
"checkModes": [
"-ThinClient",
"-WebClient",
@ -43,7 +43,8 @@
"-CheckUseModality",
"-CheckUseSynchronousCalls",
"-DistributiveModules"
]
],
"vrunnerSettings": "./tools/vrunner.json"
},
"resultsTransform": {
"removeSupport": false,

View File

@ -118,7 +118,7 @@
"properties" : {
"pathToJUnitReport" : {
"type" : "string",
"description" : "Путь к файлу отчета jUnit"
"description" : "Путь к файлу отчета jUnit\n По умолчанию содержит значение \"./build/out/junitsyntax.xml\"\n "
},
"groupErrorsByMetadata" : {
"type" : "boolean",
@ -130,6 +130,10 @@
"items" : {
"type" : "string"
}
},
"vrunnerSettings" : {
"type" : "string",
"description" : "Путь к конфигурационному файлу vanessa-runner.\n По умолчанию содержит значение \"./tools/vrunner.json\".\n "
}
}
},

View File

@ -7,14 +7,23 @@ import com.fasterxml.jackson.annotation.JsonPropertyDescription
@JsonIgnoreProperties(ignoreUnknown = true)
class SyntaxCheckOptions implements Serializable {
@JsonPropertyDescription("Путь к файлу отчета jUnit")
String pathToJUnitReport
@JsonPropertyDescription("""Путь к файлу отчета jUnit
По умолчанию содержит значение "./build/out/jUnit/syntax.xml"
""")
String pathToJUnitReport = "./build/out/jUnit/syntax.xml"
@JsonPropertyDescription("Группировать выявленные ошибки по объектам метаданных")
boolean groupErrorsByMetadata;
@JsonPropertyDescription("""Группировать выявленные ошибки по объектам метаданных.
По умолчанию включено.
""")
boolean groupErrorsByMetadata = true
@JsonPropertyDescription("Режимы проверки конфигурации")
String[] checkModes;
String[] checkModes
@JsonPropertyDescription("""Путь к конфигурационному файлу vanessa-runner.
По умолчанию содержит значение "./tools/vrunner.json".
""")
String vrunnerSettings = "./tools/vrunner.json"
@Override
@NonCPS
@ -23,6 +32,7 @@ class SyntaxCheckOptions implements Serializable {
"pathToJUnitReport='" + pathToJUnitReport + '\'' +
", groupErrorsByMetadata=" + groupErrorsByMetadata +
", checkModes=" + checkModes +
", vrunnerSettings=" + vrunnerSettings +
'}';
}
}

View File

@ -1,5 +1,7 @@
import hudson.FilePath
import ru.pulsar.jenkins.library.configuration.JobConfiguration
import ru.pulsar.jenkins.library.ioc.ContextRegistry
import ru.pulsar.jenkins.library.utils.FileUtils
def call(JobConfiguration config) {
@ -20,27 +22,37 @@ def call(JobConfiguration config) {
unzipInfobase()
def outPath = new File(options.pathToJUnitReport).getParent()
FilePath pathToJUnitReport = FileUtils.getFilePath("$env.WORKSPACE/$options.pathToJUnitReport")
String outPath = pathToJUnitReport.getParent()
createDir(outPath)
String command = "oscript_modules/bin/vrunner syntax-check --ibconnection \"/F./build/ib\""
String command = 'oscript_modules/bin/vrunner syntax-check --ibconnection "/F./build/ib"'
// Временно убрал передачу параметра.
// См. https://github.com/vanessa-opensource/vanessa-runner/issues/361
// command += " --workspace $env.WORKSPACE"
if (options.groupErrorsByMetadata) {
command += " --groupbymetadata"
command += ' --groupbymetadata'
}
command += " --junitpath " + options.pathToJUnitReport;
command += " --junitpath $pathToJUnitReport";
command += " --mode " + options.checkModes.join(" ")
FilePath vrunnerSettings = FileUtils.getFilePath("$env.WORKSPACE/$options.vrunnerSettings")
if (vrunnerSettings.exists()) {
command += " --settings $vrunnerSettings";
}
if (options.checkModes.length > 0) {
def checkModes = options.checkModes.join(" ")
command += " --mode $checkModes"
}
// Запуск синтакс-проверки
cmd(command, true)
junit allowEmptyResults: true, testResults: options.pathToJUnitReport
junit allowEmptyResults: true, testResults: FileUtils.getLocalPath(pathToJUnitReport)
archiveArtifacts options.pathToJUnitReport
archiveArtifacts FileUtils.getLocalPath(pathToJUnitReport)
}