【问题标题】:Avoid generation of build.gradle when using swagger-codegen-plugin使用 swagger-codegen-plugin 时避免生成 build.gradle
【发布时间】:2020-03-19 10:19:44
【问题描述】:

我们正在使用 gradle.plugin.org.detoeuf:swagger-codegen-plugin。 我们要更改输出目录中 build.gradle 文件的内容。

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

我们的招摇部分是这样的

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-ignore 文件长这样 -

# 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

【问题讨论】:

    标签: build.gradle swagger-codegen


    【解决方案1】:

    您可以在附加属性中添加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"]
    }
    

    【讨论】:

    • 文件仍然被覆盖。
    猜你喜欢
    • 1970-01-01
    • 2022-10-20
    • 1970-01-01
    • 2017-04-15
    • 2020-04-05
    • 2018-08-29
    • 2018-02-11
    • 2019-06-23
    • 2023-03-04
    相关资源
    最近更新 更多