Skip to content

Commit

Permalink
refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
ovcharenko-di committed Dec 2, 2024
1 parent f17c9ae commit f724af3
Show file tree
Hide file tree
Showing 8 changed files with 49 additions and 16 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
*.groovy eol=lf
*.md eol=lf
*.os eol=lf
3 changes: 3 additions & 0 deletions resources/dbgs.os
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#Использовать v8find

Сообщить(Платформа1С.ПутьКDBGS(АргументыКоманднойСтроки[0]));
6 changes: 3 additions & 3 deletions resources/globalConfiguration.json
Original file line number Diff line number Diff line change
Expand Up @@ -87,10 +87,10 @@
"publishToAllureReport": false,
"publishToJUnitReport": true,
"coverage": false,
"dbgsPort": 1551
"dbgsPort": 1550
},
"coverage": {
"dbgsPath": "dbgs",
"dbgsPath": "",
"coverage41CPath": "Coverage41C"
},
"yaxunit": {
Expand All @@ -99,7 +99,7 @@
"publishToAllureReport": false,
"publishToJUnitReport": true,
"coverage": false,
"dbgsPort": 1552
"dbgsPort": 1550
},
"resultsTransform": {
"transformer": "stebi",
Expand Down
20 changes: 13 additions & 7 deletions resources/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,13 @@
"properties" : {
"coverage" : {
"type" : "boolean",
"description" : "Выполнять замер покрытия"
"description" : "Выполнять замер покрытия",
"default" : "false"
},
"dbgsPort" : {
"type" : "integer",
"description" : "Порт, на котором будет запущен сервер отладки для замера покрытия"
"description" : "Порт, на котором будет запущен сервер отладки для замера покрытия",
"default" : "1550"
},
"vrunnerSteps" : {
"description" : "Шаги, запускаемые через vrunner.\n В каждой строке передается отдельная команда \n vrunner и ее аргументы (например, \"vanessa --settings ./tools/vrunner.json\").\n По умолчанию содержит одну команду \"vanessa --settings ./tools/vrunner.json\".\n ",
Expand All @@ -55,7 +57,7 @@
},
"dbgsPath" : {
"type" : "string",
"description" : "Путь к исполняемому файлу dbgs.\n По умолчанию ищется в PATH.\n "
"description" : "Путь к исполняемому файлу dbgs.\n По умолчанию ищется с помощью v8find для указанной версии платформы (v8version).\n "
}
},
"description" : "Настройки замеров покрытия"
Expand Down Expand Up @@ -247,11 +249,13 @@
"properties" : {
"coverage" : {
"type" : "boolean",
"description" : "Выполнять замер покрытия"
"description" : "Выполнять замер покрытия",
"default" : "false"
},
"dbgsPort" : {
"type" : "integer",
"description" : "Порт, на котором будет запущен сервер отладки для замера покрытия"
"description" : "Порт, на котором будет запущен сервер отладки для замера покрытия",
"default" : "1550"
},
"publishToAllureReport" : {
"type" : "boolean",
Expand Down Expand Up @@ -464,11 +468,13 @@
},
"coverage" : {
"type" : "boolean",
"description" : "Выполнять замер покрытия"
"description" : "Выполнять замер покрытия",
"default" : "false"
},
"dbgsPort" : {
"type" : "integer",
"description" : "Порт, на котором будет запущен сервер отладки для замера покрытия"
"description" : "Порт, на котором будет запущен сервер отладки для замера покрытия",
"default" : "1550"
},
"publishToAllureReport" : {
"type" : "boolean",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonPropertyDescription
class GlobalCoverageOptions implements Serializable {

@JsonPropertyDescription('''Путь к исполняемому файлу dbgs.
По умолчанию ищется в PATH.
По умолчанию ищется с помощью v8find для указанной версии платформы (v8version).
''')
String dbgsPath

Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
package ru.pulsar.jenkins.library.configuration

import com.fasterxml.jackson.annotation.JsonProperty
import com.fasterxml.jackson.annotation.JsonPropertyDescription

class StepCoverageOptions implements Serializable {

@JsonPropertyDescription("Выполнять замер покрытия")
@JsonProperty(defaultValue = "false")
Boolean coverage = false

@JsonPropertyDescription("Порт, на котором будет запущен сервер отладки для замера покрытия")
@JsonProperty(defaultValue = "1550")
Integer dbgsPort = 1550

}
7 changes: 3 additions & 4 deletions src/ru/pulsar/jenkins/library/steps/WithCoverage.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,10 @@ class WithCoverage implements Serializable {
CoverageUtils.stopCoverage(steps, config, context)
}
}
}

if (coverageOptions.coverage) {
steps.stash(stage.getCoverageStashName(), stage.getCoverageStashPath(), true)
if (coverageOptions.coverage) {
steps.stash(stage.getCoverageStashName(), stage.getCoverageStashPath(), true)
}
}

}
}
23 changes: 22 additions & 1 deletion src/ru/pulsar/jenkins/library/utils/CoverageUtils.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,9 @@ class CoverageUtils {

def coverageOpts = config.coverageOptions

steps.start("${coverageOpts.dbgsPath} --addr=127.0.0.1 --port=$coverageContext.port")
String dbgsPath = findDbgs(steps, config.v8version)

steps.start("${dbgsPath} --addr=127.0.0.1 --port=$coverageContext.port")
steps.start("${coverageOpts.coverage41CPath} start -i DefAlias -u http://127.0.0.1:$coverageContext.port -P $workspaceDir -s $srcDir -o ${stage.getCoverageStashPath()}")
steps.cmd("${coverageOpts.coverage41CPath} check -i DefAlias -u http://127.0.0.1:$coverageContext.port")

Expand All @@ -74,4 +76,23 @@ class CoverageUtils {
steps.cmd("${coverageOpts.coverage41CPath} stop -i DefAlias -u http://127.0.0.1:$coverageContext.port")
}

static String findDbgs(IStepExecutor steps, JobConfiguration config) {

def dbgsPath = config.coverageOptions.dbgsPath
if (dbgsPath.isEmpty()) {
def osResourcePath = steps.libraryResource "dbgs.os"
final osResultPath = "build/dbgs.os"
steps.writeFile(osResultPath, osResourcePath, 'UTF-8')

dbgsPath = steps.cmd("${osResultPath} ${config.v8version}", false, true)
}

if (dbgsPath.isEmpty()) {
steps.error("Не удалось найти путь к dbgs")
}

return dbgsPath

}

}

0 comments on commit f724af3

Please sign in to comment.