buildscript { repositories { mavenLocal() maven { url "https://repo1.maven.org/maven2" } maven { url "https://plugins.gradle.org/m2/" } maven { url "https://oss.sonatype.org/content/repositories/releases/" } maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } } dependencies { // Updated version can be passed via command line arg as -PopenApiGeneratorVersion=VERSION classpath "org.openapitools:openapi-generator-gradle-plugin:$openApiGeneratorVersion" } } apply plugin: 'org.openapi.generator' openApiMeta { generatorName = "Sample" packageName = "org.openapitools.example" outputFolder = "$buildDir/meta".toString() } openApiValidate { inputSpec = "$rootDir/petstore-v3.0-invalid.yaml".toString() recommend = true } // Builds a Kotlin client by default. openApiGenerate { generatorName = "kotlin" inputSpec = "$rootDir/petstore-v3.0.yaml".toString() outputDir = "$buildDir/kotlin".toString() apiPackage = "org.openapitools.example.api" invokerPackage = "org.openapitools.example.invoker" modelPackage = "org.openapitools.example.model" configOptions = [ dateLibrary: "java8" ] globalProperties = [ modelDocs: "false" ] skipValidateSpec = true logToStderr = true generateAliasAsModel = false // set to true and set environment variable {LANG}_POST_PROCESS_FILE // (e.g. SCALA_POST_PROCESS_FILE) to the linter/formatter to be processed. // This command will be passed one file at a time for most supported post processors. enablePostProcessFile = false } task buildJavaResttemplateSdk(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask) { generatorName = "java" library = "resttemplate" inputSpec = "$rootDir/petstore-v3.0.yaml".toString() outputDir = "$buildDir/java-resttemplate-api-client" apiPackage = "com.example.client" invokerPackage = "com.example.invoker" modelPackage = "com.example.cdm" configOptions = [ dateLibrary: "java8" ] groupId = 'com.example' id = 'client' skipValidateSpec = true logToStderr = true generateAliasAsModel = false enablePostProcessFile = false } task buildGoSdk(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask){ generatorName = "go" inputSpec = "$rootDir/petstore-v3.0.yaml".toString() additionalProperties = [ packageName: "petstore" ] outputDir = "$buildDir/go".toString() configOptions = [ dateLibrary: "threetenp" ] } task buildDotnetSdk(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask){ generatorName = "csharp-netcore" inputSpec = "$rootDir/petstore-v3.0.yaml".toString() additionalProperties = [ packageGuid: "{321C8C3F-0156-40C1-AE42-D59761FB9B6C}", useCompareNetObjects: "true" ] outputDir = "$buildDir/csharp-netcore".toString() globalProperties = [ models: "", apis : "", ] } task generateGoWithInvalidSpec(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask){ validateSpec = true generatorName = "go" inputSpec = "$rootDir/petstore-v3.0-invalid.yaml".toString() additionalProperties = [ packageName: "petstore" ] outputDir = "$buildDir/go".toString() configOptions = [ dateLibrary: "threetenp" ] } task validateGoodSpec(type: org.openapitools.generator.gradle.plugin.tasks.ValidateTask){ inputSpec = "$rootDir/petstore-v3.0.yaml".toString() } task validateBadSpec(type: org.openapitools.generator.gradle.plugin.tasks.ValidateTask){ inputSpec = "$rootDir/petstore-v3.0-invalid.yaml".toString() } task validateSpecs(dependsOn: ['validateGoodSpec', 'validateBadSpec'])