仅使用Kotlin时在Micronaut中生成Swagger / OpenAPI视图

时间:2019-12-09 15:01:34

标签: kotlin swagger-ui openapi micronaut

https://micronaut-projects.github.io/micronaut-openapi/latest/guide/index.html的官方文档仅描述了如何向JavaCompile Gradle任务添加-Dmicronaut.openapi.views.spec=...编译器标志:

tasks.withType(JavaCompile) {
    options.fork = true
    options.forkOptions.jvmArgs << '-Dmicronaut.openapi.views.spec=rapidoc.enabled=true,swagger-ui.enabled=true,swagger-ui.theme=flattop'
    ...
}

尽管在纯Kotlin项目中未使用此任务。我已经尝试过tasks.withType(compileKotlin),但没有成功。

有人可以给我一个提示,如何为纯Kotlin项目在build.gradle中传递编译器标志(仍然是Groovy)?

1 个答案:

答案 0 :(得分:1)

我相信您正在寻找的东西(至少对于OpenApi的Micronaut JVM args)是这样的:

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
    kotlinOptions {
        freeCompilerArgs += '-Dmicronaut.openapi.views.spec=rapidoc.enabled=true,swagger-ui.enabled=true,swagger-ui.theme=flattop'
    }
}

See the Kotlin Docs on "Using Gradle -> Compiler Options",以获取有关如何为Kotlin编译步骤提供选项的更多信息(请确保您正在查看Groovy Gradle版本,因为您没有在Gradle文件中使用Kotlin DSL)

This SO question seems to be asking a similar thing >

{{3}},也可能有用

我不认为 fork中提供了kotlinOptions选项(我怀疑KotlinCompile已经在派生进程中运行了吗?不确定是否在那里)