Gradle Swagger Generator Plugin 2.6.0をリリースした
Gradle Swagger Generator Plugin 2.6.0をリリースしました。OpenAPI YAMLのバリデーション、コード生成、Swagger UI生成を行うためのプラグインです。
New features
複数のOpenAPI YAMLを扱う場合に簡潔に記述できるようになりました。これまではYAMLごとに自分でタスクを定義する必要がありましたが、2.6.0からは swaggerSources
ブロックに列挙できるようになりました。
swaggerSources { petstoreV1 { inputFile = file('v1-petstore.yaml') code { language = 'spring' configFile = file('v1-config.json') } } petstoreV2 { inputFile = file('v2-petstore.yaml') code { language = 'spring' configFile = file('v2-config.json') } } }
コードやSwagger UIを生成する前にYAMLバリデーションを行いたい場合は下記の1行を付け足します。
code { language = 'spring' configFile = file('v2-config.json') dependsOn validation // ←追加 }
また、外部リポジトリからテンプレートを読み込めるようになりました。複数のプロジェクトで共通のテンプレートを利用したい場合に役に立ちます。
repositories { // NexusやArtifactoryのリポジトリを指定 maven { url 'https://example.com/nexus-or-artifactory' } jcenter() } dependencies { swaggerCodegen 'io.swagger:swagger-codegen-cli:2.2.3' // NexusやArtifactoryにpublishされたテンプレートを指定 swaggerTemplate 'com.example:swagger-templates:1.0.0' } swaggerSources { petstore { inputFile = file('petstore.yaml') code { language = 'spring' // テンプレートJAR内のパスを指定 templateDir = file("${resolveSwaggerTemplate.destinationDir}/spring-mvc") } } }
このように、大規模なプロジェクトでSwagger CodegenやSwagger UIを活用する場合に有用な機能を追加しています。
詳しくはREADMEやサンプルプロジェクトを参照してください。