diff --git a/README.md b/README.md index 7b130b4b8a..a6b0baaca1 100644 --- a/README.md +++ b/README.md @@ -212,6 +212,36 @@ to the code generator like this: Great for creating libraries on your ci server, from the [Swagger Editor](http://editor.swagger.io)... or while coding on an airplane. +### Selective generation +You may not want to generate *all* models in your project. Likewise you may want just one or two apis to be written. If that's the case, you can use system properties to control the output: + +The default is generate *everything* supported by the specific library. Once you enable a feature, it will restrict the contents generated: + +``` +# generate only models +java -Dmodels {opts} + +# generate only apis +java -Dapis {opts} + +# generate only supporting files +java -DsupportingFiles + +# generate models and supporting files +java -Dmodels -DsupportingFiles +``` + +To control the specific files being generated, you can pass a CSV list of what you want: +``` +# generate the User and Pet models only +-Dmodels=User,Pet + +# generate the User model and the supportingFile `StringUtil.java`: +-Dmodels=User -DsupportingFiles=StringUtil.java +``` + +When using selective generation, _only_ the templates needed for the specific generation will be used. + ### Customizing the generator There are different aspects of customizing the code generator beyond just creating or modifying templates. Each language has a supporting configuration file to handle different type mappings, etc: