Плагин генератора сваггера ищет файл, который немного усложняет эту задачу, чем просто выполняет разбор строк и заменяет токен.
Решение может заключаться в том, чтобы рассматривать файл конфигурации как сгенерированный вход дляgenerateSwaggerCode
задача.Это можно сделать с помощью задачи копирования, которая копирует ваш swaggergen-config.json
«шаблон» и заменяет {version}
токеном rootProject.version
с использованием фильтра ant ReplaceTokens
во время копирования.Примечание: Вы можете захотеть переключить {version}
на формат токена в стиле муравья (например, @version@
).
Тогда можно установить закрытие swaggerSources.code.configFile
для использования вновь созданной конфигурации.
Это будет добавлено к вашему build.gradle
:
task generateSwaggerGenConfig(type: Copy) {
from swaggergen-config.json
into $buildDir/generated/swaggergen-config.json
filter(org.apache.tools.ant.filters.ReplaceTokens, tokens:['version:rootProject.version])
}
generateSwaggerCode.dependsOn generateSwaggerGenConfig
swaggerSources {
testProject {
inputFile = file("$buildDir/generated/input.json")
code {
language = 'csharp'
configFile = file("$buildDir/generated/swaggergen-config.json")
}
}
}
Сгенерированный swaggergen-config.json
будет выглядеть следующим образом
{
"packageName": "Package.Test",
"packageVersion" : @version@,
"netCoreProjectFile": true
}