使用swagger代码生成插件时,避免生成build.gradle



我们使用的是gradle.plugin.org.detouf:swagger codegen插件。我们想要更改输出目录中build.gradle文件的内容

我们将gradle.build文件添加到.swagger codegen ignore中,但每次调用swagger任务时都会重新创建.swager codegen igner文件和gradle.bbuild文件。

我们的招摇部分看起来像这个

swagger {
inputSpec = "${project.projectDir}/swagger/backoffice-service-api-swagger.json"
outputDir = file("${project.projectDir}/../backoffice-service-api-client/")
lang = 'java'
additionalProperties = [
'invokerPackage'         : 'com.aaa.bbb.backoffice.service',
'modelPackage'           : 'com.aaa.bbb.backoffice.service.model',
'apiPackage'             : 'com.aaa.bbb.backoffice.service.api',
'dateLibrary'            : 'joda',
'groupId'                : 'com.aaa.bbb',
'artifactId'             : 'backoffice-service-api-client',
'artifactVersion'        : '1.0.0',
'hideGenerationTimestamp': 'true',
'dateLibrary'            : 'java8'
]
systemProperties = ["apiTests" : "false"]
}

.swagger codegen忽略文件如下所示-

# Swagger Codegen Ignore
# Generated by swagger-codegen https://github.com/swagger-api/swagger-codegen
# Use this file to prevent files from being overwritten by the generator.
# The patterns follow closely to .gitignore or .dockerignore.
# As an example, the C# client generator defines ApiClient.cs.
# You can make changes and tell Swagger Codgen to ignore just this file by uncommenting the following line:
#ApiClient.cs
# You can match any string of characters against a directory, file or extension with a single asterisk (*):
#foo/*/qux
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
#foo/**/qux
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
# You can also negate patterns with an exclamation (!).
# For example, you can ignore all files in a docs folder with the file extension .md:
#docs/*.md
# Then explicitly reverse the ignore rule for a single file:
#!docs/README.md
build.gradle

您可以在additionalProperties中添加ignoreFileOverride选项,如下所示。ignoreFileOverride选项中提供的文件在项目中不存在,则swagger-codegen将生成它们,如果项目中存在文件,则swagger-codegen将忽略它们。

swagger {
inputSpec = "${project.projectDir}/swagger/backoffice-service-api-swagger.json"
outputDir = file("${project.projectDir}/../backoffice-service-api-client/")
lang = 'java'
additionalProperties = [
'invokerPackage'         : 'com.aaa.bbb.backoffice.service',
'modelPackage'           : 'com.aaa.bbb.backoffice.service.model',
'apiPackage'             : 'com.aaa.bbb.backoffice.service.api',
'dateLibrary'            : 'joda',
'groupId'                : 'com.aaa.bbb',
'artifactId'             : 'backoffice-service-api-client',
'artifactVersion'        : '1.0.0',
'hideGenerationTimestamp': 'true',
'dateLibrary'            : 'java8',
'ignoreFileOverride'     : '.swagger-codegen-ignore,build.gradle'
]
systemProperties = ["apiTests" : "false"]
}

最新更新