swagger-codegen-maven-plugin ============================ A Maven plugin to support the [swagger](http://swagger.io) code generation project Usage ============================ Add to your `build->plugins` section (default phase is `generate-sources` phase) ```xml io.swagger swagger-codegen-maven-plugin 2.2.3 generate src/main/resources/api.yaml java src/gen/java/main ``` Followed by: ``` mvn clean compile ``` ### General Configuration parameters - `inputSpec` - OpenAPI Spec file path - `language` - target generation language - `output` - target output path (default is `${project.build.directory}/generated-sources/swagger`) - `templateDirectory` - directory with mustache templates - `addCompileSourceRoot` - add the output directory to the project as a source root (`true` by default) - `modelPackage` - the package to use for generated model objects/classes - `apiPackage` - the package to use for generated api objects/classes - `invokerPackage` - the package to use for the generated invoker objects - `modelNamePrefix` and `modelNameSuffix` - Sets the pre- or suffix for model classes and enums - `withXml` - enable XML annotations inside the generated models and API (only works with Java `language` and libraries that provide support for JSON and XML) - `configOptions` - a map of language-specific parameters (see below) - `configHelp` - dumps the configuration help for the specified library (generates no sources) - `ignoreFileOverride` - specifies the full path to a `.swagger-codegen-ignore` used for pattern based overrides of generated outputs - `generateApis` - generate the apis (`true` by default) - `generateApiTests` - generate the api tests (`true` by default. Only available if `generateApis` is `true`) - `generateApiDocumentation` - generate the api documentation (`true` by default. Only available if `generateApis` is `true`) - `generateModels` - generate the models (`true` by default) - `modelsToGenerate` - A comma separated list of models to generate. All models is the default. - `generateModelTests` - generate the model tests (`true` by default. Only available if `generateModels` is `true`) - `generateModelDocumentation` - generate the model documentation (`true` by default. Only available if `generateModels` is `true`) - `generateSupportingFiles` - generate the supporting files (`true` by default) - `supportingFilesToGenerate` - A comma separated list of supporting files to generate. All files is the default. - `skip` - skip code generation (`false` by default. Can also be set globally through the `codegen.skip` property) ### Custom Generator Specifying a custom generator is a bit different. It doesn't support the classpath:/ syntax, but it does support the fully qualified name of the package. You can also specify your custom templates, which also get pulled in. Notice the dependency on a project, in the plugin scope. That would be your generator/template jar. ```xml io.swagger swagger-codegen-maven-plugin ${swagger-codegen-maven-plugin-version} generate src/main/resources/yaml/yamlfilename.yaml com.my.package.for.GeneratorLanguage myTemplateDir ${project.build.directory}/generated-sources ${default.package}.handler ${default.package}.model ${default.package}.handler com.my.generator customgenerator 1.0-SNAPSHOT ``` ### Sample configuration - Please see [an example configuration](examples) for using the plugin