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.2-SNAPSHOT
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.
- `configOptions` - a map of language-specific parameters (see below)
- `configHelp` - dumps the configuration help for the specified library (generates no sources)
### 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
${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