+
+
\ No newline at end of file
diff --git a/.documentation/MARKDOWN.md b/.documentation/MARKDOWN.md
new file mode 100644
index 000000000000..fad5c7741e4e
--- /dev/null
+++ b/.documentation/MARKDOWN.md
@@ -0,0 +1,115 @@
+
+# Markdown for WDP documentation cheatsheet
+
+Here's how to format Markdown in your WDP topics.
+
+**Headings:** Use #s followed by a blank space for notebook titles and section headings:
+
+`#` title
+`##` major headings
+`###` subheadings
+`####` 4th level subheadings
+
+**Emphasis:** Use this code: Bold: `__string__` or `**string**` Italic: `_string_` or `*string*`
+
+**Attributes:**
+Commonly used attributes:
+```
+cloud
+beta blue
+codeblock python r scala
+```
+In a ditamap, include this code in the topicref: `audience="attribute1 attribute2 attribute3"`. See any ditamap for an example.
+
+Within a topic, you have to tag each element separately. Use this syntax on a line by itself right after the text you want to tag:
+`{: .attribute1 attribute2}`
+For bullets, put after the list to tag them all, or put in front of a single bullet to tag only that line.
+
+**Monospace font:** Surround text with a back quotes (to the left of the 1 key). Don't use for code blocks.
+Use monospace for file path and file names and for text users enter or message text users see.
+
+**Code blocks:** Type 3 back quotes on a line. On the next line, start the code. After the code, put 3 back quotes on a line. To do it right, also include codeblock and language attributes: see MarkdownResource.md.
+
+**Line breaks:** Sometimes markdown doesn’t make line breaks when you want them.
+Use this code for a manual line break: ` `
+
+**Indenting:** Use a greater than sign (`> `) and then a space, then type the text.
+Everything is indented until the next carriage return.
+
+**Bullets:** Use the dash sign (`- `) with two spaces after it or a space, a dash, and a space (` - `),
+to create a circular bullet. To create a sub bullet, use a tab followed a dash and two spaces.
+You can also use an asterisk instead of a dash, and it works the same.
+
+**Numbered lists:** Start with `1.` followed by a space.
+Start each line with some number and a period, then a space. Indent 3 spaces to get subnumbering. You can include bullets and other elements in a step, but don't include blank lines in between or the numbering will discontinue.
+
+**Graphics:** Use this syntax:
+``` markdown
+
+```
+
+**Tables:** Use this syntax:
+``` markdown
+| Heading | Heading |
+| ----| ----|
+| text | text |
+| text | text |
+{: caption="Table 1. Table title" caption-side="top"}
+```
+
+**Internal links:** To link to another file in our doc set
+
+```markdown
+[Link Text](../relative/linkto/filename.html)
+```
+**Sub-section links:**
+
+``` markdown
+[Section Title](#section-title)
+```
+For the text in the parentheses, replace spaces and special characters with a hyphen. Make sure to test all the links!
+
+Alternatively, you can add an ID for a section right below the section title. Use this code: `{: #section_ID}`
+Make sure that the section_ID is unique within the notebook.
+
+**Link to sub-section in another internal file:**
+
+```markdown
+[Link text you want](relative/linkto/filename.html#subheading-anchor)
+```
+
+**External links:** Use this code and test all links!
+``` markdown
+[Link text](https://url/to/topic.html){: new_window}
+```
+or
+```html
+link text
+```
+
+**Videos:** Use this syntax:
+
+```html
+Figure 1. VIDEO_CAPTION
+
+
+
+```
+
+For accessibility, videos need closed captioning.
+
+**Conrefs:** Use the conrefs in the `dsxconrefs.yml` file. Use this syntax, replacing `conref` with the conref name:
+``` markdown
+{{site.data.keyword.conref}}
+```
+
+**Comments:** Use this syntax:
+``` markdown
+
+```
\ No newline at end of file
diff --git a/.documentation/README.md b/.documentation/README.md
new file mode 100644
index 000000000000..eaeab0aaa6e4
--- /dev/null
+++ b/.documentation/README.md
@@ -0,0 +1,67 @@
+
+## GIT Playbook
+
+GIT Playbook is a documentation framework that allows you to create Documentation for your project using Markdown and GH-Pages rapidly. This is the repository for Medium article Create compelling Documentation with Github Pages by Thomas Reinecke and Kai Wedekind.
+
+
+
+* Demo environment (on GH pages)
+* Markdown Cheatsheet
+
+## Main Features
+* Runs your Markdown-based documentation on a webapp
+* Mobile ready, responsive design
+* supports any level of document hierarchy
+* supports title, description & icon for every Folder & Document
+* Live Search/Filtering capability keyword and topic-based (no server infrastructure necessary for it)
+* All-In-One WebFrontend, only needs a webcontainer to run, optimized for deployment on GH Pages
+* Left-Sided Tree Navigator
+* Support for Multiple Playbooks in one app
+* Breadcrumb Support to navigate through any level of the document hierarchy easily
+* Topic Support to group documents together
+
+## How to use it
+* get started by reading the article Create compelling Documentation with Github Pages
+* clone repository and follow the "Build Setup" instructions below
+* edit "src/pageConfig.json" and change the document structure as you desire
+* write your documents in Markdown and put them into the "static" folder
+* create yourself a GIT repository and import your playbook trunk
+* deploy it with `npm run gh-pages`
+* in your GH repository > Settings > scroll down to "Github Pages", make sure it points to your "gh-pages" branch
+* find the link to your GH page deployment on that screen aswell
+ 
+* for feedback, enhancement requests or defect reports use "Issues" here on this repo
+
+Enjoy!
+
+## Build Setup
+
+``` bash
+# install dependencies
+npm install
+
+# serve with hot reload at localhost:8080
+npm run dev
+
+# build for production with minification, also build the search index
+npm run build
+
+# build the search index only
+npm run build-search
+
+# build for production and view the bundle analyzer report
+npm run build --report
+
+# run unit tests
+npm run unit
+
+# run e2e tests
+npm run e2e
+
+# run all tests
+npm test
+
+# deploy playbook to GH pages (includes build and deploy to GH pages)
+npm run gh-pages
+```
+
diff --git a/.documentation/build/build.js b/.documentation/build/build.js
new file mode 100644
index 000000000000..91bfe0eae6e3
--- /dev/null
+++ b/.documentation/build/build.js
@@ -0,0 +1,37 @@
+'use strict'
+
+require('./check-versions')()
+
+process.env.NODE_ENV = 'production'
+
+const ora = require('ora')
+const rm = require('rimraf')
+const path = require('path')
+const chalk = require('chalk')
+const webpack = require('webpack')
+const config = require('../config')
+const webpackConfig = require('./webpack.prod.conf')
+
+const spinner = ora('building for production...')
+spinner.start()
+
+rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
+ if (err) throw err
+ webpack(webpackConfig, function (err, stats) {
+ spinner.stop()
+ if (err) throw err
+ process.stdout.write(stats.toString({
+ colors: true,
+ modules: false,
+ children: false,
+ chunks: false,
+ chunkModules: false
+ }) + '\n\n')
+
+ console.log(chalk.cyan(' Build complete.\n'))
+ console.log(chalk.yellow(
+ ' Tip: built files are meant to be served over an HTTP server.\n' +
+ ' Opening index.html over file:// won\'t work.\n'
+ ))
+ })
+})
diff --git a/.documentation/build/build.search.js b/.documentation/build/build.search.js
new file mode 100644
index 000000000000..a36759d02b30
--- /dev/null
+++ b/.documentation/build/build.search.js
@@ -0,0 +1,85 @@
+'use strict'
+
+const fs = require('fs')
+const path = require('path')
+
+const removeMd = require('remove-markdown');
+
+const config = require('../config')
+const pagesConfig = require('../src/pageConfig')
+const pages = pagesConfig.pages;
+
+const countWords = (text) => {
+ // exclude start and end white-space
+ text = text.replace(/(^\s*)|(\s*$)/gi, '')
+ // 2 or more space to 1
+ text = text.replace(/[ ]{2,}/gi, ' ')
+ // exclude newline with a start spacing
+ text = text.replace(/\n /, '\n')
+ return text.split(' ').filter((str) => {
+ return str !== '' }
+ ).length || 0
+}
+
+const getContent = (page, parent) => {
+ return new Promise((resolve, reject) => {
+ let content = {
+ name: page.name,
+ description: page.description,
+ owner: page.owner,
+ path: (parent) ? `${parent}${page.route}` : page.route,
+ text: '',
+ wordCount: 0
+ }
+ if (page.markdown) {
+ let mdPath = path.normalize(path.join(__dirname, '..', page.markdown));
+ fs.readFile(mdPath, 'utf8', (err, data) => {
+ let text = removeMd(data);
+ content.text = text;
+ content.wordCount = countWords(text);
+ content.type = 'Content';
+ return resolve(content);
+ });
+ } else {
+ if (page.children) {
+ content.type = 'TOC';
+ }
+ return resolve(content);
+ }
+ })
+}
+
+const traversTree = (pages, parent) => {
+ let PAGES = [];
+
+ return new Promise(async (resolve, reject) => {
+ for (let i = 0; i < pages.length; i++) {
+ let page = pages[i];
+
+ let content = await getContent(page, parent);
+ PAGES.push(content);
+ if (page.children) {
+ let CHILD_PAGES = await traversTree(page.children, content.path)
+ if (CHILD_PAGES && Array.isArray(CHILD_PAGES)) {
+ PAGES = PAGES.concat(CHILD_PAGES)
+ }
+ }
+ }
+ return resolve(PAGES);
+ })
+}
+
+traversTree(pages)
+ .then((PAGE_CONTENTS) => {
+ fs.writeFile (
+ path.join(config.build.assetsRoot, '/static/content.json'),
+ JSON.stringify(PAGE_CONTENTS),
+ (err) => {
+ if (err) throw err;
+ console.log('complete');
+ }
+ );
+ })
+ .catch((error) => {
+ console.log('error', error);
+ });
diff --git a/.documentation/build/check-versions.js b/.documentation/build/check-versions.js
new file mode 100644
index 000000000000..2e2f531b71c7
--- /dev/null
+++ b/.documentation/build/check-versions.js
@@ -0,0 +1,50 @@
+'use strict'
+
+const chalk = require('chalk')
+const semver = require('semver')
+const packageConfig = require('../package.json')
+const shell = require('shelljs')
+function exec (cmd) {
+ return require('child_process').execSync(cmd).toString().trim()
+}
+
+const versionRequirements = [
+ {
+ name: 'node',
+ currentVersion: semver.clean(process.version),
+ versionRequirement: packageConfig.engines.node
+ },
+]
+
+if (shell.which('npm')) {
+ versionRequirements.push({
+ name: 'npm',
+ currentVersion: exec('npm --version'),
+ versionRequirement: packageConfig.engines.npm
+ })
+}
+
+module.exports = function () {
+ const warnings = []
+ for (let i = 0; i < versionRequirements.length; i++) {
+ const mod = versionRequirements[i]
+ if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {
+ warnings.push(mod.name + ': ' +
+ chalk.red(mod.currentVersion) + ' should be ' +
+ chalk.green(mod.versionRequirement)
+ )
+ }
+ }
+
+ if (warnings.length) {
+ console.log('')
+ console.log(chalk.yellow('To use this template, you must update following to modules:'))
+ console.log()
+ for (let i = 0; i < warnings.length; i++) {
+ const warning = warnings[i]
+ console.log(' ' + warning)
+ }
+ console.log()
+ process.exit(1)
+ }
+}
diff --git a/.documentation/build/dev-client.js b/.documentation/build/dev-client.js
new file mode 100644
index 000000000000..ea35821bcfa2
--- /dev/null
+++ b/.documentation/build/dev-client.js
@@ -0,0 +1,11 @@
+'use strict'
+
+/* eslint-disable */
+require('eventsource-polyfill')
+var hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true')
+
+hotClient.subscribe(function (event) {
+ if (event.action === 'reload') {
+ window.location.reload()
+ }
+})
diff --git a/.documentation/build/dev-server.js b/.documentation/build/dev-server.js
new file mode 100644
index 000000000000..8bf5bd99656d
--- /dev/null
+++ b/.documentation/build/dev-server.js
@@ -0,0 +1,93 @@
+'use strict'
+
+require('./check-versions')()
+
+const config = require('../config')
+if (!process.env.NODE_ENV) {
+ process.env.NODE_ENV = JSON.parse(config.dev.env.NODE_ENV)
+}
+
+const opn = require('opn')
+const path = require('path')
+const express = require('express')
+const webpack = require('webpack')
+const proxyMiddleware = require('http-proxy-middleware')
+const webpackConfig = process.env.NODE_ENV === 'testing'
+ ? require('./webpack.prod.conf')
+ : require('./webpack.dev.conf')
+
+// default port where dev server listens for incoming traffic
+const port = process.env.PORT || config.dev.port
+// automatically open browser, if not set will be false
+const autoOpenBrowser = !!config.dev.autoOpenBrowser
+// Define HTTP proxies to your custom API backend
+// https://github.com/chimurai/http-proxy-middleware
+const proxyTable = config.dev.proxyTable
+
+const app = express()
+const compiler = webpack(webpackConfig)
+
+const devMiddleware = require('webpack-dev-middleware')(compiler, {
+ publicPath: webpackConfig.output.publicPath,
+ quiet: true
+})
+
+const hotMiddleware = require('webpack-hot-middleware')(compiler, {
+ log: false
+})
+// force page reload when html-webpack-plugin template changes
+compiler.plugin('compilation', function (compilation) {
+ compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
+ hotMiddleware.publish({ action: 'reload' })
+ cb()
+ })
+})
+
+// enable hot-reload and state-preserving
+// compilation error display
+app.use(hotMiddleware)
+
+// proxy api requests
+Object.keys(proxyTable).forEach(function (context) {
+ let options = proxyTable[context]
+ if (typeof options === 'string') {
+ options = { target: options }
+ }
+ app.use(proxyMiddleware(options.filter || context, options))
+})
+
+// handle fallback for HTML5 history API
+app.use(require('connect-history-api-fallback')())
+
+// serve webpack bundle output
+app.use(devMiddleware)
+
+// serve pure static assets
+const staticPath = path.posix.join(config.dev.assetsPublicPath, config.dev.assetsSubDirectory)
+app.use(staticPath, express.static('./static'))
+
+const uri = 'http://localhost:' + port
+
+let _resolve
+const readyPromise = new Promise(resolve => {
+ _resolve = resolve
+})
+
+console.log('> Starting dev server...')
+devMiddleware.waitUntilValid(() => {
+ console.log('> Listening at ' + uri + '\n')
+ // when env is testing, don't need open it
+ if (autoOpenBrowser && process.env.NODE_ENV !== 'testing') {
+ opn(uri)
+ }
+ _resolve()
+})
+
+const server = app.listen(port)
+
+module.exports = {
+ ready: readyPromise,
+ close: () => {
+ server.close()
+ }
+}
diff --git a/.documentation/build/load-minified.js b/.documentation/build/load-minified.js
new file mode 100644
index 000000000000..aeba17741463
--- /dev/null
+++ b/.documentation/build/load-minified.js
@@ -0,0 +1,11 @@
+'use strict'
+
+const fs = require('fs')
+const UglifyJS = require('uglify-es')
+
+module.exports = function(filePath) {
+ const code = fs.readFileSync(filePath, 'utf-8')
+ const result = UglifyJS.minify(code)
+ if (result.error) return ''
+ return result.code
+}
diff --git a/.documentation/build/service-worker-dev.js b/.documentation/build/service-worker-dev.js
new file mode 100644
index 000000000000..46fe0eba97c8
--- /dev/null
+++ b/.documentation/build/service-worker-dev.js
@@ -0,0 +1,20 @@
+// This service worker file is effectively a 'no-op' that will reset any
+// previous service worker registered for the same host:port combination.
+// In the production build, this file is replaced with an actual service worker
+// file that will precache your site's local assets.
+// See https://github.com/facebookincubator/create-react-app/issues/2272#issuecomment-302832432
+
+
+// THR: disabled init of services workers to dig into caching issues
+
+// self.addEventListener('install', () => self.skipWaiting());
+
+// self.addEventListener('activate', () => {
+// self.clients.matchAll({ type: 'window' }).then(windowClients => {
+// for (let windowClient of windowClients) {
+// // Force open pages to refresh, so that they have a chance to load the
+// // fresh navigation response from the local dev server.
+// windowClient.navigate(windowClient.url);
+// }
+// });
+// });
\ No newline at end of file
diff --git a/.documentation/build/service-worker-prod.js b/.documentation/build/service-worker-prod.js
new file mode 100644
index 000000000000..32c0167368f4
--- /dev/null
+++ b/.documentation/build/service-worker-prod.js
@@ -0,0 +1,57 @@
+(function() {
+ 'use strict';
+
+ // THR: disabled init of services workers to dig into caching issues
+
+ // // Check to make sure service workers are supported in the current browser,
+ // // and that the current page is accessed from a secure origin. Using a
+ // // service worker from an insecure origin will trigger JS console errors.
+ // var isLocalhost = Boolean(window.location.hostname === 'localhost' ||
+ // // [::1] is the IPv6 localhost address.
+ // window.location.hostname === '[::1]' ||
+ // // 127.0.0.1/8 is considered localhost for IPv4.
+ // window.location.hostname.match(
+ // /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
+ // )
+ // );
+
+ // window.addEventListener('load', function() {
+ // if ('serviceWorker' in navigator &&
+ // (window.location.protocol === 'https:' || isLocalhost)) {
+ // navigator.serviceWorker.register('service-worker.js') // , { cache: 'no-cache' }
+ // .then(function(registration) {
+ // // updatefound is fired if service-worker.js changes.
+ // registration.onupdatefound = function() {
+ // // updatefound is also fired the very first time the SW is installed,
+ // // and there's no need to prompt for a reload at that point.
+ // // So check here to see if the page is already controlled,
+ // // i.e. whether there's an existing service worker.
+ // if (navigator.serviceWorker.controller) {
+ // // The updatefound event implies that registration.installing is set
+ // var installingWorker = registration.installing;
+
+ // installingWorker.onstatechange = function() {
+ // switch (installingWorker.state) {
+ // case 'installed':
+ // // At this point, the old content will have been purged and the
+ // // fresh content will have been added to the cache.
+ // // It's the perfect time to display a "New content is
+ // // available; please refresh." message in the page's interface.
+ // break;
+
+ // case 'redundant':
+ // throw new Error('The installing ' +
+ // 'service worker became redundant.');
+
+ // default:
+ // // Ignore
+ // }
+ // };
+ // }
+ // };
+ // }).catch(function(e) {
+ // console.error('Error during service worker registration:', e);
+ // });
+ // }
+ // });
+})();
diff --git a/.documentation/build/utils.js b/.documentation/build/utils.js
new file mode 100644
index 000000000000..7f8a0861c1a7
--- /dev/null
+++ b/.documentation/build/utils.js
@@ -0,0 +1,73 @@
+'use strict'
+
+const path = require('path')
+const config = require('../config')
+const ExtractTextPlugin = require('extract-text-webpack-plugin')
+
+exports.assetsPath = function (_path) {
+ const assetsSubDirectory = process.env.NODE_ENV === 'production'
+ ? config.build.assetsSubDirectory
+ : config.dev.assetsSubDirectory
+ return path.posix.join(assetsSubDirectory, _path)
+}
+
+exports.cssLoaders = function (options) {
+ options = options || {}
+
+ const cssLoader = {
+ loader: 'css-loader',
+ options: {
+ minimize: process.env.NODE_ENV === 'production',
+ sourceMap: options.sourceMap
+ }
+ }
+
+ // generate loader string to be used with extract text plugin
+ function generateLoaders (loader, loaderOptions) {
+ const loaders = [cssLoader]
+ if (loader) {
+ loaders.push({
+ loader: loader + '-loader',
+ options: Object.assign({}, loaderOptions, {
+ sourceMap: options.sourceMap
+ })
+ })
+ }
+
+ // Extract CSS when that option is specified
+ // (which is the case during production build)
+ if (options.extract) {
+ return ExtractTextPlugin.extract({
+ use: loaders,
+ fallback: 'vue-style-loader'
+ })
+ } else {
+ return ['vue-style-loader'].concat(loaders)
+ }
+ }
+
+ // https://vue-loader.vuejs.org/en/configurations/extract-css.html
+ return {
+ css: generateLoaders(),
+ postcss: generateLoaders(),
+ less: generateLoaders('less'),
+ sass: generateLoaders('sass', { indentedSyntax: true }),
+ scss: generateLoaders('sass'),
+ stylus: generateLoaders('stylus'),
+ styl: generateLoaders('stylus')
+ }
+}
+
+// Generate loaders for standalone style files (outside of .vue)
+exports.styleLoaders = function (options) {
+ const output = []
+ const loaders = exports.cssLoaders(options)
+ for (const extension in loaders) {
+ const loader = loaders[extension]
+ output.push({
+ test: new RegExp('\\.' + extension + '$'),
+ use: loader
+ })
+ }
+ return output
+}
diff --git a/.documentation/build/vue-loader.conf.js b/.documentation/build/vue-loader.conf.js
new file mode 100644
index 000000000000..df552f78b8f7
--- /dev/null
+++ b/.documentation/build/vue-loader.conf.js
@@ -0,0 +1,20 @@
+'use strict'
+
+const utils = require('./utils')
+const config = require('../config')
+const isProduction = process.env.NODE_ENV === 'production'
+
+module.exports = {
+ loaders: utils.cssLoaders({
+ sourceMap: isProduction
+ ? config.build.productionSourceMap
+ : config.dev.cssSourceMap,
+ extract: isProduction
+ }),
+ transformToRequire: {
+ video: ['src', 'poster'],
+ source: 'src',
+ img: 'src',
+ image: 'xlink:href'
+ }
+}
diff --git a/.documentation/build/webpack.base.conf.js b/.documentation/build/webpack.base.conf.js
new file mode 100644
index 000000000000..7ff1f17cb572
--- /dev/null
+++ b/.documentation/build/webpack.base.conf.js
@@ -0,0 +1,88 @@
+'use strict'
+
+const path = require('path')
+const utils = require('./utils')
+const config = require('../config')
+const vueLoaderConfig = require('./vue-loader.conf')
+
+function resolve (dir) {
+ return path.join(__dirname, '..', dir)
+}
+
+module.exports = {
+ entry: {
+ app: './src/main.js'
+ },
+ output: {
+ path: config.build.assetsRoot,
+ filename: '[name].js',
+ publicPath: process.env.NODE_ENV === 'production'
+ ? config.build.assetsPublicPath
+ : config.dev.assetsPublicPath
+ },
+ resolve: {
+ extensions: ['.js', '.vue', '.json'],
+ alias: {
+ '@': resolve('src')
+ }
+ },
+ module: {
+ rules: [
+ {
+ test: /\.md$/,
+ loader: 'vue-markdown-loader',
+ options: {
+ preventExtract: true,
+ wrapper: 'article'
+ }
+ },
+ {
+ test: /\.s[a|c]ss$/,
+ loader: 'style!css!sass'
+ },
+ {
+ test: /\.(js|vue)$/,
+ loader: 'eslint-loader',
+ enforce: 'pre',
+ include: [resolve('src'), resolve('test')],
+ options: {
+ formatter: require('eslint-friendly-formatter')
+ }
+ },
+ {
+ test: /\.vue$/,
+ loader: 'vue-loader',
+ options: vueLoaderConfig
+ },
+ {
+ test: /\.js$/,
+ loader: 'babel-loader',
+ include: [resolve('src'), resolve('test')]
+ },
+ {
+ test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
+ loader: 'url-loader',
+ options: {
+ limit: 10000,
+ name: utils.assetsPath('img/[name].[hash:7].[ext]')
+ }
+ },
+ {
+ test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
+ loader: 'url-loader',
+ options: {
+ limit: 10000,
+ name: utils.assetsPath('media/[name].[hash:7].[ext]')
+ }
+ },
+ {
+ test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
+ loader: 'url-loader',
+ options: {
+ limit: 10000,
+ name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
+ }
+ }
+ ]
+ }
+}
diff --git a/.documentation/build/webpack.dev.conf.js b/.documentation/build/webpack.dev.conf.js
new file mode 100644
index 000000000000..fa7d47649342
--- /dev/null
+++ b/.documentation/build/webpack.dev.conf.js
@@ -0,0 +1,69 @@
+'use strict'
+
+const fs = require('fs')
+const path = require('path')
+const utils = require('./utils')
+const webpack = require('webpack')
+const config = require('../config')
+const merge = require('webpack-merge')
+const baseWebpackConfig = require('./webpack.base.conf')
+const HtmlWebpackPlugin = require('html-webpack-plugin')
+const CopyWebpackPlugin = require('copy-webpack-plugin')
+const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
+const StylelintPlugin = require('stylelint-webpack-plugin')
+
+// add hot-reload related code to entry chunks
+Object.keys(baseWebpackConfig.entry).forEach(function (name) {
+ baseWebpackConfig.entry[name] = ['./build/dev-client'].concat(baseWebpackConfig.entry[name])
+})
+
+module.exports = merge(baseWebpackConfig, {
+ module: {
+ rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap })
+ },
+ // cheap-module-eval-source-map is faster for development
+ devtool: '#cheap-module-eval-source-map',
+ plugins: [
+ new webpack.DefinePlugin({
+ 'process.env': config.dev.env
+ }),
+ // https://github.com/glenjamin/webpack-hot-middleware#installation--usage
+ new webpack.HotModuleReplacementPlugin(),
+ new webpack.NoEmitOnErrorsPlugin(),
+ // https://github.com/ampedandwired/html-webpack-plugin
+ new HtmlWebpackPlugin({
+ filename: 'index.html',
+ template: 'index.html',
+ inject: true,
+ serviceWorkerLoader: ``
+ }),
+ // copy docs and other folders from repo root into this app
+ new CopyWebpackPlugin([
+ {
+ from: path.normalize(path.resolve(__dirname, '../../docs/**/*')),
+ to: path.join('static', 'docs'),
+ toType: 'dir'
+ },
+
+ {
+ from: path.normalize(path.resolve(__dirname, '../../CONTRIBUTING.md')),
+ to: path.join('static', 'github'),
+ toType: 'dir'
+ },
+
+ {
+ from: path.normalize(path.resolve(__dirname, '../../CODE_OF_CONDUCT.md')),
+ to: path.join('static', 'github'),
+ toType: 'dir'
+ }
+ ], {
+ debug: 'info',
+ ignore: ['.*']
+ }),
+ new StylelintPlugin({
+ files: ['src/**/*.vue', '**/*.s?(a|c)ss']
+ }),
+ new FriendlyErrorsPlugin()
+ ]
+})
diff --git a/.documentation/build/webpack.prod.conf.js b/.documentation/build/webpack.prod.conf.js
new file mode 100644
index 000000000000..f0a373b8a742
--- /dev/null
+++ b/.documentation/build/webpack.prod.conf.js
@@ -0,0 +1,161 @@
+'use strict'
+
+const fs = require('fs')
+const path = require('path')
+const utils = require('./utils')
+const webpack = require('webpack')
+const config = require('../config')
+const merge = require('webpack-merge')
+const baseWebpackConfig = require('./webpack.base.conf')
+const CopyWebpackPlugin = require('copy-webpack-plugin')
+const HtmlWebpackPlugin = require('html-webpack-plugin')
+const ExtractTextPlugin = require('extract-text-webpack-plugin')
+const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
+const SWPrecacheWebpackPlugin = require('sw-precache-webpack-plugin')
+const loadMinified = require('./load-minified')
+
+const env = process.env.NODE_ENV === 'testing'
+ ? require('../config/test.env')
+ : config.build.env
+
+const webpackConfig = merge(baseWebpackConfig, {
+ module: {
+ rules: utils.styleLoaders({
+ sourceMap: config.build.productionSourceMap,
+ extract: true
+ })
+ },
+ devtool: config.build.productionSourceMap ? '#source-map' : false,
+ output: {
+ path: config.build.assetsRoot,
+ filename: utils.assetsPath('js/[name].[chunkhash].js'),
+ chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
+ },
+ plugins: [
+ // http://vuejs.github.io/vue-loader/en/workflow/production.html
+ new webpack.DefinePlugin({
+ 'process.env': env
+ }),
+ new webpack.optimize.UglifyJsPlugin({
+ compress: {
+ warnings: false
+ },
+ sourceMap: true
+ }),
+ // extract css into its own file
+ new ExtractTextPlugin({
+ filename: utils.assetsPath('css/[name].[contenthash].css')
+ }),
+ // Compress extracted CSS. We are using this plugin so that possible
+ // duplicated CSS from different components can be deduped.
+ new OptimizeCSSPlugin({
+ cssProcessorOptions: {
+ safe: true
+ }
+ }),
+ // generate dist index.html with correct asset hash for caching.
+ // you can customize output by editing /index.html
+ // see https://github.com/ampedandwired/html-webpack-plugin
+ new HtmlWebpackPlugin({
+ filename: process.env.NODE_ENV === 'testing'
+ ? 'index.html'
+ : config.build.index,
+ template: 'index.html',
+ inject: true,
+ minify: {
+ removeComments: true,
+ collapseWhitespace: true,
+ removeAttributeQuotes: true
+ // more options:
+ // https://github.com/kangax/html-minifier#options-quick-reference
+ },
+ // necessary to consistently work with multiple chunks via CommonsChunkPlugin
+ chunksSortMode: 'dependency',
+ serviceWorkerLoader: ``
+ }),
+ // split vendor js into its own file
+ new webpack.optimize.CommonsChunkPlugin({
+ name: 'vendor',
+ minChunks: function (module, count) {
+ // any required modules inside node_modules are extracted to vendor
+ return (
+ module.resource &&
+ /\.js$/.test(module.resource) &&
+ module.resource.indexOf(
+ path.join(__dirname, '../node_modules')
+ ) === 0
+ )
+ }
+ }),
+ // extract webpack runtime and module manifest to its own file in order to
+ // prevent vendor hash from being updated whenever app bundle is updated
+ new webpack.optimize.CommonsChunkPlugin({
+ name: 'manifest',
+ chunks: ['vendor']
+ }),
+ // copy custom static assets
+ new CopyWebpackPlugin([
+ {
+ from: path.normalize(path.resolve(__dirname, '../static/**/*')),
+ to: `${config.build.assetsSubDirectory}/`,
+ transformPath (targetPath, absolutePath) {
+ // This addresses an issue where the pattern results in double-prefix.
+ return targetPath.replace("static/static", "static");
+ }
+ },
+
+ {
+ from: path.normalize(path.resolve(__dirname, '../../docs/**/*')),
+ to: `${config.build.assetsSubDirectory}/docs`,
+ toType: 'dir'
+ },
+
+ {
+ from: path.normalize(path.resolve(__dirname, '../../CONTRIBUTING.md')),
+ to: `${config.build.assetsSubDirectory}/github/`
+ },
+
+ {
+ from: path.normalize(path.resolve(__dirname, '../../CODE_OF_CONDUCT.md')),
+ to: `${config.build.assetsSubDirectory}/github/`
+ }
+ ], {
+ debug: 'info',
+ ignore: ['.*']
+ }),
+ // service worker caching
+ new SWPrecacheWebpackPlugin({
+ cacheId: 'playbook',
+ filename: 'service-worker.js',
+ staticFileGlobs: ['dist/**/*.{js,html,css}'],
+ minify: true,
+ stripPrefix: 'dist/'
+ })
+ ]
+})
+
+if (config.build.productionGzip) {
+ const CompressionWebpackPlugin = require('compression-webpack-plugin')
+
+ webpackConfig.plugins.push(
+ new CompressionWebpackPlugin({
+ asset: '[path].gz[query]',
+ algorithm: 'gzip',
+ test: new RegExp(
+ '\\.(' +
+ config.build.productionGzipExtensions.join('|') +
+ ')$'
+ ),
+ threshold: 10240,
+ minRatio: 0.8
+ })
+ )
+}
+
+if (config.build.bundleAnalyzerReport) {
+ const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
+ webpackConfig.plugins.push(new BundleAnalyzerPlugin())
+}
+
+module.exports = webpackConfig
diff --git a/.documentation/build/webpack.test.conf.js b/.documentation/build/webpack.test.conf.js
new file mode 100644
index 000000000000..a0f0223fd87d
--- /dev/null
+++ b/.documentation/build/webpack.test.conf.js
@@ -0,0 +1,33 @@
+'use strict'
+
+// This is the webpack config used for unit tests.
+
+const utils = require('./utils')
+const webpack = require('webpack')
+const merge = require('webpack-merge')
+const baseConfig = require('./webpack.base.conf')
+
+const webpackConfig = merge(baseConfig, {
+ // use inline sourcemap for karma-sourcemap-loader
+ module: {
+ rules: utils.styleLoaders()
+ },
+ devtool: '#inline-source-map',
+ resolveLoader: {
+ alias: {
+ // necessary to to make lang="scss" work in test when using vue-loader's ?inject option
+ // see discussion at https://github.com/vuejs/vue-loader/issues/724
+ 'scss-loader': 'sass-loader'
+ }
+ },
+ plugins: [
+ new webpack.DefinePlugin({
+ 'process.env': require('../config/test.env')
+ })
+ ]
+})
+
+// no need for app entry during tests
+delete webpackConfig.entry
+
+module.exports = webpackConfig
diff --git a/.documentation/config/dev.env.js b/.documentation/config/dev.env.js
new file mode 100644
index 000000000000..9423fde32b23
--- /dev/null
+++ b/.documentation/config/dev.env.js
@@ -0,0 +1,8 @@
+'use strict'
+
+const merge = require('webpack-merge')
+const prodEnv = require('./prod.env')
+
+module.exports = merge(prodEnv, {
+ NODE_ENV: '"development"'
+})
diff --git a/.documentation/config/index.js b/.documentation/config/index.js
new file mode 100644
index 000000000000..1167ec26c6cd
--- /dev/null
+++ b/.documentation/config/index.js
@@ -0,0 +1,40 @@
+'use strict'
+
+// see http://vuejs-templates.github.io/webpack for documentation.
+const path = require('path')
+
+module.exports = {
+ build: {
+ env: require('./prod.env'),
+ index: path.resolve(__dirname, '../dist/index.html'),
+ assetsRoot: path.resolve(__dirname, '../dist'),
+ assetsSubDirectory: 'static',
+ assetsPublicPath: (process.env.GH_PAGES === 'true') ? '/openapi-generator/' : '/',
+ productionSourceMap: true,
+ // Gzip off by default as many popular static hosts such as
+ // Surge or Netlify already gzip all static assets for you.
+ // Before setting to `true`, make sure to:
+ // npm install --save-dev compression-webpack-plugin
+ productionGzip: false,
+ productionGzipExtensions: ['js', 'css'],
+ // Run the build command with an extra argument to
+ // View the bundle analyzer report after build finishes:
+ // `npm run build --report`
+ // Set to `true` or `false` to always turn it on or off
+ bundleAnalyzerReport: process.env.npm_config_report
+ },
+ dev: {
+ env: require('./dev.env'),
+ port: 8080,
+ autoOpenBrowser: true,
+ assetsSubDirectory: 'static',
+ assetsPublicPath: '/',
+ proxyTable: {},
+ // CSS Sourcemaps off by default because relative paths are "buggy"
+ // with this option, according to the CSS-Loader README
+ // (https://github.com/webpack/css-loader#sourcemaps)
+ // In our experience, they generally work as expected,
+ // just be aware of this issue when enabling this option.
+ cssSourceMap: false
+ }
+}
diff --git a/.documentation/config/prod.env.js b/.documentation/config/prod.env.js
new file mode 100644
index 000000000000..773d263d3126
--- /dev/null
+++ b/.documentation/config/prod.env.js
@@ -0,0 +1,3 @@
+module.exports = {
+ NODE_ENV: '"production"'
+}
diff --git a/.documentation/config/test.env.js b/.documentation/config/test.env.js
new file mode 100644
index 000000000000..e2ca17093ebf
--- /dev/null
+++ b/.documentation/config/test.env.js
@@ -0,0 +1,8 @@
+'use strict'
+
+const merge = require('webpack-merge')
+const devEnv = require('./dev.env')
+
+module.exports = merge(devEnv, {
+ NODE_ENV: '"testing"'
+})
diff --git a/.documentation/dist/index.html b/.documentation/dist/index.html
new file mode 100644
index 000000000000..8422aa894f22
--- /dev/null
+++ b/.documentation/dist/index.html
@@ -0,0 +1,3 @@
+Playbook
\ No newline at end of file
diff --git a/.documentation/dist/service-worker.js b/.documentation/dist/service-worker.js
new file mode 100644
index 000000000000..c113e68a8a37
--- /dev/null
+++ b/.documentation/dist/service-worker.js
@@ -0,0 +1 @@
+"use strict";var precacheConfig=[["index.html","32a74e2c045505d7c0a081c70c3aa51a"],["service-worker.js","62b3ca3c8cdef26212514a28066c2189"],["static/css/app.5a71da964ffe16ccc9d8203a64e68931.css","d091769a84e4c9d06803142db7557696"],["static/js/0.24438708202b6a6a6bcb.js","4cdc85fdddd9816a37f565a3d6bacd22"],["static/js/app.681265bd60105ee484c4.js","b51389320a99e7e34d2230cbc4816cab"],["static/js/manifest.ad3c3677a5fd310aec43.js","4a95124310173b958fd4b803cdde917a"],["static/js/vendor.a5f7c8ce1f18c2ec1121.js","a9c94a4a61fd52f4995e2d523063fc03"]],cacheName="sw-precache-v3-playbook-"+(self.registration?self.registration.scope:""),ignoreUrlParametersMatching=[/^utm_/],addDirectoryIndex=function(e,t){var n=new URL(e);return"/"===n.pathname.slice(-1)&&(n.pathname+=t),n.toString()},cleanResponse=function(e){return e.redirected?("body"in e?Promise.resolve(e.body):e.blob()).then(function(t){return new Response(t,{headers:e.headers,status:e.status,statusText:e.statusText})}):Promise.resolve(e)},createCacheKey=function(e,t,n,r){var a=new URL(e);return r&&a.pathname.match(r)||(a.search+=(a.search?"&":"")+encodeURIComponent(t)+"="+encodeURIComponent(n)),a.toString()},isPathWhitelisted=function(e,t){if(0===e.length)return!0;var n=new URL(t).pathname;return e.some(function(e){return n.match(e)})},stripIgnoredUrlParameters=function(e,t){var n=new URL(e);return n.hash="",n.search=n.search.slice(1).split("&").map(function(e){return e.split("=")}).filter(function(e){return t.every(function(t){return!t.test(e[0])})}).map(function(e){return e.join("=")}).join("&"),n.toString()},hashParamName="_sw-precache",urlsToCacheKeys=new Map(precacheConfig.map(function(e){var t=e[0],n=e[1],r=new URL(t,self.location),a=createCacheKey(r,hashParamName,n,!1);return[r.toString(),a]}));function setOfCachedUrls(e){return e.keys().then(function(e){return e.map(function(e){return e.url})}).then(function(e){return new Set(e)})}self.addEventListener("install",function(e){e.waitUntil(caches.open(cacheName).then(function(e){return setOfCachedUrls(e).then(function(t){return Promise.all(Array.from(urlsToCacheKeys.values()).map(function(n){if(!t.has(n)){var r=new Request(n,{credentials:"same-origin"});return fetch(r).then(function(t){if(!t.ok)throw new Error("Request for "+n+" returned a response with status "+t.status);return cleanResponse(t).then(function(t){return e.put(n,t)})})}}))})}).then(function(){return self.skipWaiting()}))}),self.addEventListener("activate",function(e){var t=new Set(urlsToCacheKeys.values());e.waitUntil(caches.open(cacheName).then(function(e){return e.keys().then(function(n){return Promise.all(n.map(function(n){if(!t.has(n.url))return e.delete(n)}))})}).then(function(){return self.clients.claim()}))}),self.addEventListener("fetch",function(e){if("GET"===e.request.method){var t,n=stripIgnoredUrlParameters(e.request.url,ignoreUrlParametersMatching);(t=urlsToCacheKeys.has(n))||(n=addDirectoryIndex(n,"index.html"),t=urlsToCacheKeys.has(n));0,t&&e.respondWith(caches.open(cacheName).then(function(e){return e.match(urlsToCacheKeys.get(n)).then(function(e){if(e)return e;throw Error("The cached response that was expected is missing.")})}).catch(function(t){return console.warn('Couldn\'t serve response for "%s" from cache: %O',e.request.url,t),fetch(e.request)}))}});
\ No newline at end of file
diff --git a/.documentation/dist/static/content.json b/.documentation/dist/static/content.json
new file mode 100644
index 000000000000..04dddf82b56a
--- /dev/null
+++ b/.documentation/dist/static/content.json
@@ -0,0 +1 @@
+[{"name":"About","description":"OpenAPI Generator","path":"/oas","text":"","wordCount":0,"type":"TOC"},{"name":"Core Team","description":"Core Team Members","path":"/oas/core-team","text":"","wordCount":0,"type":"Content"},{"name":"Roadmap","description":"Where the project is headed","path":"/oas/roadmap","text":"","wordCount":0,"type":"Content"},{"name":"FAQs","description":"Frequently Asked Questions","path":"/oas/faq","text":"","wordCount":0,"type":"Content"},{"name":"Migrate from Swagger Codegen","description":"Details about how or why to migrate","path":"/oas/migrate","text":"","wordCount":0,"type":"TOC"},{"name":"Migration process","description":"How to migrate from Swagger Codegen","path":"/oas/migrate/how-to","text":"","wordCount":0,"type":"Content"},{"name":"Questions and Answers","description":"Explains why this fork exists","path":"/oas/migrate/qna","text":"","wordCount":0,"type":"Content"},{"name":"Process Documentation","description":"anything about process","path":"/process","text":"","wordCount":0,"type":"TOC"},{"name":"Contributing","description":"Contribution Process and Guidelines","path":"/process/contributing","text":"","wordCount":0,"type":"TOC"},{"name":"Guidelines","description":"Contributing Guidelines for GitHub","path":"/process/contributing/guidelines","text":"","wordCount":0,"type":"Content"},{"name":"Code of Conduct","description":"Code of Conduct for GitHub","path":"/process/contributing/conduct","text":"","wordCount":0,"type":"Content"},{"name":"Extending","description":"How to extend the generator","path":"/process/extending","text":"","wordCount":0,"type":"TOC"},{"name":"Customization","description":"Customizing the generator","path":"/process/extending/customization","text":"","wordCount":0,"type":"Content"},{"name":"Integration","description":"Integration with build tools","path":"/process/extending/integration","text":"","wordCount":0,"type":"Content"},{"name":"Documentation","description":"Documentation processes and practices","path":"/process/documentation","text":"","wordCount":0,"type":"TOC"},{"name":"New Pages HowTo","description":"how to create new Pages on the playbook","path":"/process/documentation/newPagesHowto","text":"","wordCount":0,"type":"Content"},{"name":"Releases","description":"Major release notes","path":"/releases","text":"","wordCount":0,"type":"TOC"},{"name":"3.0.0","description":"3.0.0 Release Notes","path":"/releases/3.0.0","text":"","wordCount":0,"type":"Content"},{"name":"Generators","description":"List of generators and their options","path":"/generators","text":"","wordCount":0,"type":"TOC"},{"name":"ada-server","description":"ada-server.md","path":"/generators/ada-server","text":"","wordCount":0,"type":"Content"},{"name":"ada","description":"ada.md","path":"/generators/ada","text":"","wordCount":0,"type":"Content"},{"name":"android","description":"android.md","path":"/generators/android","text":"","wordCount":0,"type":"Content"},{"name":"apache2","description":"apache2.md","path":"/generators/apache2","text":"","wordCount":0,"type":"Content"},{"name":"apex","description":"apex.md","path":"/generators/apex","text":"","wordCount":0,"type":"Content"},{"name":"aspnetcore","description":"aspnetcore.md","path":"/generators/aspnetcore","text":"","wordCount":0,"type":"Content"},{"name":"bash","description":"bash.md","path":"/generators/bash","text":"","wordCount":0,"type":"Content"},{"name":"clojure","description":"clojure.md","path":"/generators/clojure","text":"","wordCount":0,"type":"Content"},{"name":"cpp-pistache-server","description":"cpp-pistache-server.md","path":"/generators/cpp-pistache-server","text":"","wordCount":0,"type":"Content"},{"name":"cpp-qt5-qhttpengine-server","description":"cpp-qt5-qhttpengine-server.md","path":"/generators/cpp-qt5-qhttpengine-server","text":"","wordCount":0,"type":"Content"},{"name":"cpp-qt5","description":"cpp-qt5.md","path":"/generators/cpp-qt5","text":"","wordCount":0,"type":"Content"},{"name":"cpp-restbed-server","description":"cpp-restbed-server.md","path":"/generators/cpp-restbed-server","text":"","wordCount":0,"type":"Content"},{"name":"cpp-restsdk","description":"cpp-restsdk.md","path":"/generators/cpp-restsdk","text":"","wordCount":0,"type":"Content"},{"name":"cpp-tizen","description":"cpp-tizen.md","path":"/generators/cpp-tizen","text":"","wordCount":0,"type":"Content"},{"name":"csharp-dotnet2","description":"csharp-dotnet2.md","path":"/generators/csharp-dotnet2","text":"","wordCount":0,"type":"Content"},{"name":"csharp-nancyfx","description":"csharp-nancyfx.md","path":"/generators/csharp-nancyfx","text":"","wordCount":0,"type":"Content"},{"name":"csharp","description":"csharp.md","path":"/generators/csharp","text":"","wordCount":0,"type":"Content"},{"name":"cwiki","description":"cwiki.md","path":"/generators/cwiki","text":"","wordCount":0,"type":"Content"},{"name":"dart-jaguar","description":"dart-jaguar.md","path":"/generators/dart-jaguar","text":"","wordCount":0,"type":"Content"},{"name":"dart","description":"dart.md","path":"/generators/dart","text":"","wordCount":0,"type":"Content"},{"name":"dynamic-html","description":"dynamic-html.md","path":"/generators/dynamic-html","text":"","wordCount":0,"type":"Content"},{"name":"eiffel","description":"eiffel.md","path":"/generators/eiffel","text":"","wordCount":0,"type":"Content"},{"name":"elixir","description":"elixir.md","path":"/generators/elixir","text":"","wordCount":0,"type":"Content"},{"name":"elm","description":"elm.md","path":"/generators/elm","text":"","wordCount":0,"type":"Content"},{"name":"erlang-client","description":"erlang-client.md","path":"/generators/erlang-client","text":"","wordCount":0,"type":"Content"},{"name":"erlang-server","description":"erlang-server.md","path":"/generators/erlang-server","text":"","wordCount":0,"type":"Content"},{"name":"flash","description":"flash.md","path":"/generators/flash","text":"","wordCount":0,"type":"Content"},{"name":"go-gin-server","description":"go-gin-server.md","path":"/generators/go-gin-server","text":"","wordCount":0,"type":"Content"},{"name":"go-server","description":"go-server.md","path":"/generators/go-server","text":"","wordCount":0,"type":"Content"},{"name":"go","description":"go.md","path":"/generators/go","text":"","wordCount":0,"type":"Content"},{"name":"groovy","description":"groovy.md","path":"/generators/groovy","text":"","wordCount":0,"type":"Content"},{"name":"haskell-http-client","description":"haskell-http-client.md","path":"/generators/haskell-http-client","text":"","wordCount":0,"type":"Content"},{"name":"haskell","description":"haskell.md","path":"/generators/haskell","text":"","wordCount":0,"type":"Content"},{"name":"html","description":"html.md","path":"/generators/html","text":"","wordCount":0,"type":"Content"},{"name":"html2","description":"html2.md","path":"/generators/html2","text":"","wordCount":0,"type":"Content"},{"name":"java-inflector","description":"java-inflector.md","path":"/generators/java-inflector","text":"","wordCount":0,"type":"Content"},{"name":"java-msf4j","description":"java-msf4j.md","path":"/generators/java-msf4j","text":"","wordCount":0,"type":"Content"},{"name":"java-pkmst","description":"java-pkmst.md","path":"/generators/java-pkmst","text":"","wordCount":0,"type":"Content"},{"name":"java-play-framework","description":"java-play-framework.md","path":"/generators/java-play-framework","text":"","wordCount":0,"type":"Content"},{"name":"java-undertow-server","description":"java-undertow-server.md","path":"/generators/java-undertow-server","text":"","wordCount":0,"type":"Content"},{"name":"java-vertx","description":"java-vertx.md","path":"/generators/java-vertx","text":"","wordCount":0,"type":"Content"},{"name":"java","description":"java.md","path":"/generators/java","text":"","wordCount":0,"type":"Content"},{"name":"javascript-closure-angular","description":"javascript-closure-angular.md","path":"/generators/javascript-closure-angular","text":"","wordCount":0,"type":"Content"},{"name":"javascript-flowtyped","description":"javascript-flowtyped.md","path":"/generators/javascript-flowtyped","text":"","wordCount":0,"type":"Content"},{"name":"javascript","description":"javascript.md","path":"/generators/javascript","text":"","wordCount":0,"type":"Content"},{"name":"jaxrs-cxf-cdi","description":"jaxrs-cxf-cdi.md","path":"/generators/jaxrs-cxf-cdi","text":"","wordCount":0,"type":"Content"},{"name":"jaxrs-cxf-client","description":"jaxrs-cxf-client.md","path":"/generators/jaxrs-cxf-client","text":"","wordCount":0,"type":"Content"},{"name":"jaxrs-cxf","description":"jaxrs-cxf.md","path":"/generators/jaxrs-cxf","text":"","wordCount":0,"type":"Content"},{"name":"jaxrs-jersey","description":"jaxrs-jersey.md","path":"/generators/jaxrs-jersey","text":"","wordCount":0,"type":"Content"},{"name":"jaxrs-resteasy-eap","description":"jaxrs-resteasy-eap.md","path":"/generators/jaxrs-resteasy-eap","text":"","wordCount":0,"type":"Content"},{"name":"jaxrs-resteasy","description":"jaxrs-resteasy.md","path":"/generators/jaxrs-resteasy","text":"","wordCount":0,"type":"Content"},{"name":"jaxrs-spec","description":"jaxrs-spec.md","path":"/generators/jaxrs-spec","text":"","wordCount":0,"type":"Content"},{"name":"jmeter","description":"jmeter.md","path":"/generators/jmeter","text":"","wordCount":0,"type":"Content"},{"name":"kotlin-server","description":"kotlin-server.md","path":"/generators/kotlin-server","text":"","wordCount":0,"type":"Content"},{"name":"kotlin-spring","description":"kotlin-spring.md","path":"/generators/kotlin-spring","text":"","wordCount":0,"type":"Content"},{"name":"kotlin","description":"kotlin.md","path":"/generators/kotlin","text":"","wordCount":0,"type":"Content"},{"name":"lua","description":"lua.md","path":"/generators/lua","text":"","wordCount":0,"type":"Content"},{"name":"mysql-schema","description":"mysql-schema.md","path":"/generators/mysql-schema","text":"","wordCount":0,"type":"Content"},{"name":"nodejs-server","description":"nodejs-server.md","path":"/generators/nodejs-server","text":"","wordCount":0,"type":"Content"},{"name":"objc","description":"objc.md","path":"/generators/objc","text":"","wordCount":0,"type":"Content"},{"name":"openapi-yaml","description":"openapi-yaml.md","path":"/generators/openapi-yaml","text":"","wordCount":0,"type":"Content"},{"name":"openapi","description":"openapi.md","path":"/generators/openapi","text":"","wordCount":0,"type":"Content"},{"name":"perl","description":"perl.md","path":"/generators/perl","text":"","wordCount":0,"type":"Content"},{"name":"php-laravel","description":"php-laravel.md","path":"/generators/php-laravel","text":"","wordCount":0,"type":"Content"},{"name":"php-lumen","description":"php-lumen.md","path":"/generators/php-lumen","text":"","wordCount":0,"type":"Content"},{"name":"php-silex","description":"php-silex.md","path":"/generators/php-silex","text":"","wordCount":0,"type":"Content"},{"name":"php-slim","description":"php-slim.md","path":"/generators/php-slim","text":"","wordCount":0,"type":"Content"},{"name":"php-symfony","description":"php-symfony.md","path":"/generators/php-symfony","text":"","wordCount":0,"type":"Content"},{"name":"php-ze-ph","description":"php-ze-ph.md","path":"/generators/php-ze-ph","text":"","wordCount":0,"type":"Content"},{"name":"php","description":"php.md","path":"/generators/php","text":"","wordCount":0,"type":"Content"},{"name":"powershell","description":"powershell.md","path":"/generators/powershell","text":"","wordCount":0,"type":"Content"},{"name":"python-flask","description":"python-flask.md","path":"/generators/python-flask","text":"","wordCount":0,"type":"Content"},{"name":"python","description":"python.md","path":"/generators/python","text":"","wordCount":0,"type":"Content"},{"name":"r","description":"r.md","path":"/generators/r","text":"","wordCount":0,"type":"Content"},{"name":"ruby-on-rails","description":"ruby-on-rails.md","path":"/generators/ruby-on-rails","text":"","wordCount":0,"type":"Content"},{"name":"ruby-sinatra","description":"ruby-sinatra.md","path":"/generators/ruby-sinatra","text":"","wordCount":0,"type":"Content"},{"name":"ruby","description":"ruby.md","path":"/generators/ruby","text":"","wordCount":0,"type":"Content"},{"name":"rust-server","description":"rust-server.md","path":"/generators/rust-server","text":"","wordCount":0,"type":"Content"},{"name":"rust","description":"rust.md","path":"/generators/rust","text":"","wordCount":0,"type":"Content"},{"name":"scala-akka","description":"scala-akka.md","path":"/generators/scala-akka","text":"","wordCount":0,"type":"Content"},{"name":"scala-finch","description":"scala-finch.md","path":"/generators/scala-finch","text":"","wordCount":0,"type":"Content"},{"name":"scala-gatling","description":"scala-gatling.md","path":"/generators/scala-gatling","text":"","wordCount":0,"type":"Content"},{"name":"scala-httpclient","description":"scala-httpclient.md","path":"/generators/scala-httpclient","text":"","wordCount":0,"type":"Content"},{"name":"scala-lagom-server","description":"scala-lagom-server.md","path":"/generators/scala-lagom-server","text":"","wordCount":0,"type":"Content"},{"name":"scalatra","description":"scalatra.md","path":"/generators/scalatra","text":"","wordCount":0,"type":"Content"},{"name":"scalaz","description":"scalaz.md","path":"/generators/scalaz","text":"","wordCount":0,"type":"Content"},{"name":"spring","description":"spring.md","path":"/generators/spring","text":"","wordCount":0,"type":"Content"},{"name":"swift2-deprecated","description":"swift2-deprecated.md","path":"/generators/swift2-deprecated","text":"","wordCount":0,"type":"Content"},{"name":"swift3","description":"swift3.md","path":"/generators/swift3","text":"","wordCount":0,"type":"Content"},{"name":"swift4","description":"swift4.md","path":"/generators/swift4","text":"","wordCount":0,"type":"Content"},{"name":"typescript-angular","description":"typescript-angular.md","path":"/generators/typescript-angular","text":"","wordCount":0,"type":"Content"},{"name":"typescript-angularjs","description":"typescript-angularjs.md","path":"/generators/typescript-angularjs","text":"","wordCount":0,"type":"Content"},{"name":"typescript-aurelia","description":"typescript-aurelia.md","path":"/generators/typescript-aurelia","text":"","wordCount":0,"type":"Content"},{"name":"typescript-axios","description":"typescript-axios.md","path":"/generators/typescript-axios","text":"","wordCount":0,"type":"Content"},{"name":"typescript-fetch","description":"typescript-fetch.md","path":"/generators/typescript-fetch","text":"","wordCount":0,"type":"Content"},{"name":"typescript-inversify","description":"typescript-inversify.md","path":"/generators/typescript-inversify","text":"","wordCount":0,"type":"Content"},{"name":"typescript-jquery","description":"typescript-jquery.md","path":"/generators/typescript-jquery","text":"","wordCount":0,"type":"Content"},{"name":"typescript-node","description":"typescript-node.md","path":"/generators/typescript-node","text":"","wordCount":0,"type":"Content"}]
\ No newline at end of file
diff --git a/.documentation/dist/static/css/app.5a71da964ffe16ccc9d8203a64e68931.css b/.documentation/dist/static/css/app.5a71da964ffe16ccc9d8203a64e68931.css
new file mode 100644
index 000000000000..58cc0ec39778
--- /dev/null
+++ b/.documentation/dist/static/css/app.5a71da964ffe16ccc9d8203a64e68931.css
@@ -0,0 +1 @@
+/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}.markdown-body{box-sizing:border-box;min-width:200px;max-width:980px;padding:45px;margin:0 auto}pre{padding:1rem;overflow-x:auto;background-color:#eee}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;src:local("IBM Plex Sans Bold"),local("IBMPlexSans-Bold"),url(/openapi-generator/static/fonts/IBMPlexSans-Bold-Cyrillic.7ac36dd.woff2) format("woff2"),url(/openapi-generator/static/fonts/IBMPlexSans-Bold-Cyrillic.d9e4536.woff) format("woff");unicode-range:"U+0400-045F, U+0472-0473, U+0490-049D, U+04A0-04A5, U+04AA-04AB, U+04AE-04B3, U+04B6-04BB, U+04C0-04C2, U+04CF-04D9, U+04DC-04DF, U+04E2-04E9, U+04EE-04F5, U+04F8-04F9"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;src:local("IBM Plex Sans Bold"),local("IBMPlexSans-Bold"),url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:"U+03C0, U+0E3F, U+2070, U+2074-2079, U+2080-2089, U+2113, U+2116, U+2126, U+212E, U+2150-2151, U+2153-215E, U+2190-2199, U+21A9-21AA, U+21B0-21B3, U+21B6-21B7, U+21BA-21BB, U+21C4, U+21C6, U+2202, U+2206, U+220F, U+2211, U+221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25CA, U+2713, U+274C, U+2B0E-2B11, U+EBE1, U+EBE3-EBE4, U+EBE6-EBE7, U+ECE0, U+EFCC"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;src:local("IBM Plex Sans Bold"),local("IBMPlexSans-Bold"),url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:"U+0102-0103, U+1EA0-1EF9, U+20AB"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;src:local("IBM Plex Sans Bold"),local("IBMPlexSans-Bold"),url(/openapi-generator/static/fonts/IBMPlexSans-Bold-Latin2.00b6015.woff2) format("woff2"),url(/openapi-generator/static/fonts/IBMPlexSans-Bold-Latin2.9c0bf72.woff) format("woff");unicode-range:"U+0100-024F, U+0259, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF, U+FB01-FB02"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;src:local("IBM Plex Sans Bold"),local("IBMPlexSans-Bold"),url(/openapi-generator/static/fonts/IBMPlexSans-Bold-Latin1.2c928b7.woff2) format("woff2"),url(/openapi-generator/static/fonts/IBMPlexSans-Bold-Latin1.22b3631.woff) format("woff");unicode-range:"U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FB01-FB02"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:300;src:local("IBM Plex Sans Light"),local("IBMPlexSans-Light"),url(/openapi-generator/static/fonts/IBMPlexSans-Light-Cyrillic.046ef5a.woff2) format("woff2"),url(/openapi-generator/static/fonts/IBMPlexSans-Light-Cyrillic.f21e79f.woff) format("woff");unicode-range:"U+0400-045F, U+0472-0473, U+0490-049D, U+04A0-04A5, U+04AA-04AB, U+04AE-04B3, U+04B6-04BB, U+04C0-04C2, U+04CF-04D9, U+04DC-04DF, U+04E2-04E9, U+04EE-04F5, U+04F8-04F9"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:300;src:local("IBM Plex Sans Light"),local("IBMPlexSans-Light"),url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:"U+03C0, U+0E3F, U+2070, U+2074-2079, U+2080-2089, U+2113, U+2116, U+2126, U+212E, U+2150-2151, U+2153-215E, U+2190-2199, U+21A9-21AA, U+21B0-21B3, U+21B6-21B7, U+21BA-21BB, U+21C4, U+21C6, U+2202, U+2206, U+220F, U+2211, U+221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25CA, U+2713, U+274C, U+2B0E-2B11, U+EBE1, U+EBE3-EBE4, U+EBE6-EBE7, U+ECE0, U+EFCC"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:300;src:local("IBM Plex Sans Light"),local("IBMPlexSans-Light"),url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:"U+0102-0103, U+1EA0-1EF9, U+20AB"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:300;src:local("IBM Plex Sans Light"),local("IBMPlexSans-Light"),url(/openapi-generator/static/fonts/IBMPlexSans-Light-Latin2.c52f403.woff2) format("woff2"),url(/openapi-generator/static/fonts/IBMPlexSans-Light-Latin2.67c02e7.woff) format("woff");unicode-range:"U+0100-024F, U+0259, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF, U+FB01-FB02"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:300;src:local("IBM Plex Sans Light"),local("IBMPlexSans-Light"),url(/openapi-generator/static/fonts/IBMPlexSans-Light-Latin1.4d0f810.woff2) format("woff2"),url(/openapi-generator/static/fonts/IBMPlexSans-Light-Latin1.5729c23.woff) format("woff");unicode-range:"U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FB01-FB02"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;src:local("IBM Plex Sans Medium"),local("IBMPlexSans-Medium"),url(/openapi-generator/static/fonts/IBMPlexSans-Medium-Cyrillic.bb82848.woff2) format("woff2"),url(/openapi-generator/static/fonts/IBMPlexSans-Medium-Cyrillic.0dc3471.woff) format("woff");unicode-range:"U+0400-045F, U+0472-0473, U+0490-049D, U+04A0-04A5, U+04AA-04AB, U+04AE-04B3, U+04B6-04BB, U+04C0-04C2, U+04CF-04D9, U+04DC-04DF, U+04E2-04E9, U+04EE-04F5, U+04F8-04F9"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;src:local("IBM Plex Sans Medium"),local("IBMPlexSans-Medium"),url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:"U+03C0, U+0E3F, U+2070, U+2074-2079, U+2080-2089, U+2113, U+2116, U+2126, U+212E, U+2150-2151, U+2153-215E, U+2190-2199, U+21A9-21AA, U+21B0-21B3, U+21B6-21B7, U+21BA-21BB, U+21C4, U+21C6, U+2202, U+2206, U+220F, U+2211, U+221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25CA, U+2713, U+274C, U+2B0E-2B11, U+EBE1, U+EBE3-EBE4, U+EBE6-EBE7, U+ECE0, U+EFCC"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;src:local("IBM Plex Sans Medium"),local("IBMPlexSans-Medium"),url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:"U+0102-0103, U+1EA0-1EF9, U+20AB"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;src:local("IBM Plex Sans Medium"),local("IBMPlexSans-Medium"),url(/openapi-generator/static/fonts/IBMPlexSans-Medium-Latin2.9ef274f.woff2) format("woff2"),url(/openapi-generator/static/fonts/IBMPlexSans-Medium-Latin2.0f4235c.woff) format("woff");unicode-range:"U+0100-024F, U+0259, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF, U+FB01-FB02"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;src:local("IBM Plex Sans Medium"),local("IBMPlexSans-Medium"),url(/openapi-generator/static/fonts/IBMPlexSans-Medium-Latin1.63f9b4a.woff2) format("woff2"),url(/openapi-generator/static/fonts/IBMPlexSans-Medium-Latin1.af761cb.woff) format("woff");unicode-range:"U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FB01-FB02"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;src:local("IBM Plex Sans"),local("IBMPlexSans"),url(/openapi-generator/static/fonts/IBMPlexSans-Regular-Cyrillic.e9e6e22.woff2) format("woff2"),url(/openapi-generator/static/fonts/IBMPlexSans-Regular-Cyrillic.8d219fc.woff) format("woff");unicode-range:"U+0400-045F, U+0472-0473, U+0490-049D, U+04A0-04A5, U+04AA-04AB, U+04AE-04B3, U+04B6-04BB, U+04C0-04C2, U+04CF-04D9, U+04DC-04DF, U+04E2-04E9, U+04EE-04F5, U+04F8-04F9"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;src:local("IBM Plex Sans"),local("IBMPlexSans"),url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:"U+03C0, U+0E3F, U+2070, U+2074-2079, U+2080-2089, U+2113, U+2116, U+2126, U+212E, U+2150-2151, U+2153-215E, U+2190-2199, U+21A9-21AA, U+21B0-21B3, U+21B6-21B7, U+21BA-21BB, U+21C4, U+21C6, U+2202, U+2206, U+220F, U+2211, U+221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+25CA, U+2713, U+274C, U+2B0E-2B11, U+EBE1, U+EBE3-EBE4, U+EBE6-EBE7, U+ECE0, U+EFCC"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;src:local("IBM Plex Sans"),local("IBMPlexSans"),url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:"U+0102-0103, U+1EA0-1EF9, U+20AB"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;src:local("IBM Plex Sans"),local("IBMPlexSans"),url(/openapi-generator/static/fonts/IBMPlexSans-Regular-Latin2.99ee4d6.woff2) format("woff2"),url(/openapi-generator/static/fonts/IBMPlexSans-Regular-Latin2.b905d6a.woff) format("woff");unicode-range:"U+0100-024F, U+0259, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF, U+FB01-FB02"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;src:local("IBM Plex Sans"),local("IBMPlexSans"),url(/openapi-generator/static/fonts/IBMPlexSans-Regular-Latin1.40944ed.woff2) format("woff2"),url(/openapi-generator/static/fonts/IBMPlexSans-Regular-Latin1.538621e.woff) format("woff");unicode-range:"U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FB01-FB02"}body,html{padding:0;margin:0}*{box-sizing:border-box;font-family:IBM Plex Sans,Helvetica Neue,Arial,sans-serif}#app{-ms-flex-direction:column;flex-direction:column;height:100vh}#app,main{display:-ms-flexbox;display:flex;overflow:hidden}main{-ms-flex:1;flex:1}.container,main{-webkit-box-flex:1}.container{-ms-flex-positive:1;flex-grow:1;padding:0;margin:1px auto;overflow-y:scroll}.main__nav{position:absolute;left:-300px;z-index:2;box-sizing:border-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:left;align-items:left;min-width:300px;max-width:300px;height:calc(100% - 55px);padding:0;margin:0;overflow-x:hidden;overflow-y:auto;background-color:#f8f8f8;border-right:1px solid #ddd;transition:left .3s}.main__nav.active{left:0}.nav__search{position:relative;display:block;width:100%}.nav__search-input{width:100%;height:45px;padding:.5rem 2.5rem .5rem 1rem;background-color:#fff;border:none;border-bottom:1px solid #ddd}.nav__search-icon{position:absolute;top:12px;right:10px;width:20px;height:20px;cursor:pointer}.content{padding-right:1rem;padding-bottom:3rem;padding-left:1rem}.content iframe,.content img{max-width:100%}.content iframe{display:block;height:550px;min-height:550px}.footer{position:fixed;bottom:0;left:0;width:100%;height:60px;padding:20px;padding-left:70px;background:#ededed}.paragraph,p{margin-bottom:.4rem;font-size:1.1rem;font-weight:300;line-height:1.8rem}.background--light-gray{background-color:#f4f4f4}.ordered-list,ol{padding:0;margin:0;list-style:none}.unordered-list,ul{list-style:disc}li{font-size:1.2rem;font-weight:300;line-height:1.8rem}blockquote{position:relative}blockquote:before{position:absolute;top:0;left:-40px;height:100%;content:"";border-left:5px solid #2d74da}a{color:#2d74da;text-decoration:none}code{font-size:1rem}[tabindex="0"]:focus,a:focus{z-index:1000;outline-width:1px;outline-style:dashed;outline-color:#2d74da}.results__search{padding:1rem;margin:0;list-style:none}.results__search li{padding:1rem;margin-bottom:1.4rem}.results__search li:hover{background-color:#f4f4f4}.results__search h2{margin:0;font-size:1.4rem;color:#2d74da}.results__search p{margin:0;font-size:1rem}@media (min-width:780px){.container{padding:0}.main__nav{position:static;left:auto;height:auto}}.header{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-height:55px;max-height:55px;overflow:hidden;color:#fff;background:#2d74da}.header__hamburger{width:45px;height:45px;padding:5px;margin:5px;fill:#fff}.header__hamburger:hover{cursor:pointer;background:hsla(0,0%,100%,.2)}.header__name{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center;padding:10px;font-weight:200;color:#fff;white-space:nowrap}.header__name b{margin-left:5px;font-weight:800}.header__brand{-ms-flex:1;flex:1;-ms-flex-align:center;align-items:center}.header__brand,.nav{display:-ms-flexbox;display:flex}.nav{position:absolute;top:0;left:-200px;-ms-flex-direction:column;flex-direction:column;width:200px;height:100vh;background-color:#2d74da;border-right:1px solid #fff;transition:left .45s;transition-timing-function:ease-in-out}.nav.active{left:0}.nav__icon--close{-ms-flex-item-align:end;align-self:flex-end;height:48px;margin:5px}.nav__icon--close:hover{cursor:pointer;fill:#fff}.nav__list{height:100vh;padding:0;margin:0}.nav__item{display:block;padding:15px;color:#fff;text-decoration:none;border-left:5px solid transparent}.nav__item:first-child{border-top:1px solid #fff}.nav__item.router-link-active{border-left:5px solid #fff}@media (min-width:780px){.header{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-align:center;align-items:center;padding:0 .5rem}.header__hamburger,.nav__icon--close{display:none}.nav{position:static;top:auto;left:auto;width:auto;height:auto;border:none}.nav__list{display:-ms-flexbox;display:flex;height:auto;padding:initial;margin:initial}.nav__item{display:inherit;color:#fff}.nav__item,.nav__item:first-child{border:none}.nav__item.router-link-active{color:#fff;background-color:inherit;border-bottom:2px solid #fff;border-left:none}}.banner{position:-webkit-sticky;position:sticky;top:-156px;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:left;align-items:left;-ms-flex-pack:left;justify-content:left;height:auto;margin-bottom:5px;color:#000;background:#fff;border-bottom:1px solid #ddd}.banner__title{margin-top:.8rem;color:#000}.banner__text,.banner__title{margin-bottom:.3rem;margin-left:1rem;text-align:left}.banner__text{margin-top:0;font-size:1.2rem;font-weight:300;line-height:.7rem}.banner__timestamp{margin-top:0;margin-left:1rem;font-size:11px}.banner__text>a{color:inherit}.banner__text>a:focus{color:#000}.banner__btns{position:absolute;right:0;bottom:0;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;width:100%;padding-left:1rem;margin:2px;transform:translateY(50%)}.banner__btns *{outline:none}.banner__btn{position:relative;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:40px;height:40px;margin:0 .15rem;cursor:pointer;background-color:#fff;border:1px solid #bbb;border-radius:50%}.banner__btn .fa-1x{font-size:1.2em}.banner__btn span{position:absolute;top:-14px;padding:.15rem .5rem;font-size:12px;background-color:#f4f4f4;border:1px solid #eee;border-radius:8px}.banner__btn--search{position:absolute;top:0;left:0}.banner__btn--like:active{border-color:#27ae60}.banner__btn--dislike:active{border-color:#e00}.banner__btnLike{position:relative;z-index:2;display:-ms-flexbox;display:flex;-ms-flex-pack:flex-front;justify-content:flex-front;padding-left:0}.btn--comment,.btn--dislike,.btn--like{color:#888}.btn--comment:hover,.btn--dislike:hover,.btn--like:hover{color:#424242}.btn--like:active{color:#27ae60}.btn--dislike:active{color:#e00}.banner__btnDislike{-ms-flex-pack:flex-front}.banner__btnDislike,.banner__search{position:relative;z-index:2;display:-ms-flexbox;display:flex;justify-content:flex-front;padding-left:0}.banner__search{-ms-flex:1;flex:1;-ms-flex-pack:flex-front}.banner__search input{width:0;height:100%;padding:0 1rem;margin:0 .25rem;border:1px solid #bbb;border-radius:25px;transition:all .5s}.banner__search input.open{-ms-flex:1;flex:1;width:100px;padding:0 1rem 0 50px}.heading-1,h1{font-size:2.2rem}.heading-2,h2{width:100%;font-size:1.7rem}.heading-3,h3{font-size:1.3rem;font-weight:500}.heading-4,h4{font-size:1rem;font-weight:500}.results__heading{font-size:1.4rem;font-weight:100;text-align:center;text-transform:uppercase}.cards{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:1rem 2rem;margin:0;list-style:none}.card{box-sizing:border-box;min-width:220px;margin:5px;cursor:pointer;background-color:#fbfbfb;border:1px solid #d8d8d8;border-radius:10px}.card,.card>a{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.card>a{width:100%;padding:10px;color:#000}.todo{background-color:#ff7c9b}.card:hover{border-color:#2d74da}.card__icon{height:50px;padding:.25rem;margin:1rem}.card__title{font-size:1.2rem;font-weight:800}.card__text,.card__title{margin:0;text-align:center}.card__text{-ms-flex:1;flex:1;padding:.25rem 1.4rem 1rem;font-size:.9rem;line-height:1.4rem}.card svg path{fill:#2d74da}table{width:100%}tbody tr:nth-of-type(odd){background-color:#eaeaea}td,th{padding:.5em;text-align:left}th{background-color:#afafaf}div.TreeNavigation{width:100%;padding:1rem .5rem}.TreeNavigation *{overflow:hidden;font-size:.9rem;line-height:1.2rem;color:#000;text-overflow:ellipsis;white-space:nowrap}.NavigationItem{width:100%;padding-top:1px;padding-bottom:2px}.NavigationLevel__parent{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-weight:900}.NavigationItem--active,.NavigationItem--active a{color:#2d74da}.NavigationItem a{margin:0 .25rem}.TreeNavigation>.NavigationLevel>ul>li{padding:0}.topics{margin-left:1rem}.result__header{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;padding:.5rem 0}.result__header>a{max-width:100%}h2.result__title{max-width:100%;margin:0;margin-right:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}h2.result__title:hover{text-decoration:underline}.tag{padding:2px 10px;margin:4px 2px;font-size:14px;line-height:normal;color:#fff;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;background-color:#888;border:none;border-radius:20px}.tag:hover{background-color:#424242}
\ No newline at end of file
diff --git a/.documentation/dist/static/docs/3.0.0-release-note.md b/.documentation/dist/static/docs/3.0.0-release-note.md
new file mode 100644
index 000000000000..12a20c149e56
--- /dev/null
+++ b/.documentation/dist/static/docs/3.0.0-release-note.md
@@ -0,0 +1,361 @@
+## Docker
+7dfd94002 Docker: use correct MAVEN_CONFIG (#182)
+b5a0d173d Revise the usage of OpenAPI Generator online (docker image) (#73)
+e58dc2c77 Fix COPY in Dockerfile (#64)
+9d7feaaeb Fix online generator (docker push) (#58)
+9247cd01e Changes for Docker
+64037ee59 update docker-related files to ues jdk8
+
+## Plug-ins
+b6b8c0db8 [gradle-plugin] Initial implementation (#162)
+0a28aad73 [MAVEN PLUGIN] Checking for null configOptions before looking for property
+9c79297d6 [MAVEN PLUGIN] Use latest version in dependencies snippet
+9e1bbe0c1 Add maven wrapper
+
+## API Clients
+### Ada
+edf6be8c0 [Ada] bug fix by defining x-is-model-type when property is local to the YML file
+9ba74f484 [Ada] Fix GNAT project and server skeleton to avoid sending a response when an error is returned
+ea27924f5 [Ada] changed default project/package name, to solve circular dependencies
+6b9d38d40 remove trailing spaces in ada template
+0de7f972f Fix the Ada server skeleton to check the authsMethods in the Shared_Instance generic package
+4bd8fc6e8 Fix 7511: [Ada] Client call is not correct with multiple parameters and application/x-www-urlencoded
+3035bc629 [Ada] Hotfix/ada model sort
+43f0e8692 Ada code generator corrected: "=>" instead of "->".
+7d2b49085 [Ada] wrong order for generated structures in models.ads files
+2b2b85eec [Ada] wrong JSON in POST operations
+
+### C#
+0e34bcf4e [csharp] ctor params should always be camelCase
+872471996 [csharp] Support arrays of arrays for properties and models
+1c4e6b7d4 [csharp] Fix ToJson to work with composition and polymorphism
+ed7af73f6 [csharp] Reference this.Configuration in client API template
+
+### C++
+e796e4c36 [C++] Add linux as a reserve keyword
+36f69a034 remove trailing spaces in qt5 c++ templates
+f192613f1 fix string type in c++ generator
+409015461 fix file type in qt5cpp
+a4bcb3bc7 fix datetime and map type for qt5cpp
+23b31aba8 [qt5cpp] Fix crash when API return a map container
+3b031ed2b [qt5cpp] delete callback data allocated before signal emission
+1bb1e44d1 [qt5cpp] Remove qt5 pro.user file
+194722015 Qt5cpp plug memleaks part2
+12f3661d6 Qt5cpp plug memleaks
+ea4b94842 [qt5cpp] Add nullptr guard to prevent crash when empty model is being serialized
+0bf430a80 Qt5cpp Add support for nested containers
+0b3ec6b1f fix NPE with cpp qt5, add logic to avoid NPE with composed schema
+7c734445b fix file parameter in header file (cpprest)
+070b5c00b fix object type declaration in cpprest
+bad1885b4 [cpprest] add parameterToString for number type with unspecified format (double)
+73bd24db7 [cpprest] Add support for nested vectors
+ee2eb74f7 [qt] update Qt client
+d82499944 Adding qt project generation fix
+9bd94b4db [qt] Fix warning message
+
+### Clojure
+d7e374504 [Clojure] Add util method to set the api-context globally (#93)
+
+### Dart
+f1638a659 [Dart] Allow setting an accessToken for OAuth
+a5e26a44f [Dart] - Rework Dart client generator to be flutter-compatible
+
+### Elixir
+f9b2839a3 [Elixir] Check date value before calling to_iso8601
+
+### Elm
+5a87fe695 [elm] Fix operations with empty responses (#171)
+a5cf27b60 Fix Petstore example for Elm (#96)
+c522927d5 Fix Elm generator for polymorphism (#78)
+7d9fb9f51 Add CI test for Elm in travis (#40)
+769a65c95 [Elm] Add support for array schemas
+56a0268e3 [elm] missing '->' in Main elm template
+
+### Erlang
+c73118524 [erlang-client] Erlang request utils
+049eef9c5 Test erlang client, server petstore
+bcc7b788e fix erlang client compilation error
+
+### Go
+acb63fd5e Fix go readme, remove resty install
+5d8362d85 Update go client, fix double body read
+47614bb76 Properly capitalize exported go types
+ee561fcd6 Add withXml option for Go language
+0f6696089 [Go] Use consistent indentation in readme
+72abb20f2 [Go] Fix operation files clobbering model files. [2.4.0]
+
+### Haskell
+34db79b9b [haskell-http-client] update dependency versions + readme (#81)
+e45b3784f Fix NPE with Haskell client generator with OAS3 spec
+d3401396f [haskell-http-client] remove duplicates in produces/consumes; fix pathParam paramName issue
+4bc99b9da minor fixes to haskell http client generator
+2d0bafb6b [haskell-http-client] default InlineMimeTypes=true
+9fba9c325 [haskell-http-client] add config options: cabalPackage, cabalVersion, baseModule, requestType, configType
+
+### Kotlin
+a3322fbf7 [kotlin] Add OkHttpClient.Builder to ApiClient.
+3c5fb1d80 [kotlin] Add json annotation to each enum value.
+39fa375e3 [kotlin] Fix NPE for POST/PUT/PATCH with empty request models.
+c599906f1 Kotlin: Correct data_class.mustache to use proper property for inner enum data type
+c69925b53 [Kotlin] Fix issues with threetenbp
+a811a48c3 minor fix to kotlin client genrator due to merge conflict
+914275fe7 [kotlin] support selection of datelibrary
+a61d23265 Fixed incorrect renaming of header and query param to camel cases for Kotlin Client template
+
+### Lua
+dbe78e23e [Lua] Improve auto-generated test files
+6c79052ac Add auto-generated Lua spec files for APIs, models
+38a2c1dde [Lua] Fix Rockpec
+a2410b210 Add auto-generated rockspec file to Lua API client
+df10c725a Add lua test script, minor fix to Lua API files
+
+### Java
+2e69e6c03 build.gradle should not have commas
+1a4e5a4e5 Java client: Add constants for libraries (#163)
+7db0201a8 Fix NPEs in Java generator (#154)
+4d7ff8cfb JavaDoc fixes for Java/RESTEasy client (#151)
+072ce070b resteasy: fix outer enum case (#139)
+ccd002966 [Java] rest-assured: fix javadoc in templates
+e7410d4c8 Allow $ in java var name
+03490e923 Fix Java binary mapping
+70b4b55fa Fix performance linting problem with maps in Java ApiClient template
+cddcda0fe [Java][Jersey2] Make generated client code thread safe
+298ca8d35 use correct jackson date library when using Java 8
+53eeb0c04 [Java] fix connection leak on retrofit OAuth token renewal
+61c25e711 [Java] Fixes for retrofit
+f02332755 [JAVA] 4709: codegen with parcelableMode fails to build if using arrays in swagger.
+4eeb974cb [Java][google-api-client] Fix bug with empty POST request not sending content-type
+d4543a99e [Java][retrofit2] file upload sets filename as baseName instead of a dynamic filename
+62a930223 [JAVA][Rest-assured] reqSpec() method has been added into api.mustache for requests custom…
+fec0363f7 [Java] Add back byte array enhancement
+59ff4c198 [Java][library: vertx] Add default value and required parameter support to vertx server temp…
+3bd2da9a8 [Java] Fix build warnings
+429b96ae7 [JAVA] equals and hashCode for models with byte[] and binary strings
+495971c2c [Java] use html entities in javadoc of generated code (#106)
+82ee8656f [java] Enum in array of array (#66)
+bf7e4e7df Java gson: add @SerializedName value as constant (#22)
+30c1448d7 Fix build.gradle for Java RESTEasy client
+642c0566d [Java] Use Rx2 Completalbe for Void Retrofit2 responses
+72221b1cf Adding @Deprecated to retrofit2 client interfaces.
+47111b324 [Java] fix gson deserialize format byte
+9e06f7063 [Java] Fix assignment of new object instance to variable
+006f084b5 [Java] Allow to set values with setApiPackage(..) and setModelPackage(..)
+
+### JavaScript/NodeJS
+d80e29585 Fix JS test using baseName in default value (#5)
+fe15f4690 fix toDefaultValueWithParam in JS
+90859575e Fixing variable name typo (instane -> instance)
+
+### Objective-C
+9fb2c29a4 7644 objc deprecated afnetworking datataskwithrequest
+5d1874028 add class as a keyword in objc generator
+1b8df5c20 Update ObjcClientCodegen.java
+246ed5754 restore objc reserved word: property
+
+### PHP
+3beeb4e77 [PHP] Not-required properties now shows as nullable (#129)
+37df59d6f [PHP] Adjust the names (script, sample folder, generator) to lang option (#159)
+4a5d16b23 [PHP] Fix string length validation
+d58835e57 [PHP] Improve: Make validation strict
+cf8d8d56f [PHP] Fix code example from README. Variable name was missing when using Basic auth.
+0adbf7e51 [PHP] Improve: update sample tests automatically
+32cf2f16f [PHP] Non required enum property
+3bcf0ff76 [PHP] Add path & file separator (/) to return the correct path when deserializing a file
+14e1e1980 [PHP] Improve validation on empty arrays
+809e1f4c9 [PHP] Cleanup tests
+76907cacd [PHP] declare property headerSelector
+
+### Python
+7184f1ec6 [python] asyncio supports _preload_content; remove unused imports (#107)
+d74d2ba03 fix: python clients
+8e0a0ebd6 Fix python / tornado body handling
+b39c35c76 Fix inconsistency between model name and file name in python client
+dfbef4374 Fixed unicode error and supported allow_nonstandard_methods in tornado based python client
+f6e0e297e [python-asyncio] tests and fixes
+
+### R
+61e58d649 Add R namespace file
+
+### Ruby
+a08164592 fix ruby parameters in documentation, fix reuqiredParams, optionalParams
+8e34f9a98 update to newer version of ruby
+aa6b217bb [Ruby] Add auto-generated rubocop config file
+
+### Rust
+b44357394 [Rust] Implement minimal auth support
+0b845a57e [Rust] Changes hard coded body to dynamic parameter name -
+a3c97753f [Rust] Handles UUID as string
+027df610b [Rust] Handle error response statuses
+66be7a791 [Rust] Add user agent handling for rust template (master)
+3029b7b0f [Rust] Format example with rustfmt
+
+### Scala
+197b4481e normalize akka-scala and Java README
+612cfb7af [Akka-scala] Clean unused dependencies such swagger-core
+86697fedb [Scala][Gatling] correct body params filename
+832919b84 [Scala][Akka] Remove unused dep when model package is empty
+
+
+### Swift
+40d5d0990 [Swift4] accept empty content with default client
+3b7230b17 [Swift 4] Fix APIHelper to accept array parameter
+e22faf4cd [Swift] Add public initializer for modelObject.
+b184fb1d9 [Swift3] escape URL parameters
+52f606b8d Fix Swift3 test cases and add pom.xml, travis config for iOS test
+a3d0f1d4b Swift4: make generated models structs instead of classes
+
+### TypeScript
+f615d823f update ts node dependencies
+9ac9bc0dc [TypeScript] enhance ts import
+009dcf009 Mark `not required` swagger properties as optional typescript properties
+bdd2c2a4e Misc typescript Angular code generation improvements
+260375c9e Fix typescript-node generation of array type models
+d1933b5fc Fix a problem in the generation of typescript-jquery when we have enum in a query param
+20305139b [Feature][TypeScript] request param enum as literal unions
+524f162e6 Use supportsES6 flag in ts compilation for language typescript-angular
+9b8602311 [TypeScript] Make OpenAPI Generator serialize subclasses properly (#102)
+4bc5ffe86 [typescript-angular] add provided in support (#120)
+ef832e715 [Feature][TS Angular] improve docs angular import
+fc7e08346 [TS][Fetch] Add interfaces option
+157e6b7fa [angular] Add option to generate tagged unions
+7faaa091c Fix generated module imports in Aurelia APIs
+b5f0b24ba [TS] fix object declaration in model
+
+
+## API Servers
+### C++
+6fef0a7ff fix string issue with restbed generator
+a339422bd move get type declaration method to c++ restbed
+
+### C#
+d9d653016 [aspnetcore] Make the use of Swashbuckle optional (#110)
+9a8183ab0 [aspnetcore] Fix openapi.json location rename (#56)
+12abfb968 [aspnetcore] Update Dockerfile
+866817587 [aspnetcore] Fix string enum generation
+
+### Java
+bd50d368e [JAVA - jaxrs-reasteasy-eap] Add import to models (#179)
+7efda597c Fix issue with useBeanValidation option in Java server generators (#160)
+71b5de3ed Do not set contextPath for spring-boot (#104)
+b73ab0260 jaxrs-cxf-cdi: fix outer enum (#131)
+4d7fc046f [JaxRS] Add "validation-api" dependency in jetty (#30)
+ce930e7a6 [Jaxrs-cxf] Add bean-level cascaded beanvalidation for pojos (@Valid)
+386b9f432 Modify "postProcessOperations" for "jaxrs-cxf-client"
+5d92717dc update jaxrs to listent at port 10080
+7c2031675 update artifict id for jaxrs datelib j8
+88c5112f2 Adds support for returning response in jaxrs-spec interfaces
+6bf84d5fa [JAXRS-SPEC] Fix lowercase enums sent as uppercase
+3a1922bc9 Fix version for "spring-boot-maven-plugin" (#85)
+161948657 Add reactive option for Spring Boot (webflux)
+ff1178ad7 [Java][Spring] fix missing optional query params
+2103fadab Fix package declaration for play-framework
+2c6380c84 fix inner item (list, map) for play framework
+e33b350c8 Fix an issue in Play Framework generator where a CSV is empty and transferred to the controllerImp with an empty item.
+99fc27246 [JAX-RS][Spec] Removes throws Exception.
+fe2a44339 Fixes issue (SpringCodeGen dateLibrary "java8-localdatetime" option is ignored).
+d890d733f [JaxRS][Java] issue with implFolder on windows, and required fields generation for containers (#88)
+c91ce17ae Feature/javaPlayWithAsynchronousControllers
+f00a1ef52 [JAVA] Correct consumes/produces attributes for Spring Controllers
+d14318cf2 [JAVA][Spring] Optional params with delegate
+3f81378d7 [java resteasy] fix string comparison (#134)
+5ea3d3bb1 [JAX-RS][SPEC] Bug fix that prevents generating interfaces when interfaceOnly is false.
+
+### Kotlin
+7cad47dd3 [kotlin-server] --library=ktor (barebones implementation)
+752b36e66 [Kotlin] Sanitize enumeration name to add underscore when it starts with digits (#77)
+
+### NodeJS
+6d88d073c [NodeJS] make serverPort configurable via CLI option
+e7f4fb3c4 Fix nodejs-server path issue in windows platform
+
+### PHP
+d30fcbabb Fixes for php-ze-ph generator
+60e3339aa [Feature][PHP] Update for ze-ph generator
+
+### Python
+62b93fc5c [Python][Flask] Handles UUID format -
+9999eac52 fix python flask parameter naming
+
+### Scala
+d5c355a59 [Scalatra] Updated the version of Scalatra to the latest (2.6.2)
+52322c47c [finch] Allow finch server to compile for CI checks (#7)
+
+### Ruby
+dcad9ae80 [Rails5] make version of the generated Rails stub server to strict Rails 5.0
+
+### Rust
+37faaf926 [rust-server] API version constant and composite version support
+6c7813e79 [rust-server] asynchronous support via hyper v0.11
+
+## Documentation
+25a6a9d44 html: fix typo in class name
+
+
+## Miscellaneous
+f04213285 Cli error message improvements (#172)
+0ece706a4 Remove CodegenConfig.fromModel(String, Schema) method (#90)
+64f2bea37 Fix getReferenced...() methods in ModelUtils (#157)
+16ff5174e Update swagger-parser to 2.0.1 (#123)
+76b7307a6 DefaultGenerator: ignore only form param schemas (#74)
+a3aabd390 Create a default implementation of delegate if none could be autowired (#92)
+ca89af808 Switch to Java 8
+27426f7b5 Cli generator name option, replaces 'language' options in CLI and Maven Plugin (#57)
+a1ff50241 Rename datatype to dataType in CodegenProperty (#69)
+3b9a2a7c3 CaseFormatLambda has been added, params for Rest-assured client has been refactored (#91)
+488910362 Set parameters allowableValues dynamically (#65)
+2821f18b9 Meta: set version for "build-helper-maven-plugin" (#89)
+82d9e935e Add CORS configuration to openapi-generator-online (#71)
+e3814f51d Improvements to online codegen (#55)
+6b8079808 Consider minLength, maxLength and pattern in referenced schema (#45)
+7c5dfbfa0 Minor improvements to OpenAPI Generator Online (#54)
+8dd46a3fb Move online gen from jersey to spring boot (#44)
+803821e21 Fix an issue with example generator when array is too large (#46)
+673f2bc46 Add CodegenProperty.nameInSnakeCase (#42)
+67ebe17dd Fix isPrimitiveType flag for array of form parameters (#38)
+10ac4024d Code clean-up: remove field declaration hiding existing fields (#35)
+ab9c4b5a6 Code clean-up: Add own private static final LOGGER in each class (#26)
+41b0ff351 Code clean-up: remove DefaultCodegen#getSimpleRef(String) (#19)
+13f084e7b Fix dataTypeWithEnum for array of form parameters
+fd3b883e8 [DefaultCodegen] Fill CodegenOperation::produces with unique media types
+db9a899a0 update getSchemaType variable, remove unused import
+d74b4cdf8 fix map type and collection format for form parameter (array)
+d99f46cff Revise how to obtain the example value
+b1eac05b2 Fix form datatype (array of string)
+3c666a6d4 Fix array of form parameters
+1492df6ce Override server port for Jetty configuration
+622a75b2c Fix data type shadowing
+861d11d01 use vendor extension in operation to set the body parameter name
+80c8b92cb add postProcessParamter for body, form parameter
+7fe555a51 Set collectionFormat default only for array
+16589de97 default collection format to csv according to the spec
+edbe4902a Consider '$ref' for consumes and produces in CodegenOperation
+e24238a35 Improve getter name handling for boolean properties
+6e2ca294b update discriminator to discriminatorName
+74075c087 Primitive datatype in Schema components
+d8abd4a14 support map in body parameter
+186594115 Update swagger-core to 2.0.1
+2034f61e5 Add HideGenerationTimestamp getter and setter in the CodegenConfig interface
+d0e2d7684 Getter and Setter for hideGenerationTimestamp
+adbde2fb6 replace fromOperation with postProcessOperations
+9d1ae0dd2 fix bigdecimal in default codegen
+ffa0e115d fix default value and type declaration
+0e744adb8 Apply collection format to SIMPLE enum style
+36ed29852 Tweak tests according to the parameter order changes
+17b082793 Move 'enum_query_double' to parameters section
+28fcf48f4 Add a method returns discriminator name
+7daa2ec5d Fix broken discriminator
+faa901640 Replace with the helper function: `getTypeDeclaration`
+c8650d0e3 Make optional properties in models optional parameters
+40c30dd2f Fix inputSpec for multi module builds
+5326152cc add option to reorder form/body parameter
+d1850091a Improve JMeter Template
+fedfb0cda Factorize addOption/addSwitch method
+e73eeb4fd fix for stripping prefix on single enums
+13e3db59e Add operationIdOriginal to store the original operationId
+0b2d80569 Expose getter/setter for serverPort to facilitate testing
+8e270f465 add vendorExtensions field in CodegenSecurity class
+1ee85de94 Added Intelli J ignore
+7b8e409cf Added gitignore generation function
+
+
+
diff --git a/.documentation/dist/static/docs/core-team.md b/.documentation/dist/static/docs/core-team.md
new file mode 100644
index 000000000000..da97f158fe6f
--- /dev/null
+++ b/.documentation/dist/static/docs/core-team.md
@@ -0,0 +1,9 @@
+# Core Team Members
+
+* [@wing328](https://github.com/wing328) (2015/07)
+* [@jimschubert](https://github.com/jimschubert) (2016/05)
+* [@cbornet](https://github.com/cbornet) (2016/05)
+* [@jaz-ah](https://github.com/jaz-ah) (2016/05)
+* [@ackintosh](https://github.com/ackintosh) (2018/02)
+* [@JFCote](https://github.com/JFCote) (2018/03)
+* [@jmini](https://github.com/jmini) (2018/04)
diff --git a/.documentation/dist/static/docs/customization.md b/.documentation/dist/static/docs/customization.md
new file mode 100644
index 000000000000..32b784d7f6bc
--- /dev/null
+++ b/.documentation/dist/static/docs/customization.md
@@ -0,0 +1,323 @@
+## Customization
+
+### Modifying a template
+
+Clone OpenAPI Generator and navigate to `modules/openapi-generator/src/main/resources/${template}`, where `${template}` is the name of the generator you wish to modify. For example, if you are looking for the C# template, it's named `csharp`. This directory contains all the templates used to generate your target client/server/doc output.
+
+Templates consist of multiple mustache files. [Mustache](https://mustache.github.io/) is used as the templating language for these templates, and the specific engine used is [jmustache](https://github.com/samskivert/jmustache).
+
+If you wish to modify one of these templates, copy and paste the template you're interested in to a templates directory you control. To let OpenAPI Generator know where this templates directory is, use the `-t` option (e.g: `-t ./templates/`).
+
+To tie that all together (example for modifying ruby templates):
+
+```sh
+mkdir templates
+export template=ruby
+cp -r modules/openapi-generator/src/main/resources/${template} templates/${template}
+java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate \
+ -t ./templates/${template} -g ruby -i ./foo.yml -o ./out/ruby
+```
+
+_**Note:** You cannot use this approach to create new templates, only override existing ones. If you'd like to create a new generator within the project, see `new.sh` in the repository root._
+
+### Creating a new template
+
+If none of the templates suit your needs, you can create a brand new template. OpenAPI Generator can help with this, using the `meta` command:
+
+```sh
+java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar meta \
+ -o out/generators/my-codegen -n my-codegen -p com.my.company.codegen
+```
+
+This will create a new directory `out/generators/my-codegen`, with all the files you need to get started - including a `README.md`. Once modified and compiled, you can use your new codegen just like any other, with your own custom-rolled logic.
+
+These names can be anything you like. If you are building a client for the whitespace language, maybe you'd use the options `-o out/generators/whitespace -n whitespace`. They can be the same, or different, it doesn't matter. The `-n` value will be become the template name.
+
+**NOTE** Convention is to use kebab casing for names passed to `-n`. Example, `scala-finatra` would become `ScalaFinatraGenerator`.
+
+#### Use your new generator with the CLI
+
+To compile your library, enter the `out/generators/my-codegen` directory, run `mvn package` and execute the generator:
+
+```sh
+java -cp out/generators/my-codegen/target/my-codegen-openapi-generator-1.0.0.jar:modules/openapi-generator-cli/target/openapi-generator-cli.jar org.openapitools.codegen.OpenAPIGenerator
+```
+
+For Windows users, you will need to use `;` instead of `:` in the classpath, e.g.
+```
+java -cp out/generators/my-codegen/target/my-codegen-openapi-generator-1.0.0.jar;modules/openapi-generator-cli/target/openapi-generator-cli.jar org.openapitools.codegen.OpenAPIGenerator
+```
+
+Note the `my-codegen` is an option for `-g` now, and you can use the usual arguments for generating your code:
+
+```sh
+java -cp out/codegens/customCodegen/target/my-codegen-openapi-generator-1.0.0.jar:modules/openapi-generator-cli/target/openapi-generator-cli.jar \
+ org.openapitools.codegen.OpenAPIGenerator generate -g my-codegen \
+ -i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml \
+ -o ./out/myClient
+```
+
+For Windows users:
+```
+java -cp out/codegens/customCodegen/target/my-codegen-openapi-generator-1.0.0.jar;modules/openapi-generator-cli/target/openapi-generator-cli.jar \
+ org.openapitools.codegen.OpenAPIGenerator generate -g my-codegen \
+ -i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml \
+ -o ./out/myClient
+```
+
+#### Use your new generator with the maven plugin
+
+Install your library to your local maven repository by running:
+
+```
+mvn clean install -f out/generators/my-codegen
+```
+
+This will install `org.openapitools:my-codegen-openapi-generator:1.0.0` to your local maven repository.
+
+You can use this as additional dependency of the `openapi-generator-maven-plugin` plugin and use `my-codegen` as `generatorName` value:
+
+```xml
+
+ org.openapitools
+ openapi-generator-maven-plugin
+ ${openapi-generator-version}
+
+
+ generate-client-code
+
+ generate
+
+
+ my-codegen
+
+
+
+
+
+
+ org.openapitools
+ my-codegen-openapi-generator
+ 1.0.0
+
+
+
+```
+
+If you publish your artifact to a distant maven repository, do not forget to add this repository as `pluginRepository` for your project.
+
+### 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:
+
+```sh
+# 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:
+```sh
+# generate the User and Pet models only
+-Dmodels=User,Pet
+
+# generate the User model and the supportingFile `StringUtil.java`:
+-Dmodels=User -DsupportingFiles=StringUtil.java
+```
+
+To control generation of docs and tests for api and models, pass false to the option. For api, these options are `-DapiTests=false` and `-DapiDocs=false`. For models, `-DmodelTests=false` and `-DmodelDocs=false`.
+These options default to true and don't limit the generation of the feature options listed above (like `-Dapi`):
+
+```sh
+# generate only models (with tests and documentation)
+java -Dmodels {opts}
+
+# generate only models (with tests but no documentation)
+java -Dmodels -DmodelDocs=false {opts}
+
+# generate only User and Pet models (no tests and no documentation)
+java -Dmodels=User,Pet -DmodelTests=false {opts}
+
+# generate only apis (without tests)
+java -Dapis -DapiTests=false {opts}
+
+# generate only apis (modelTests option is ignored)
+java -Dapis -DmodelTests=false {opts}
+```
+
+When using selective generation, _only_ the templates needed for the specific generation will be used.
+
+To skip models defined as the form parameters in "requestBody", please use `skipFormModel` (default to false) (this option is introduced at v3.2.2)
+
+```sh
+java -DskipFormModel=true
+```
+
+This option will be helpful to skip model generation due to the form parameter, which is defined differently in OAS3 as there's no form parameter in OAS3
+
+### Ignore file format
+
+OpenAPI Generator supports a `.openapi-generator-ignore` file, similar to `.gitignore` or `.dockerignore` you're probably already familiar with.
+
+The ignore file allows for better control over overwriting existing files than the `--skip-overwrite` flag. With the ignore file, you can specify individual files or directories can be ignored. This can be useful, for example if you only want a subset of the generated code.
+
+Examples:
+
+```sh
+# OpenAPI Generator Ignore
+# Lines beginning with a # are comments
+
+# This should match build.sh located anywhere.
+build.sh
+
+# Matches build.sh in the root
+/build.sh
+
+# Exclude all recursively
+docs/**
+
+# Explicitly allow files excluded by other rules
+!docs/UserApi.md
+
+# Recursively exclude directories named Api
+# You can't negate files below this directory.
+src/**/Api/
+
+# When this file is nested under /Api (excluded above),
+# this rule is ignored because parent directory is excluded by previous rule.
+!src/**/PetApiTests.cs
+
+# Exclude a single, nested file explicitly
+src/Org.OpenAPITools.Test/Model/AnimalFarmTests.cs
+```
+
+The `.openapi-generator-ignore` file must exist in the root of the output directory.
+
+Upon first code generation, you may also pass the CLI option `--ignore-file-override=/path/to/ignore_file` for greater control over generated outputs. Note that this is a complete override, and will override the `.openapi-generator-ignore` file in an output directory when regenerating code.
+
+Editor support for `.openapi-generator-ignore` files is available in IntelliJ via the [.ignore plugin](https://plugins.jetbrains.com/plugin/7495--ignore).
+
+### 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:
+
+```sh
+$ ls -1 modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/
+AbstractJavaJAXRSServerCodegen.java
+AbstractTypeScriptClientCodegen.java
+... (results omitted)
+TypeScriptAngularClientCodegen.java
+TypeScriptNodeClientCodegen.java
+```
+
+Each of these files creates reasonable defaults so you can get running quickly. But if you want to configure package names, prefixes, model folders, etc. you can use a json config file to pass the values.
+
+```sh
+java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar generate \
+ -i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml \
+ -g java \
+ -o samples/client/petstore/java \
+ -c path/to/config.json
+```
+and `config.json` contains the following as an example:
+```json
+{
+ "apiPackage" : "petstore"
+}
+```
+
+Supported config options can be different per language. Running `config-help -g {lang}` will show available options.
+**These options are applied via configuration file (e.g. config.json) or by passing them with `-D{optionName}={optionValue}`**. (If `-D{optionName}` does not work, please open a [ticket](https://github.com/openapitools/openapi-generator/issues/new) and we'll look into it)
+
+```sh
+java -jar modules/openapi-generator-cli/target/openapi-generator-cli.jar config-help -g java
+```
+
+Output
+
+```
+CONFIG OPTIONS
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+...... (results omitted)
+ library
+ library template (sub-template) to use:
+ jersey1 - HTTP client: Jersey client 1.18. JSON processing: Jackson 2.4.2
+ jersey2 - HTTP client: Jersey client 2.6
+ feign - HTTP client: Netflix Feign 8.1.1. JSON processing: Jackson 2.6.3
+ okhttp-gson (default) - HTTP client: OkHttp 2.4.0. JSON processing: Gson 2.3.1
+ retrofit - HTTP client: OkHttp 2.4.0. JSON processing: Gson 2.3.1 (Retrofit 1.9.0)
+ retrofit2 - HTTP client: OkHttp 2.5.0. JSON processing: Gson 2.4 (Retrofit 2.0.0-beta2)
+ google-api-client - HTTP client: google-api-client 1.23.0. JSON processing: Jackson 2.8.9
+ rest-assured - HTTP client: rest-assured : 3.1.0. JSON processing: Gson 2.6.1. Only for Java8
+```
+
+Your config file for Java can look like
+
+```json
+{
+ "groupId":"com.my.company",
+ "artifactId":"MyClient",
+ "artifactVersion":"1.2.0",
+ "library":"feign"
+}
+```
+
+For all the unspecified options default values will be used.
+
+Another way to override default options is to extend the config class for the specific language.
+To change, for example, the prefix for the Objective-C generated files, simply subclass the `ObjcClientCodegen.java`:
+
+```java
+package com.mycompany.openapitools.codegen;
+
+import org.openapitools.codegen.languages.*;
+
+public class MyObjcCodegen extends ObjcClientCodegen {
+ static {
+ PREFIX = "HELO";
+ }
+}
+```
+
+and specify the `classname` when running the generator:
+
+```
+-g com.mycompany.openapitools.codegen.MyObjcCodegen
+```
+
+Your subclass will now be loaded and overrides the `PREFIX` value in the superclass.
+
+### Bringing your own models
+
+Sometimes you don't want a model generated. In this case, you can simply specify an import mapping to tell
+the codegen what _not_ to create. When doing this, every location that references a specific model will
+refer back to your classes. Note, this may not apply to all languages...
+
+To specify an import mapping, use the `--import-mappings` argument and specify the model-to-import logic as such:
+
+```
+--import-mappings Pet=my.models.MyPet
+```
+
+Or for multiple mappings:
+
+```
+--import-mappings Pet=my.models.MyPet,Order=my.models.MyOrder
+```
+or
+```
+--import-mappings Pet=my.models.MyPet --import-mappings Order=my.models.MyOrder
+```
diff --git a/.documentation/dist/static/docs/faq.md b/.documentation/dist/static/docs/faq.md
new file mode 100644
index 000000000000..4514b4c10652
--- /dev/null
+++ b/.documentation/dist/static/docs/faq.md
@@ -0,0 +1 @@
+# FAQ
diff --git a/.documentation/dist/static/docs/generators/README.md b/.documentation/dist/static/docs/generators/README.md
new file mode 100644
index 000000000000..73a2d132d65d
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/README.md
@@ -0,0 +1,116 @@
+The following generators are available:
+
+* CLIENT generators:
+ - [ada](ada.md)
+ - [android](android.md)
+ - [apex](apex.md)
+ - [bash](bash.md)
+ - [clojure](clojure.md)
+ - [cpp-qt5](cpp-qt5.md)
+ - [cpp-restsdk](cpp-restsdk.md)
+ - [cpp-tizen](cpp-tizen.md)
+ - [csharp](csharp.md)
+ - [csharp-dotnet2](csharp-dotnet2.md)
+ - [dart](dart.md)
+ - [dart-jaguar](dart-jaguar.md)
+ - [eiffel](eiffel.md)
+ - [elixir](elixir.md)
+ - [elm](elm.md)
+ - [erlang-client](erlang-client.md)
+ - [flash](flash.md)
+ - [go](go.md)
+ - [groovy](groovy.md)
+ - [haskell-http-client](haskell-http-client.md)
+ - [java](java.md)
+ - [javascript](javascript.md)
+ - [javascript-closure-angular](javascript-closure-angular.md)
+ - [javascript-flowtyped](javascript-flowtyped.md)
+ - [jaxrs-cxf-client](jaxrs-cxf-client.md)
+ - [jmeter](jmeter.md)
+ - [kotlin](kotlin.md)
+ - [lua](lua.md)
+ - [objc](objc.md)
+ - [perl](perl.md)
+ - [php](php.md)
+ - [powershell](powershell.md)
+ - [python](python.md)
+ - [r](r.md)
+ - [ruby](ruby.md)
+ - [rust](rust.md)
+ - [scala-akka](scala-akka.md)
+ - [scala-gatling](scala-gatling.md)
+ - [scala-httpclient](scala-httpclient.md)
+ - [scalaz](scalaz.md)
+ - [swift2-deprecated](swift2-deprecated.md)
+ - [swift3](swift3.md)
+ - [swift4](swift4.md)
+ - [typescript-angular](typescript-angular.md)
+ - [typescript-angularjs](typescript-angularjs.md)
+ - [typescript-aurelia](typescript-aurelia.md)
+ - [typescript-axios](typescript-axios.md)
+ - [typescript-fetch](typescript-fetch.md)
+ - [typescript-inversify](typescript-inversify.md)
+ - [typescript-jquery](typescript-jquery.md)
+ - [typescript-node](typescript-node.md)
+
+
+* SERVER generators:
+ - [ada-server](ada-server.md)
+ - [aspnetcore](aspnetcore.md)
+ - [cpp-pistache-server](cpp-pistache-server.md)
+ - [cpp-qt5-qhttpengine-server](cpp-qt5-qhttpengine-server.md)
+ - [cpp-restbed-server](cpp-restbed-server.md)
+ - [csharp-nancyfx](csharp-nancyfx.md)
+ - [erlang-server](erlang-server.md)
+ - [go-gin-server](go-gin-server.md)
+ - [go-server](go-server.md)
+ - [haskell](haskell.md)
+ - [java-inflector](java-inflector.md)
+ - [java-msf4j](java-msf4j.md)
+ - [java-pkmst](java-pkmst.md)
+ - [java-play-framework](java-play-framework.md)
+ - [java-undertow-server](java-undertow-server.md)
+ - [java-vertx](java-vertx.md)
+ - [jaxrs-cxf](jaxrs-cxf.md)
+ - [jaxrs-cxf-cdi](jaxrs-cxf-cdi.md)
+ - [jaxrs-jersey](jaxrs-jersey.md)
+ - [jaxrs-resteasy](jaxrs-resteasy.md)
+ - [jaxrs-resteasy-eap](jaxrs-resteasy-eap.md)
+ - [jaxrs-spec](jaxrs-spec.md)
+ - [kotlin-server](kotlin-server.md)
+ - [kotlin-spring](kotlin-spring.md)
+ - [nodejs-server](nodejs-server.md)
+ - [php-laravel](php-laravel.md)
+ - [php-lumen](php-lumen.md)
+ - [php-silex](php-silex.md)
+ - [php-slim](php-slim.md)
+ - [php-symfony](php-symfony.md)
+ - [php-ze-ph](php-ze-ph.md)
+ - [python-flask](python-flask.md)
+ - [ruby-on-rails](ruby-on-rails.md)
+ - [ruby-sinatra](ruby-sinatra.md)
+ - [rust-server](rust-server.md)
+ - [scala-finch](scala-finch.md)
+ - [scala-lagom-server](scala-lagom-server.md)
+ - [scalatra](scalatra.md)
+ - [spring](spring.md)
+
+
+* DOCUMENTATION generators:
+ - [cwiki](cwiki.md)
+ - [dynamic-html](dynamic-html.md)
+ - [html](html.md)
+ - [html2](html2.md)
+ - [openapi](openapi.md)
+ - [openapi-yaml](openapi-yaml.md)
+
+
+* SCHEMA generators:
+ - [mysql-schema](mysql-schema.md)
+
+
+* CONFIG generators:
+ - [apache2](apache2.md)
+
+
+
diff --git a/.documentation/dist/static/docs/generators/ada-server.md b/.documentation/dist/static/docs/generators/ada-server.md
new file mode 100644
index 000000000000..8a6f33265f56
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/ada-server.md
@@ -0,0 +1,19 @@
+
+CONFIG OPTIONS for ada-server
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ projectName
+ GNAT project name (Default: defaultProject)
+
+
diff --git a/.documentation/dist/static/docs/generators/ada.md b/.documentation/dist/static/docs/generators/ada.md
new file mode 100644
index 000000000000..d2d2b36885db
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/ada.md
@@ -0,0 +1,19 @@
+
+CONFIG OPTIONS for ada
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ projectName
+ GNAT project name (Default: defaultProject)
+
+
diff --git a/.documentation/dist/static/docs/generators/android.md b/.documentation/dist/static/docs/generators/android.md
new file mode 100644
index 000000000000..eb50edcb4f41
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/android.md
@@ -0,0 +1,57 @@
+
+CONFIG OPTIONS for android
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ invokerPackage
+ root package for generated code
+
+ groupId
+ groupId for use in the generated build.gradle and pom.xml
+
+ artifactId
+ artifactId for use in the generated build.gradle and pom.xml
+
+ artifactVersion
+ artifact version for use in the generated build.gradle and pom.xml
+
+ sourceFolder
+ source folder for generated code
+
+ useAndroidMavenGradlePlugin
+ A flag to toggle android-maven gradle plugin. (Default: true)
+
+ androidGradleVersion
+ gradleVersion version for use in the generated build.gradle
+
+ androidSdkVersion
+ compileSdkVersion version for use in the generated build.gradle
+
+ androidBuildToolsVersion
+ buildToolsVersion version for use in the generated build.gradle
+
+ serializableModel
+ boolean - toggle "implements Serializable" for generated models (Default: false)
+
+ library
+ library template (sub-template) to use
+ volley - HTTP client: Volley 1.0.19 (default)
+ httpclient - HTTP client: Apache HttpClient 4.3.6. JSON processing: Gson 2.3.1. IMPORTANT: Android client using HttpClient is not actively maintained and will be depecreated in the next major release.
+
+
diff --git a/.documentation/dist/static/docs/generators/apache2.md b/.documentation/dist/static/docs/generators/apache2.md
new file mode 100644
index 000000000000..593e2fc01521
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/apache2.md
@@ -0,0 +1,19 @@
+
+CONFIG OPTIONS for apache2
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ userInfoPath
+ Path to the user and group files
+
+
diff --git a/.documentation/dist/static/docs/generators/apex.md b/.documentation/dist/static/docs/generators/apex.md
new file mode 100644
index 000000000000..21f4785eb8f5
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/apex.md
@@ -0,0 +1,28 @@
+
+CONFIG OPTIONS for apex
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ classPrefix
+ Prefix for generated classes. Set this to avoid overwriting existing classes in your org.
+
+ apiVersion
+ The Metadata API version number to use for components in this package.
+
+ buildMethod
+ The build method for this package.
+
+ namedCredential
+ The named credential name for the HTTP callouts
+
+
diff --git a/.documentation/dist/static/docs/generators/aspnetcore.md b/.documentation/dist/static/docs/generators/aspnetcore.md
new file mode 100644
index 000000000000..7742e27241bc
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/aspnetcore.md
@@ -0,0 +1,34 @@
+
+CONFIG OPTIONS for aspnetcore
+
+ packageName
+ C# package name (convention: Title.Case). (Default: Org.OpenAPITools)
+
+ packageVersion
+ C# package version. (Default: 1.0.0)
+
+ packageGuid
+ The GUID that will be associated with the C# project
+
+ sourceFolder
+ source folder for generated code (Default: src)
+
+ aspnetCoreVersion
+ ASP.NET Core version: 2.1 (default), 2.0 (deprecated) (Default: 2.1)
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ useDateTimeOffset
+ Use DateTimeOffset to model date-time properties (Default: false)
+
+ useCollection
+ Deserialize array types to Collection instead of List. (Default: false)
+
+ returnICollection
+ Return ICollection instead of the concrete type. (Default: false)
+
+ useSwashbuckle
+ Uses the Swashbuckle.AspNetCore NuGet package for documentation. (Default: true)
+
+
diff --git a/.documentation/dist/static/docs/generators/bash.md b/.documentation/dist/static/docs/generators/bash.md
new file mode 100644
index 000000000000..2dab08d3b268
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/bash.md
@@ -0,0 +1,40 @@
+
+CONFIG OPTIONS for bash
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ curlOptions
+ Default cURL options
+
+ processMarkdown
+ Convert all Markdown Markup into terminal formatting (Default: false)
+
+ scriptName
+ The name of the script that will be generated (e.g. petstore-cli)
+
+ generateBashCompletion
+ Whether to generate the Bash completion script (Default: false)
+
+ generateZshCompletion
+ Whether to generate the Zsh completion script (Default: false)
+
+ hostEnvironmentVariable
+ Name of environment variable where host can be defined (e.g. PETSTORE_HOST='http://api.openapitools.org:8080')
+
+ basicAuthEnvironmentVariable
+ Name of environment variable where username and password can be defined (e.g. PETSTORE_CREDS='username:password')
+
+ apiKeyAuthEnvironmentVariable
+ Name of environment variable where API key can be defined (e.g. PETSTORE_APIKEY='kjhasdGASDa5asdASD') (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/clojure.md b/.documentation/dist/static/docs/generators/clojure.md
new file mode 100644
index 000000000000..616d73251dfb
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/clojure.md
@@ -0,0 +1,37 @@
+
+CONFIG OPTIONS for clojure
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ projectName
+ name of the project (Default: generated from info.title or "openapi-clj-client")
+
+ projectDescription
+ description of the project (Default: using info.description or "Client library of ")
+
+ projectVersion
+ version of the project (Default: using info.version or "1.0.0")
+
+ projectUrl
+ URL of the project (Default: using info.contact.url or not included in project.clj)
+
+ projectLicenseName
+ name of the license the project uses (Default: using info.license.name or not included in project.clj)
+
+ projectLicenseUrl
+ URL of the license the project uses (Default: using info.license.url or not included in project.clj)
+
+ baseNamespace
+ the base/top namespace (Default: generated from projectName)
+
+
diff --git a/.documentation/dist/static/docs/generators/cpp-pistache-server.md b/.documentation/dist/static/docs/generators/cpp-pistache-server.md
new file mode 100644
index 000000000000..a346c16f3305
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/cpp-pistache-server.md
@@ -0,0 +1,10 @@
+
+CONFIG OPTIONS for cpp-pistache-server
+
+ addExternalLibs
+ Add the Possibility to fetch and compile external Libraries needed by this Framework. (Default: true)
+
+ helpersPackage
+ Specify the package name to be used for the helpers (e.g. org.openapitools.server.helpers). (Default: org.openapitools.server.helpers)
+
+
diff --git a/.documentation/dist/static/docs/generators/cpp-qt5-qhttpengine-server.md b/.documentation/dist/static/docs/generators/cpp-qt5-qhttpengine-server.md
new file mode 100644
index 000000000000..1c71b6f12280
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/cpp-qt5-qhttpengine-server.md
@@ -0,0 +1,19 @@
+
+CONFIG OPTIONS for cpp-qt5-qhttpengine-server
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ cppNamespace
+ C++ namespace (convention: name::space::for::api). (Default: OpenAPI)
+
+
diff --git a/.documentation/dist/static/docs/generators/cpp-qt5.md b/.documentation/dist/static/docs/generators/cpp-qt5.md
new file mode 100644
index 000000000000..c0ed96b3325b
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/cpp-qt5.md
@@ -0,0 +1,22 @@
+
+CONFIG OPTIONS for cpp-qt5
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ cppNamespace
+ C++ namespace (convention: name::space::for::api). (Default: OpenAPI)
+
+ optionalProjectFile
+ Generate client.pri. (Default: true)
+
+
diff --git a/.documentation/dist/static/docs/generators/cpp-restbed-server.md b/.documentation/dist/static/docs/generators/cpp-restbed-server.md
new file mode 100644
index 000000000000..250a136ce620
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/cpp-restbed-server.md
@@ -0,0 +1,19 @@
+
+CONFIG OPTIONS for cpp-restbed-server
+
+ modelPackage
+ C++ namespace for models (convention: name.space.model). (Default: org.openapitools.server.model)
+
+ apiPackage
+ C++ namespace for apis (convention: name.space.api). (Default: org.openapitools.server.api)
+
+ packageVersion
+ C++ package version. (Default: 1.0.0)
+
+ declspec
+ C++ preprocessor to place before the class name for handling dllexport/dllimport. (Default: )
+
+ defaultInclude
+ The default include statement that should be placed in all headers for including things like the declspec (convention: #include "Commons.h" (Default: )
+
+
diff --git a/.documentation/dist/static/docs/generators/cpp-restsdk.md b/.documentation/dist/static/docs/generators/cpp-restsdk.md
new file mode 100644
index 000000000000..2bd4819c2f22
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/cpp-restsdk.md
@@ -0,0 +1,22 @@
+
+CONFIG OPTIONS for cpp-restsdk
+
+ modelPackage
+ C++ namespace for models (convention: name.space.model). (Default: org.openapitools.client.model)
+
+ apiPackage
+ C++ namespace for apis (convention: name.space.api). (Default: org.openapitools.client.api)
+
+ packageVersion
+ C++ package version. (Default: 1.0.0)
+
+ declspec
+ C++ preprocessor to place before the class name for handling dllexport/dllimport. (Default: )
+
+ defaultInclude
+ The default include statement that should be placed in all headers for including things like the declspec (convention: #include "Commons.h" (Default: )
+
+ generateGMocksForApis
+ Generate Google Mock classes for APIs.
+
+
diff --git a/.documentation/dist/static/docs/generators/cpp-tizen.md b/.documentation/dist/static/docs/generators/cpp-tizen.md
new file mode 100644
index 000000000000..c2596ef5e6e6
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/cpp-tizen.md
@@ -0,0 +1,16 @@
+
+CONFIG OPTIONS for cpp-tizen
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/csharp-dotnet2.md b/.documentation/dist/static/docs/generators/csharp-dotnet2.md
new file mode 100644
index 000000000000..201d20e1265e
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/csharp-dotnet2.md
@@ -0,0 +1,13 @@
+
+CONFIG OPTIONS for csharp-dotnet2
+
+ packageName
+ C# package name (convention: Camel.Case). (Default: Org.OpenAPITools)
+
+ packageVersion
+ C# package version. (Default: 1.0.0)
+
+ clientPackage
+ C# client package name (convention: Camel.Case). (Default: Org.OpenAPITools.Client)
+
+
diff --git a/.documentation/dist/static/docs/generators/csharp-nancyfx.md b/.documentation/dist/static/docs/generators/csharp-nancyfx.md
new file mode 100644
index 000000000000..41f951a1f373
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/csharp-nancyfx.md
@@ -0,0 +1,46 @@
+
+CONFIG OPTIONS for csharp-nancyfx
+
+ packageName
+ C# package name (convention: Title.Case). (Default: Org.OpenAPITools)
+
+ packageVersion
+ C# package version. (Default: 1.0.0)
+
+ sourceFolder
+ source folder for generated code (Default: src)
+
+ interfacePrefix
+ Prefix interfaces with a community standard or widely accepted prefix. (Default: )
+
+ packageGuid
+ The GUID that will be associated with the C# project
+
+ packageContext
+ Optionally overrides the PackageContext which determines the namespace (namespace=packageName.packageContext). If not set, packageContext will default to basePath.
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ optionalProjectFile
+ Generate {PackageName}.csproj. (Default: true)
+
+ useDateTimeOffset
+ Use DateTimeOffset to model date-time properties (Default: false)
+
+ useCollection
+ Deserialize array types to Collection instead of List. (Default: false)
+
+ returnICollection
+ Return ICollection instead of the concrete type. (Default: false)
+
+ immutable
+ Enabled by default. If disabled generates model classes with setters (Default: true)
+
+ writeModulePath
+ Enabled by default. If disabled, module paths will not mirror api base path (Default: true)
+
+ asyncServer
+ Set to true to enable the generation of async routes/endpoints. (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/csharp.md b/.documentation/dist/static/docs/generators/csharp.md
new file mode 100644
index 000000000000..9cbf04f1d01b
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/csharp.md
@@ -0,0 +1,72 @@
+
+CONFIG OPTIONS for csharp
+
+ packageName
+ C# package name (convention: Title.Case). (Default: Org.OpenAPITools)
+
+ packageVersion
+ C# package version. (Default: 1.0.0)
+
+ sourceFolder
+ source folder for generated code (Default: src)
+
+ packageGuid
+ The GUID that will be associated with the C# project
+
+ interfacePrefix
+ Prefix interfaces with a community standard or widely accepted prefix. (Default: I)
+
+ targetFramework
+ The target .NET framework version. (Default: v4.5)
+ v3.5 - .NET Framework 3.5 compatible
+ v4.0 - .NET Framework 4.0 compatible
+ v4.5 - .NET Framework 4.5+ compatible
+ v5.0 - .NET Standard 1.3 compatible
+ uwp - Universal Windows Platform (IMPORTANT: this will be decommissioned and replaced by v5.0)
+
+ modelPropertyNaming
+ Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name (Default: PascalCase)
+
+ hideGenerationTimestamp
+ Hides the generation timestamp when files are generated. (Default: true)
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ useDateTimeOffset
+ Use DateTimeOffset to model date-time properties (Default: false)
+
+ useCollection
+ Deserialize array types to Collection instead of List. (Default: false)
+
+ returnICollection
+ Return ICollection instead of the concrete type. (Default: false)
+
+ optionalMethodArgument
+ C# Optional method argument, e.g. void square(int x=10) (.net 4.0+ only). (Default: true)
+
+ optionalAssemblyInfo
+ Generate AssemblyInfo.cs. (Default: true)
+
+ optionalProjectFile
+ Generate {PackageName}.csproj. (Default: true)
+
+ optionalEmitDefaultValues
+ Set DataMember's EmitDefaultValue. (Default: false)
+
+ generatePropertyChanged
+ Specifies a AssemblyDescription for the .NET Framework global assembly attributes stored in the AssemblyInfo file. (Default: false)
+
+ nonPublicApi
+ Generates code with reduced access modifiers; allows embedding elsewhere without exposing non-public API calls to consumers. (Default: false)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ netCoreProjectFile
+ Use the new format (.NET Core) for .NET project files (.csproj). (Default: false)
+
+ validatable
+ Generates self-validatable models. (Default: true)
+
+
diff --git a/.documentation/dist/static/docs/generators/cwiki.md b/.documentation/dist/static/docs/generators/cwiki.md
new file mode 100644
index 000000000000..ab5cf7a0dd56
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/cwiki.md
@@ -0,0 +1,46 @@
+
+CONFIG OPTIONS for cwiki
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ appName
+ short name of the application
+
+ appDescription
+ description of the application
+
+ infoUrl
+ a URL where users can get more information about the application
+
+ infoEmail
+ an email address to contact for inquiries about the application
+
+ licenseInfo
+ a short description of the license
+
+ licenseUrl
+ a URL pointing to the full license
+
+ invokerPackage
+ root package for generated code
+
+ groupId
+ groupId in generated pom.xml
+
+ artifactId
+ artifactId in generated pom.xml
+
+ artifactVersion
+ artifact version in generated pom.xml
+
+
diff --git a/.documentation/dist/static/docs/generators/dart-jaguar.md b/.documentation/dist/static/docs/generators/dart-jaguar.md
new file mode 100644
index 000000000000..f1af844054ed
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/dart-jaguar.md
@@ -0,0 +1,37 @@
+
+CONFIG OPTIONS for dart-jaguar
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ browserClient
+ Is the client browser based
+
+ pubName
+ Name in generated pubspec
+
+ pubVersion
+ Version in generated pubspec
+
+ pubDescription
+ Description in generated pubspec
+
+ useEnumExtension
+ Allow the 'x-enum-values' extension for enums
+
+ sourceFolder
+ source folder for generated code
+
+ supportDart2
+ support dart2 (Default: true)
+
+
diff --git a/.documentation/dist/static/docs/generators/dart.md b/.documentation/dist/static/docs/generators/dart.md
new file mode 100644
index 000000000000..bdfeb784259f
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/dart.md
@@ -0,0 +1,37 @@
+
+CONFIG OPTIONS for dart
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ browserClient
+ Is the client browser based
+
+ pubName
+ Name in generated pubspec
+
+ pubVersion
+ Version in generated pubspec
+
+ pubDescription
+ Description in generated pubspec
+
+ useEnumExtension
+ Allow the 'x-enum-values' extension for enums
+
+ sourceFolder
+ source folder for generated code
+
+ supportDart2
+ support dart2 (Default: true)
+
+
diff --git a/.documentation/dist/static/docs/generators/dynamic-html.md b/.documentation/dist/static/docs/generators/dynamic-html.md
new file mode 100644
index 000000000000..7cd1f2992fa3
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/dynamic-html.md
@@ -0,0 +1,28 @@
+
+CONFIG OPTIONS for dynamic-html
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ invokerPackage
+ root package for generated code
+
+ groupId
+ groupId in generated pom.xml
+
+ artifactId
+ artifactId in generated pom.xml
+
+ artifactVersion
+ artifact version in generated pom.xml
+
+
diff --git a/.documentation/dist/static/docs/generators/eiffel.md b/.documentation/dist/static/docs/generators/eiffel.md
new file mode 100644
index 000000000000..97c00fd19c47
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/eiffel.md
@@ -0,0 +1,13 @@
+
+CONFIG OPTIONS for eiffel
+
+ packageName
+ Eiffel Cluster name (convention: lowercase). (Default: openapi)
+
+ packageVersion
+ Eiffel package version. (Default: 1.0.0)
+
+ hideGenerationTimestamp
+ Hides the generation timestamp when files are generated. (Default: true)
+
+
diff --git a/.documentation/dist/static/docs/generators/elixir.md b/.documentation/dist/static/docs/generators/elixir.md
new file mode 100644
index 000000000000..ca208e4f44cf
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/elixir.md
@@ -0,0 +1,25 @@
+
+CONFIG OPTIONS for elixir
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ invokerPackage
+ The main namespace to use for all classes. e.g. Yay.Pets
+
+ licenseHeader
+ The license header to prepend to the top of all source files.
+
+ packageName
+ Elixir package name (convention: lowercase).
+
+
diff --git a/.documentation/dist/static/docs/generators/elm.md b/.documentation/dist/static/docs/generators/elm.md
new file mode 100644
index 000000000000..c9d566137758
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/elm.md
@@ -0,0 +1,12 @@
+
+CONFIG OPTIONS for elm
+
+ elmVersion
+ Elm version: 0.18, 0.19 (Default: 0.19)
+ 0.19 - Elm 0.19
+ 0.18 - Elm 0.18
+
+ elmPrefixCustomTypeVariants
+ Prefix custom type variants (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/erlang-client.md b/.documentation/dist/static/docs/generators/erlang-client.md
new file mode 100644
index 000000000000..f295f52927c6
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/erlang-client.md
@@ -0,0 +1,10 @@
+
+CONFIG OPTIONS for erlang-client
+
+ packageName
+ Erlang application name (convention: lowercase). (Default: openapi)
+
+ packageName
+ Erlang application version (Default: 1.0.0)
+
+
diff --git a/.documentation/dist/static/docs/generators/erlang-server.md b/.documentation/dist/static/docs/generators/erlang-server.md
new file mode 100644
index 000000000000..6fe75ba6d54b
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/erlang-server.md
@@ -0,0 +1,10 @@
+
+CONFIG OPTIONS for erlang-server
+
+ packageName
+ Erlang package name (convention: lowercase). (Default: openapi)
+
+ openAPISpecName
+ Openapi Spec Name. (Default: openapi)
+
+
diff --git a/.documentation/dist/static/docs/generators/flash.md b/.documentation/dist/static/docs/generators/flash.md
new file mode 100644
index 000000000000..cf3dec85764c
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/flash.md
@@ -0,0 +1,16 @@
+
+CONFIG OPTIONS for flash
+
+ packageName
+ flash package name (convention: package.name) (Default: org.openapitools)
+
+ packageVersion
+ flash package version (Default: 1.0.0)
+
+ invokerPackage
+ root package for generated code
+
+ sourceFolder
+ source folder for generated code. e.g. flash
+
+
diff --git a/.documentation/dist/static/docs/generators/go-gin-server.md b/.documentation/dist/static/docs/generators/go-gin-server.md
new file mode 100644
index 000000000000..ba39c0ab9aa5
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/go-gin-server.md
@@ -0,0 +1,10 @@
+
+CONFIG OPTIONS for go-gin-server
+
+ packageName
+ Go package name (convention: lowercase). (Default: openapi)
+
+ hideGenerationTimestamp
+ Hides the generation timestamp when files are generated. (Default: true)
+
+
diff --git a/.documentation/dist/static/docs/generators/go-server.md b/.documentation/dist/static/docs/generators/go-server.md
new file mode 100644
index 000000000000..5644e2f140cf
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/go-server.md
@@ -0,0 +1,10 @@
+
+CONFIG OPTIONS for go-server
+
+ packageName
+ Go package name (convention: lowercase). (Default: openapi)
+
+ hideGenerationTimestamp
+ Hides the generation timestamp when files are generated. (Default: true)
+
+
diff --git a/.documentation/dist/static/docs/generators/go.md b/.documentation/dist/static/docs/generators/go.md
new file mode 100644
index 000000000000..3fc11366e1f4
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/go.md
@@ -0,0 +1,22 @@
+
+CONFIG OPTIONS for go
+
+ packageName
+ Go package name (convention: lowercase). (Default: openapi)
+
+ hideGenerationTimestamp
+ Hides the generation timestamp when files are generated. (Default: true)
+
+ packageVersion
+ Go package version. (Default: 1.0.0)
+
+ withGoCodegenComment
+ whether to include Go codegen comment to disable Go Lint and collapse by default GitHub in PRs and diffs (Default: false)
+
+ withXml
+ whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/groovy.md b/.documentation/dist/static/docs/generators/groovy.md
new file mode 100644
index 000000000000..45a3202aca6f
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/groovy.md
@@ -0,0 +1,119 @@
+
+CONFIG OPTIONS for groovy
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ invokerPackage
+ root package for generated code
+
+ groupId
+ groupId in generated pom.xml
+
+ artifactId
+ artifactId in generated pom.xml
+
+ artifactVersion
+ artifact version in generated pom.xml
+
+ artifactUrl
+ artifact URL in generated pom.xml
+
+ artifactDescription
+ artifact description in generated pom.xml
+
+ scmConnection
+ SCM connection in generated pom.xml
+
+ scmDeveloperConnection
+ SCM developer connection in generated pom.xml
+
+ scmUrl
+ SCM URL in generated pom.xml
+
+ developerName
+ developer name in generated pom.xml
+
+ developerEmail
+ developer email in generated pom.xml
+
+ developerOrganization
+ developer organization in generated pom.xml
+
+ developerOrganizationUrl
+ developer organization URL in generated pom.xml
+
+ licenseName
+ The name of the license
+
+ licenseUrl
+ The URL of the license
+
+ sourceFolder
+ source folder for generated code
+
+ localVariablePrefix
+ prefix for generated code members and local variables
+
+ serializableModel
+ boolean - toggle "implements Serializable" for generated models (Default: false)
+
+ bigDecimalAsString
+ Treat BigDecimal values as Strings to avoid precision loss. (Default: false)
+
+ fullJavaUtil
+ whether to use fully qualified name for classes under java.util. This option only works for Java API client (Default: false)
+
+ hideGenerationTimestamp
+ hides the timestamp when files were generated
+
+ withXml
+ whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) (Default: false)
+
+ dateLibrary
+ Option. Date library to use
+ joda - Joda (for legacy app only)
+ legacy - Legacy java.util.Date (if you really have a good reason not to use threetenbp
+ java8-localdatetime - Java 8 using LocalDateTime (for legacy app only)
+ java8 - Java 8 native JSR310 (preferred for jdk 1.8+) - note: this also sets "java8" to true
+ threetenbp - Backport of JSR310 (preferred for jdk < 1.8)
+
+ java8
+ Option. Use Java8 classes instead of third party equivalents
+ true - Use Java 8 classes such as Base64
+ false - Various third party libraries as needed
+
+ disableHtmlEscaping
+ Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields) (Default: false)
+
+ booleanGetterPrefix
+ Set booleanGetterPrefix (default value 'get')
+
+ parentGroupId
+ parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentArtifactId
+ parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentVersion
+ parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ configPackage
+ configuration package for generated code
+
+
diff --git a/.documentation/dist/static/docs/generators/haskell-http-client.md b/.documentation/dist/static/docs/generators/haskell-http-client.md
new file mode 100644
index 000000000000..9ce2713598bc
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/haskell-http-client.md
@@ -0,0 +1,73 @@
+
+CONFIG OPTIONS for haskell-http-client
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ cabalPackage
+ Set the cabal package name, which consists of one or more alphanumeric words separated by hyphens
+
+ cabalVersion
+ Set the cabal version number, consisting of a sequence of one or more integers separated by dots
+
+ baseModule
+ Set the base module namespace
+
+ requestType
+ Set the name of the type used to generate requests
+
+ configType
+ Set the name of the type used for configuration
+
+ allowFromJsonNulls
+ allow JSON Null during model decoding from JSON (Default: true)
+
+ allowToJsonNulls
+ allow emitting JSON Null during model encoding to JSON (Default: false)
+
+ allowNonUniqueOperationIds
+ allow different API modules to contain the same operationId. Each API must be imported qualified (Default: false)
+
+ generateLenses
+ Generate Lens optics for Models (Default: true)
+
+ generateModelConstructors
+ Generate smart constructors (only supply required fields) for models (Default: true)
+
+ generateEnums
+ Generate specific datatypes for OpenAPI enums (Default: true)
+
+ generateFormUrlEncodedInstances
+ Generate FromForm/ToForm instances for models that are used by operations that produce or consume application/x-www-form-urlencoded (Default: true)
+
+ inlineMimeTypes
+ Inline (hardcode) the content-type and accept parameters on operations, when there is only 1 option (Default: true)
+
+ modelDeriving
+ Additional classes to include in the deriving() clause of Models
+
+ strictFields
+ Add strictness annotations to all model fields (Default: true)
+
+ useMonadLogger
+ Use the monad-logger package to provide logging (if false, use the katip logging package) (Default: false)
+
+ dateTimeFormat
+ format string used to parse/render a datetime
+
+ dateFormat
+ format string used to parse/render a date (Default: %Y-%m-%d)
+
+ hideGenerationTimestamp
+ Hides the generation timestamp when files are generated. (Default: true)
+
+
diff --git a/.documentation/dist/static/docs/generators/haskell.md b/.documentation/dist/static/docs/generators/haskell.md
new file mode 100644
index 000000000000..ba78eec39b68
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/haskell.md
@@ -0,0 +1,22 @@
+
+CONFIG OPTIONS for haskell
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+
diff --git a/.documentation/dist/static/docs/generators/html.md b/.documentation/dist/static/docs/generators/html.md
new file mode 100644
index 000000000000..5ca020b2190a
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/html.md
@@ -0,0 +1,46 @@
+
+CONFIG OPTIONS for html
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ appName
+ short name of the application
+
+ appDescription
+ description of the application
+
+ infoUrl
+ a URL where users can get more information about the application
+
+ infoEmail
+ an email address to contact for inquiries about the application
+
+ licenseInfo
+ a short description of the license
+
+ licenseUrl
+ a URL pointing to the full license
+
+ invokerPackage
+ root package for generated code
+
+ groupId
+ groupId in generated pom.xml
+
+ artifactId
+ artifactId in generated pom.xml
+
+ artifactVersion
+ artifact version in generated pom.xml
+
+
diff --git a/.documentation/dist/static/docs/generators/html2.md b/.documentation/dist/static/docs/generators/html2.md
new file mode 100644
index 000000000000..4ffc2a68f48c
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/html2.md
@@ -0,0 +1,58 @@
+
+CONFIG OPTIONS for html2
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ appName
+ short name of the application
+
+ appDescription
+ description of the application
+
+ infoUrl
+ a URL where users can get more information about the application
+
+ infoEmail
+ an email address to contact for inquiries about the application
+
+ licenseInfo
+ a short description of the license
+
+ licenseUrl
+ a URL pointing to the full license
+
+ invokerPackage
+ root package for generated code
+
+ phpInvokerPackage
+ root package for generated php code
+
+ perlModuleName
+ root module name for generated perl code
+
+ pythonPackageName
+ package name for generated python code
+
+ packageName
+ C# package name
+
+ groupId
+ groupId in generated pom.xml
+
+ artifactId
+ artifactId in generated pom.xml
+
+ artifactVersion
+ artifact version in generated pom.xml
+
+
diff --git a/.documentation/dist/static/docs/generators/java-inflector.md b/.documentation/dist/static/docs/generators/java-inflector.md
new file mode 100644
index 000000000000..588b928110f4
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/java-inflector.md
@@ -0,0 +1,116 @@
+
+CONFIG OPTIONS for java-inflector
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ invokerPackage
+ root package for generated code
+
+ groupId
+ groupId in generated pom.xml
+
+ artifactId
+ artifactId in generated pom.xml
+
+ artifactVersion
+ artifact version in generated pom.xml
+
+ artifactUrl
+ artifact URL in generated pom.xml
+
+ artifactDescription
+ artifact description in generated pom.xml
+
+ scmConnection
+ SCM connection in generated pom.xml
+
+ scmDeveloperConnection
+ SCM developer connection in generated pom.xml
+
+ scmUrl
+ SCM URL in generated pom.xml
+
+ developerName
+ developer name in generated pom.xml
+
+ developerEmail
+ developer email in generated pom.xml
+
+ developerOrganization
+ developer organization in generated pom.xml
+
+ developerOrganizationUrl
+ developer organization URL in generated pom.xml
+
+ licenseName
+ The name of the license
+
+ licenseUrl
+ The URL of the license
+
+ sourceFolder
+ source folder for generated code
+
+ localVariablePrefix
+ prefix for generated code members and local variables
+
+ serializableModel
+ boolean - toggle "implements Serializable" for generated models (Default: false)
+
+ bigDecimalAsString
+ Treat BigDecimal values as Strings to avoid precision loss. (Default: false)
+
+ fullJavaUtil
+ whether to use fully qualified name for classes under java.util. This option only works for Java API client (Default: false)
+
+ hideGenerationTimestamp
+ hides the timestamp when files were generated
+
+ withXml
+ whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) (Default: false)
+
+ dateLibrary
+ Option. Date library to use
+ joda - Joda (for legacy app only)
+ legacy - Legacy java.util.Date (if you really have a good reason not to use threetenbp
+ java8-localdatetime - Java 8 using LocalDateTime (for legacy app only)
+ java8 - Java 8 native JSR310 (preferred for jdk 1.8+) - note: this also sets "java8" to true
+ threetenbp - Backport of JSR310 (preferred for jdk < 1.8)
+
+ java8
+ Option. Use Java8 classes instead of third party equivalents
+ true - Use Java 8 classes such as Base64
+ false - Various third party libraries as needed
+
+ disableHtmlEscaping
+ Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields) (Default: false)
+
+ booleanGetterPrefix
+ Set booleanGetterPrefix (default value 'get')
+
+ parentGroupId
+ parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentArtifactId
+ parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentVersion
+ parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+
diff --git a/.documentation/dist/static/docs/generators/java-msf4j.md b/.documentation/dist/static/docs/generators/java-msf4j.md
new file mode 100644
index 000000000000..519a1a7a1705
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/java-msf4j.md
@@ -0,0 +1,133 @@
+
+CONFIG OPTIONS for java-msf4j
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ invokerPackage
+ root package for generated code
+
+ groupId
+ groupId in generated pom.xml
+
+ artifactId
+ artifactId in generated pom.xml
+
+ artifactVersion
+ artifact version in generated pom.xml
+
+ artifactUrl
+ artifact URL in generated pom.xml
+
+ artifactDescription
+ artifact description in generated pom.xml
+
+ scmConnection
+ SCM connection in generated pom.xml
+
+ scmDeveloperConnection
+ SCM developer connection in generated pom.xml
+
+ scmUrl
+ SCM URL in generated pom.xml
+
+ developerName
+ developer name in generated pom.xml
+
+ developerEmail
+ developer email in generated pom.xml
+
+ developerOrganization
+ developer organization in generated pom.xml
+
+ developerOrganizationUrl
+ developer organization URL in generated pom.xml
+
+ licenseName
+ The name of the license
+
+ licenseUrl
+ The URL of the license
+
+ sourceFolder
+ source folder for generated code
+
+ localVariablePrefix
+ prefix for generated code members and local variables
+
+ serializableModel
+ boolean - toggle "implements Serializable" for generated models (Default: false)
+
+ bigDecimalAsString
+ Treat BigDecimal values as Strings to avoid precision loss. (Default: false)
+
+ fullJavaUtil
+ whether to use fully qualified name for classes under java.util. This option only works for Java API client (Default: false)
+
+ hideGenerationTimestamp
+ hides the timestamp when files were generated
+
+ withXml
+ whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) (Default: false)
+
+ dateLibrary
+ Option. Date library to use
+ joda - Joda (for legacy app only)
+ legacy - Legacy java.util.Date (if you really have a good reason not to use threetenbp
+ java8-localdatetime - Java 8 using LocalDateTime (for legacy app only)
+ java8 - Java 8 native JSR310 (preferred for jdk 1.8+) - note: this also sets "java8" to true
+ threetenbp - Backport of JSR310 (preferred for jdk < 1.8)
+
+ java8
+ Option. Use Java8 classes instead of third party equivalents
+ true - Use Java 8 classes such as Base64
+ false - Various third party libraries as needed
+
+ disableHtmlEscaping
+ Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields) (Default: false)
+
+ booleanGetterPrefix
+ Set booleanGetterPrefix (default value 'get')
+
+ parentGroupId
+ parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentArtifactId
+ parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentVersion
+ parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ implFolder
+ folder for generated implementation code
+
+ title
+ a title describing the application
+
+ useBeanValidation
+ Use BeanValidation API annotations (Default: true)
+
+ serverPort
+ The port on which the server should be started
+
+ library
+ library template (sub-template) to use (Default: jersey2)
+ jersey1 - Jersey core 1.x
+ jersey2 - Jersey core 2.x
+
+
diff --git a/.documentation/dist/static/docs/generators/java-pkmst.md b/.documentation/dist/static/docs/generators/java-pkmst.md
new file mode 100644
index 000000000000..dffd31c803f8
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/java-pkmst.md
@@ -0,0 +1,146 @@
+
+CONFIG OPTIONS for java-pkmst
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ invokerPackage
+ root package for generated code
+
+ groupId
+ groupId in generated pom.xml
+
+ artifactId
+ artifactId in generated pom.xml
+
+ artifactVersion
+ artifact version in generated pom.xml
+
+ artifactUrl
+ artifact URL in generated pom.xml
+
+ artifactDescription
+ artifact description in generated pom.xml
+
+ scmConnection
+ SCM connection in generated pom.xml
+
+ scmDeveloperConnection
+ SCM developer connection in generated pom.xml
+
+ scmUrl
+ SCM URL in generated pom.xml
+
+ developerName
+ developer name in generated pom.xml
+
+ developerEmail
+ developer email in generated pom.xml
+
+ developerOrganization
+ developer organization in generated pom.xml
+
+ developerOrganizationUrl
+ developer organization URL in generated pom.xml
+
+ licenseName
+ The name of the license
+
+ licenseUrl
+ The URL of the license
+
+ sourceFolder
+ source folder for generated code
+
+ localVariablePrefix
+ prefix for generated code members and local variables
+
+ serializableModel
+ boolean - toggle "implements Serializable" for generated models (Default: false)
+
+ bigDecimalAsString
+ Treat BigDecimal values as Strings to avoid precision loss. (Default: false)
+
+ fullJavaUtil
+ whether to use fully qualified name for classes under java.util. This option only works for Java API client (Default: false)
+
+ hideGenerationTimestamp
+ hides the timestamp when files were generated
+
+ withXml
+ whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) (Default: false)
+
+ dateLibrary
+ Option. Date library to use
+ joda - Joda (for legacy app only)
+ legacy - Legacy java.util.Date (if you really have a good reason not to use threetenbp
+ java8-localdatetime - Java 8 using LocalDateTime (for legacy app only)
+ java8 - Java 8 native JSR310 (preferred for jdk 1.8+) - note: this also sets "java8" to true
+ threetenbp - Backport of JSR310 (preferred for jdk < 1.8)
+
+ java8
+ Option. Use Java8 classes instead of third party equivalents
+ true - Use Java 8 classes such as Base64
+ false - Various third party libraries as needed
+
+ disableHtmlEscaping
+ Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields) (Default: false)
+
+ booleanGetterPrefix
+ Set booleanGetterPrefix (default value 'get')
+
+ parentGroupId
+ parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentArtifactId
+ parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentVersion
+ parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ groupId
+ groupId in generated pom.xml
+
+ artifactId
+ artifactId in generated pom.xml
+
+ artifactVersion
+ artifact version in generated pom.xml
+
+ basePackage
+ base package for java source code
+
+ serviceName
+ Service Name
+
+ title
+ server title name or client service name
+
+ eurekaUri
+ Eureka URI
+
+ zipkinUri
+ Zipkin URI
+
+ springBootAdminUri
+ Spring-Boot URI
+
+ pkmstInterceptor
+ PKMST Interceptor
+
+
diff --git a/.documentation/dist/static/docs/generators/java-play-framework.md b/.documentation/dist/static/docs/generators/java-play-framework.md
new file mode 100644
index 000000000000..af3b5bdce3ae
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/java-play-framework.md
@@ -0,0 +1,143 @@
+
+CONFIG OPTIONS for java-play-framework
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ invokerPackage
+ root package for generated code
+
+ groupId
+ groupId in generated pom.xml
+
+ artifactId
+ artifactId in generated pom.xml
+
+ artifactVersion
+ artifact version in generated pom.xml
+
+ artifactUrl
+ artifact URL in generated pom.xml
+
+ artifactDescription
+ artifact description in generated pom.xml
+
+ scmConnection
+ SCM connection in generated pom.xml
+
+ scmDeveloperConnection
+ SCM developer connection in generated pom.xml
+
+ scmUrl
+ SCM URL in generated pom.xml
+
+ developerName
+ developer name in generated pom.xml
+
+ developerEmail
+ developer email in generated pom.xml
+
+ developerOrganization
+ developer organization in generated pom.xml
+
+ developerOrganizationUrl
+ developer organization URL in generated pom.xml
+
+ licenseName
+ The name of the license
+
+ licenseUrl
+ The URL of the license
+
+ sourceFolder
+ source folder for generated code
+
+ localVariablePrefix
+ prefix for generated code members and local variables
+
+ serializableModel
+ boolean - toggle "implements Serializable" for generated models (Default: false)
+
+ bigDecimalAsString
+ Treat BigDecimal values as Strings to avoid precision loss. (Default: false)
+
+ fullJavaUtil
+ whether to use fully qualified name for classes under java.util. This option only works for Java API client (Default: false)
+
+ hideGenerationTimestamp
+ hides the timestamp when files were generated
+
+ withXml
+ whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) (Default: false)
+
+ dateLibrary
+ Option. Date library to use
+ joda - Joda (for legacy app only)
+ legacy - Legacy java.util.Date (if you really have a good reason not to use threetenbp
+ java8-localdatetime - Java 8 using LocalDateTime (for legacy app only)
+ java8 - Java 8 native JSR310 (preferred for jdk 1.8+) - note: this also sets "java8" to true
+ threetenbp - Backport of JSR310 (preferred for jdk < 1.8)
+
+ java8
+ Option. Use Java8 classes instead of third party equivalents
+ true - Use Java 8 classes such as Base64
+ false - Various third party libraries as needed
+
+ disableHtmlEscaping
+ Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields) (Default: false)
+
+ booleanGetterPrefix
+ Set booleanGetterPrefix (default value 'get')
+
+ parentGroupId
+ parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentArtifactId
+ parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentVersion
+ parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ title
+ server title name or client service name
+
+ configPackage
+ configuration package for generated code
+
+ basePackage
+ base package for generated code
+
+ controllerOnly
+ Whether to generate only API interface stubs without the server files. (Default: false)
+
+ useBeanValidation
+ Use BeanValidation API annotations (Default: true)
+
+ useInterfaces
+ Makes the controllerImp implements an interface to facilitate automatic completion when updating from version x to y of your spec (Default: true)
+
+ handleExceptions
+ Add a 'throw exception' to each controller function. Add also a custom error handler where you can put your custom logic (Default: true)
+
+ wrapCalls
+ Add a wrapper to each controller function to handle things like metrics, response modification, etc.. (Default: true)
+
+ useSwaggerUI
+ Add a route to /api which show your documentation in swagger-ui. Will also import needed dependencies (Default: true)
+
+
diff --git a/.documentation/dist/static/docs/generators/java-undertow-server.md b/.documentation/dist/static/docs/generators/java-undertow-server.md
new file mode 100644
index 000000000000..4d0f3d7fe68f
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/java-undertow-server.md
@@ -0,0 +1,116 @@
+
+CONFIG OPTIONS for java-undertow-server
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ invokerPackage
+ root package for generated code
+
+ groupId
+ groupId in generated pom.xml
+
+ artifactId
+ artifactId in generated pom.xml
+
+ artifactVersion
+ artifact version in generated pom.xml
+
+ artifactUrl
+ artifact URL in generated pom.xml
+
+ artifactDescription
+ artifact description in generated pom.xml
+
+ scmConnection
+ SCM connection in generated pom.xml
+
+ scmDeveloperConnection
+ SCM developer connection in generated pom.xml
+
+ scmUrl
+ SCM URL in generated pom.xml
+
+ developerName
+ developer name in generated pom.xml
+
+ developerEmail
+ developer email in generated pom.xml
+
+ developerOrganization
+ developer organization in generated pom.xml
+
+ developerOrganizationUrl
+ developer organization URL in generated pom.xml
+
+ licenseName
+ The name of the license
+
+ licenseUrl
+ The URL of the license
+
+ sourceFolder
+ source folder for generated code
+
+ localVariablePrefix
+ prefix for generated code members and local variables
+
+ serializableModel
+ boolean - toggle "implements Serializable" for generated models (Default: false)
+
+ bigDecimalAsString
+ Treat BigDecimal values as Strings to avoid precision loss. (Default: false)
+
+ fullJavaUtil
+ whether to use fully qualified name for classes under java.util. This option only works for Java API client (Default: false)
+
+ hideGenerationTimestamp
+ hides the timestamp when files were generated
+
+ withXml
+ whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) (Default: false)
+
+ dateLibrary
+ Option. Date library to use
+ joda - Joda (for legacy app only)
+ legacy - Legacy java.util.Date (if you really have a good reason not to use threetenbp
+ java8-localdatetime - Java 8 using LocalDateTime (for legacy app only)
+ java8 - Java 8 native JSR310 (preferred for jdk 1.8+) - note: this also sets "java8" to true
+ threetenbp - Backport of JSR310 (preferred for jdk < 1.8)
+
+ java8
+ Option. Use Java8 classes instead of third party equivalents
+ true - Use Java 8 classes such as Base64
+ false - Various third party libraries as needed
+
+ disableHtmlEscaping
+ Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields) (Default: false)
+
+ booleanGetterPrefix
+ Set booleanGetterPrefix (default value 'get')
+
+ parentGroupId
+ parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentArtifactId
+ parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentVersion
+ parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+
diff --git a/.documentation/dist/static/docs/generators/java-vertx.md b/.documentation/dist/static/docs/generators/java-vertx.md
new file mode 100644
index 000000000000..7b36d62ed56f
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/java-vertx.md
@@ -0,0 +1,122 @@
+
+CONFIG OPTIONS for java-vertx
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ invokerPackage
+ root package for generated code
+
+ groupId
+ groupId in generated pom.xml
+
+ artifactId
+ artifactId in generated pom.xml
+
+ artifactVersion
+ artifact version in generated pom.xml
+
+ artifactUrl
+ artifact URL in generated pom.xml
+
+ artifactDescription
+ artifact description in generated pom.xml
+
+ scmConnection
+ SCM connection in generated pom.xml
+
+ scmDeveloperConnection
+ SCM developer connection in generated pom.xml
+
+ scmUrl
+ SCM URL in generated pom.xml
+
+ developerName
+ developer name in generated pom.xml
+
+ developerEmail
+ developer email in generated pom.xml
+
+ developerOrganization
+ developer organization in generated pom.xml
+
+ developerOrganizationUrl
+ developer organization URL in generated pom.xml
+
+ licenseName
+ The name of the license
+
+ licenseUrl
+ The URL of the license
+
+ sourceFolder
+ source folder for generated code
+
+ localVariablePrefix
+ prefix for generated code members and local variables
+
+ serializableModel
+ boolean - toggle "implements Serializable" for generated models (Default: false)
+
+ bigDecimalAsString
+ Treat BigDecimal values as Strings to avoid precision loss. (Default: false)
+
+ fullJavaUtil
+ whether to use fully qualified name for classes under java.util. This option only works for Java API client (Default: false)
+
+ hideGenerationTimestamp
+ hides the timestamp when files were generated
+
+ withXml
+ whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) (Default: false)
+
+ dateLibrary
+ Option. Date library to use
+ joda - Joda (for legacy app only)
+ legacy - Legacy java.util.Date (if you really have a good reason not to use threetenbp
+ java8-localdatetime - Java 8 using LocalDateTime (for legacy app only)
+ java8 - Java 8 native JSR310 (preferred for jdk 1.8+) - note: this also sets "java8" to true
+ threetenbp - Backport of JSR310 (preferred for jdk < 1.8)
+
+ java8
+ Option. Use Java8 classes instead of third party equivalents
+ true - Use Java 8 classes such as Base64
+ false - Various third party libraries as needed
+
+ disableHtmlEscaping
+ Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields) (Default: false)
+
+ booleanGetterPrefix
+ Set booleanGetterPrefix (default value 'get')
+
+ parentGroupId
+ parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentArtifactId
+ parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentVersion
+ parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ rxInterface
+ When specified, API interfaces are generated with RX and methods return Single<> and Comparable. (Default: false)
+
+ vertxSwaggerRouterVersion
+ Specify the version of the swagger router library
+
+
diff --git a/.documentation/dist/static/docs/generators/java.md b/.documentation/dist/static/docs/generators/java.md
new file mode 100644
index 000000000000..bb922c96e0d2
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/java.md
@@ -0,0 +1,164 @@
+
+CONFIG OPTIONS for java
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ invokerPackage
+ root package for generated code
+
+ groupId
+ groupId in generated pom.xml
+
+ artifactId
+ artifactId in generated pom.xml
+
+ artifactVersion
+ artifact version in generated pom.xml
+
+ artifactUrl
+ artifact URL in generated pom.xml
+
+ artifactDescription
+ artifact description in generated pom.xml
+
+ scmConnection
+ SCM connection in generated pom.xml
+
+ scmDeveloperConnection
+ SCM developer connection in generated pom.xml
+
+ scmUrl
+ SCM URL in generated pom.xml
+
+ developerName
+ developer name in generated pom.xml
+
+ developerEmail
+ developer email in generated pom.xml
+
+ developerOrganization
+ developer organization in generated pom.xml
+
+ developerOrganizationUrl
+ developer organization URL in generated pom.xml
+
+ licenseName
+ The name of the license
+
+ licenseUrl
+ The URL of the license
+
+ sourceFolder
+ source folder for generated code
+
+ localVariablePrefix
+ prefix for generated code members and local variables
+
+ serializableModel
+ boolean - toggle "implements Serializable" for generated models (Default: false)
+
+ bigDecimalAsString
+ Treat BigDecimal values as Strings to avoid precision loss. (Default: false)
+
+ fullJavaUtil
+ whether to use fully qualified name for classes under java.util. This option only works for Java API client (Default: false)
+
+ hideGenerationTimestamp
+ hides the timestamp when files were generated
+
+ withXml
+ whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) (Default: false)
+
+ dateLibrary
+ Option. Date library to use
+ joda - Joda (for legacy app only)
+ legacy - Legacy java.util.Date (if you really have a good reason not to use threetenbp
+ java8-localdatetime - Java 8 using LocalDateTime (for legacy app only)
+ java8 - Java 8 native JSR310 (preferred for jdk 1.8+) - note: this also sets "java8" to true
+ threetenbp - Backport of JSR310 (preferred for jdk < 1.8)
+
+ java8
+ Option. Use Java8 classes instead of third party equivalents
+ true - Use Java 8 classes such as Base64
+ false - Various third party libraries as needed
+
+ disableHtmlEscaping
+ Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields) (Default: false)
+
+ booleanGetterPrefix
+ Set booleanGetterPrefix (default value 'get')
+
+ parentGroupId
+ parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentArtifactId
+ parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentVersion
+ parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ useRxJava
+ Whether to use the RxJava adapter with the retrofit2 library. (Default: false)
+
+ useRxJava2
+ Whether to use the RxJava2 adapter with the retrofit2 library. (Default: false)
+
+ parcelableModel
+ Whether to generate models for Android that implement Parcelable with the okhttp-gson library. (Default: false)
+
+ usePlayWS
+ Use Play! Async HTTP client (Play WS API) (Default: false)
+
+ playVersion
+ Version of Play! Framework (possible values "play24", "play25" (default), "play26")
+
+ supportJava6
+ Whether to support Java6 with the Jersey1 library. (Default: false)
+
+ useBeanValidation
+ Use BeanValidation API annotations (Default: false)
+
+ performBeanValidation
+ Perform BeanValidation (Default: false)
+
+ useGzipFeature
+ Send gzip-encoded requests (Default: false)
+
+ useRuntimeException
+ Use RuntimeException instead of Exception (Default: false)
+
+ feignVersion
+ Version of OpenFeign: '10.x', '9.x' (default) (Default: false)
+
+ library
+ library template (sub-template) to use (Default: okhttp-gson)
+ jersey1 - HTTP client: Jersey client 1.19.4. JSON processing: Jackson 2.8.9. Enable Java6 support using '-DsupportJava6=true'. Enable gzip request encoding using '-DuseGzipFeature=true'.
+ feign - HTTP client: OpenFeign 9.4.0. JSON processing: Jackson 2.8.9. To enable OpenFeign 10.x, set the 'feignVersion' option to '10.x'
+ jersey2 - HTTP client: Jersey client 2.25.1. JSON processing: Jackson 2.8.9
+ okhttp-gson - HTTP client: OkHttp 2.7.5. JSON processing: Gson 2.8.1. Enable Parcelable models on Android using '-DparcelableModel=true'. Enable gzip request encoding using '-DuseGzipFeature=true'.
+ retrofit - HTTP client: OkHttp 2.7.5. JSON processing: Gson 2.3.1 (Retrofit 1.9.0). IMPORTANT NOTE: retrofit1.x is no longer actively maintained so please upgrade to 'retrofit2' instead.
+ retrofit2 - HTTP client: OkHttp 3.8.0. JSON processing: Gson 2.6.1 (Retrofit 2.3.0). Enable the RxJava adapter using '-DuseRxJava[2]=true'. (RxJava 1.x or 2.x)
+ resttemplate - HTTP client: Spring RestTemplate 4.3.9-RELEASE. JSON processing: Jackson 2.8.9
+ webclient - HTTP client: Spring WebClient 5.0.7-RELEASE. JSON processing: Jackson 2.9.5
+ resteasy - HTTP client: Resteasy client 3.1.3.Final. JSON processing: Jackson 2.8.9
+ vertx - HTTP client: VertX client 3.2.4. JSON processing: Jackson 2.8.9
+ google-api-client - HTTP client: Google API client 1.23.0. JSON processing: Jackson 2.8.9
+ rest-assured - HTTP client: rest-assured : 3.1.0. JSON processing: Gson 2.6.1. Only for Java8
+
+
diff --git a/.documentation/dist/static/docs/generators/javascript-closure-angular.md b/.documentation/dist/static/docs/generators/javascript-closure-angular.md
new file mode 100644
index 000000000000..c4c557d3d8de
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/javascript-closure-angular.md
@@ -0,0 +1,22 @@
+
+CONFIG OPTIONS for javascript-closure-angular
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ hideGenerationTimestamp
+ Hides the generation timestamp when files are generated. (Default: true)
+
+ useEs6
+ use ES6 templates (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/javascript-flowtyped.md b/.documentation/dist/static/docs/generators/javascript-flowtyped.md
new file mode 100644
index 000000000000..f9ff4e0e93ae
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/javascript-flowtyped.md
@@ -0,0 +1,34 @@
+
+CONFIG OPTIONS for javascript-flowtyped
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPropertyNaming
+ Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name (Default: camelCase)
+
+ supportsES6
+ Generate code that conforms to ES6. (Default: false)
+
+ npmName
+ The name under which you want to publish generated npm package
+
+ npmVersion
+ The version of your npm package
+
+ npmRepository
+ Use this property to set an url your private npmRepo in the package.json
+
+ snapshot
+ When setting this property to true the version will be suffixed with -SNAPSHOT.yyyyMMddHHmm (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/javascript.md b/.documentation/dist/static/docs/generators/javascript.md
new file mode 100644
index 000000000000..9e16cdfbc7ba
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/javascript.md
@@ -0,0 +1,67 @@
+
+CONFIG OPTIONS for javascript
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ sourceFolder
+ source folder for generated code (Default: src)
+
+ localVariablePrefix
+ prefix for generated code members and local variables
+
+ invokerPackage
+ root package for generated code
+
+ apiPackage
+ package for generated api classes
+
+ modelPackage
+ package for generated models
+
+ projectName
+ name of the project (Default: generated from info.title or "openapi-js-client")
+
+ moduleName
+ module name for AMD, Node or globals (Default: generated from )
+
+ projectDescription
+ description of the project (Default: using info.description or "Client library of ")
+
+ projectVersion
+ version of the project (Default: using info.version or "1.0.0")
+
+ licenseName
+ name of the license the project uses (Default: using info.license.name)
+
+ usePromises
+ use Promises as return values from the client API, instead of superagent callbacks (Default: false)
+
+ emitModelMethods
+ generate getters and setters for model properties (Default: false)
+
+ emitJSDoc
+ generate JSDoc comments (Default: true)
+
+ useInheritance
+ use JavaScript prototype chains & delegation for inheritance (Default: true)
+
+ hideGenerationTimestamp
+ Hides the generation timestamp when files are generated. (Default: true)
+
+ useES6
+ use JavaScript ES6 (ECMAScript 6) (beta). Default is ES5. (Default: false)
+
+ modelPropertyNaming
+ Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name (Default: camelCase)
+
+
diff --git a/.documentation/dist/static/docs/generators/jaxrs-cxf-cdi.md b/.documentation/dist/static/docs/generators/jaxrs-cxf-cdi.md
new file mode 100644
index 000000000000..6c04dde0641a
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/jaxrs-cxf-cdi.md
@@ -0,0 +1,147 @@
+
+CONFIG OPTIONS for jaxrs-cxf-cdi
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ invokerPackage
+ root package for generated code
+
+ groupId
+ groupId in generated pom.xml
+
+ artifactId
+ artifactId in generated pom.xml
+
+ artifactVersion
+ artifact version in generated pom.xml
+
+ artifactUrl
+ artifact URL in generated pom.xml
+
+ artifactDescription
+ artifact description in generated pom.xml
+
+ scmConnection
+ SCM connection in generated pom.xml
+
+ scmDeveloperConnection
+ SCM developer connection in generated pom.xml
+
+ scmUrl
+ SCM URL in generated pom.xml
+
+ developerName
+ developer name in generated pom.xml
+
+ developerEmail
+ developer email in generated pom.xml
+
+ developerOrganization
+ developer organization in generated pom.xml
+
+ developerOrganizationUrl
+ developer organization URL in generated pom.xml
+
+ licenseName
+ The name of the license
+
+ licenseUrl
+ The URL of the license
+
+ sourceFolder
+ source folder for generated code
+
+ localVariablePrefix
+ prefix for generated code members and local variables
+
+ serializableModel
+ boolean - toggle "implements Serializable" for generated models (Default: false)
+
+ bigDecimalAsString
+ Treat BigDecimal values as Strings to avoid precision loss. (Default: false)
+
+ fullJavaUtil
+ whether to use fully qualified name for classes under java.util. This option only works for Java API client (Default: false)
+
+ hideGenerationTimestamp
+ hides the timestamp when files were generated
+
+ withXml
+ whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) (Default: false)
+
+ dateLibrary
+ Option. Date library to use
+ joda - Joda (for legacy app only)
+ legacy - Legacy java.util.Date (if you really have a good reason not to use threetenbp
+ java8-localdatetime - Java 8 using LocalDateTime (for legacy app only)
+ java8 - Java 8 native JSR310 (preferred for jdk 1.8+) - note: this also sets "java8" to true
+ threetenbp - Backport of JSR310 (preferred for jdk < 1.8)
+
+ java8
+ Option. Use Java8 classes instead of third party equivalents
+ true - Use Java 8 classes such as Base64
+ false - Various third party libraries as needed
+
+ disableHtmlEscaping
+ Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields) (Default: false)
+
+ booleanGetterPrefix
+ Set booleanGetterPrefix (default value 'get')
+
+ parentGroupId
+ parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentArtifactId
+ parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentVersion
+ parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ implFolder
+ folder for generated implementation code
+
+ title
+ a title describing the application
+
+ useBeanValidation
+ Use BeanValidation API annotations (Default: true)
+
+ serverPort
+ The port on which the server should be started
+
+ library
+ library template (sub-template) to use (Default: )
+ - JAXRS
+
+ generatePom
+ Whether to generate pom.xml if the file does not already exist. (Default: true)
+
+ interfaceOnly
+ Whether to generate only API interface stubs without the server files. (Default: false)
+
+ returnResponse
+ Whether generate API interface should return javax.ws.rs.core.Response instead of a deserialized entity. Only useful if interfaceOnly is true. (Default: false)
+
+ useSwaggerAnnotations
+ Whether to generate Swagger annotations. (Default: true)
+
+ useBeanValidation
+ Use BeanValidation API annotations (Default: true)
+
+
diff --git a/.documentation/dist/static/docs/generators/jaxrs-cxf-client.md b/.documentation/dist/static/docs/generators/jaxrs-cxf-client.md
new file mode 100644
index 000000000000..1fb7177a8774
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/jaxrs-cxf-client.md
@@ -0,0 +1,128 @@
+
+CONFIG OPTIONS for jaxrs-cxf-client
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ invokerPackage
+ root package for generated code
+
+ groupId
+ groupId in generated pom.xml
+
+ artifactId
+ artifactId in generated pom.xml
+
+ artifactVersion
+ artifact version in generated pom.xml
+
+ artifactUrl
+ artifact URL in generated pom.xml
+
+ artifactDescription
+ artifact description in generated pom.xml
+
+ scmConnection
+ SCM connection in generated pom.xml
+
+ scmDeveloperConnection
+ SCM developer connection in generated pom.xml
+
+ scmUrl
+ SCM URL in generated pom.xml
+
+ developerName
+ developer name in generated pom.xml
+
+ developerEmail
+ developer email in generated pom.xml
+
+ developerOrganization
+ developer organization in generated pom.xml
+
+ developerOrganizationUrl
+ developer organization URL in generated pom.xml
+
+ licenseName
+ The name of the license
+
+ licenseUrl
+ The URL of the license
+
+ sourceFolder
+ source folder for generated code
+
+ localVariablePrefix
+ prefix for generated code members and local variables
+
+ serializableModel
+ boolean - toggle "implements Serializable" for generated models (Default: false)
+
+ bigDecimalAsString
+ Treat BigDecimal values as Strings to avoid precision loss. (Default: false)
+
+ fullJavaUtil
+ whether to use fully qualified name for classes under java.util. This option only works for Java API client (Default: false)
+
+ hideGenerationTimestamp
+ hides the timestamp when files were generated
+
+ withXml
+ whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) (Default: false)
+
+ dateLibrary
+ Option. Date library to use
+ joda - Joda (for legacy app only)
+ legacy - Legacy java.util.Date (if you really have a good reason not to use threetenbp
+ java8-localdatetime - Java 8 using LocalDateTime (for legacy app only)
+ java8 - Java 8 native JSR310 (preferred for jdk 1.8+) - note: this also sets "java8" to true
+ threetenbp - Backport of JSR310 (preferred for jdk < 1.8)
+
+ java8
+ Option. Use Java8 classes instead of third party equivalents
+ true - Use Java 8 classes such as Base64
+ false - Various third party libraries as needed
+
+ disableHtmlEscaping
+ Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields) (Default: false)
+
+ booleanGetterPrefix
+ Set booleanGetterPrefix (default value 'get')
+
+ parentGroupId
+ parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentArtifactId
+ parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentVersion
+ parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ useBeanValidation
+ Use BeanValidation API annotations (Default: false)
+
+ useGzipFeatureForTests
+ Use Gzip Feature for tests (Default: false)
+
+ useLoggingFeatureForTests
+ Use Logging Feature for tests (Default: false)
+
+ useGenericResponse
+ Use generic response (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/jaxrs-cxf.md b/.documentation/dist/static/docs/generators/jaxrs-cxf.md
new file mode 100644
index 000000000000..22aa624c8595
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/jaxrs-cxf.md
@@ -0,0 +1,179 @@
+
+CONFIG OPTIONS for jaxrs-cxf
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ invokerPackage
+ root package for generated code
+
+ groupId
+ groupId in generated pom.xml
+
+ artifactId
+ artifactId in generated pom.xml
+
+ artifactVersion
+ artifact version in generated pom.xml
+
+ artifactUrl
+ artifact URL in generated pom.xml
+
+ artifactDescription
+ artifact description in generated pom.xml
+
+ scmConnection
+ SCM connection in generated pom.xml
+
+ scmDeveloperConnection
+ SCM developer connection in generated pom.xml
+
+ scmUrl
+ SCM URL in generated pom.xml
+
+ developerName
+ developer name in generated pom.xml
+
+ developerEmail
+ developer email in generated pom.xml
+
+ developerOrganization
+ developer organization in generated pom.xml
+
+ developerOrganizationUrl
+ developer organization URL in generated pom.xml
+
+ licenseName
+ The name of the license
+
+ licenseUrl
+ The URL of the license
+
+ sourceFolder
+ source folder for generated code
+
+ localVariablePrefix
+ prefix for generated code members and local variables
+
+ serializableModel
+ boolean - toggle "implements Serializable" for generated models (Default: false)
+
+ bigDecimalAsString
+ Treat BigDecimal values as Strings to avoid precision loss. (Default: false)
+
+ fullJavaUtil
+ whether to use fully qualified name for classes under java.util. This option only works for Java API client (Default: false)
+
+ hideGenerationTimestamp
+ hides the timestamp when files were generated
+
+ withXml
+ whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) (Default: false)
+
+ dateLibrary
+ Option. Date library to use
+ joda - Joda (for legacy app only)
+ legacy - Legacy java.util.Date (if you really have a good reason not to use threetenbp
+ java8-localdatetime - Java 8 using LocalDateTime (for legacy app only)
+ java8 - Java 8 native JSR310 (preferred for jdk 1.8+) - note: this also sets "java8" to true
+ threetenbp - Backport of JSR310 (preferred for jdk < 1.8)
+
+ java8
+ Option. Use Java8 classes instead of third party equivalents
+ true - Use Java 8 classes such as Base64
+ false - Various third party libraries as needed
+
+ disableHtmlEscaping
+ Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields) (Default: false)
+
+ booleanGetterPrefix
+ Set booleanGetterPrefix (default value 'get')
+
+ parentGroupId
+ parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentArtifactId
+ parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentVersion
+ parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ implFolder
+ folder for generated implementation code
+
+ title
+ a title describing the application
+
+ useBeanValidation
+ Use BeanValidation API annotations (Default: true)
+
+ serverPort
+ The port on which the server should be started
+
+ generateSpringApplication
+ Generate Spring application (Default: false)
+
+ useSpringAnnotationConfig
+ Use Spring Annotation Config (Default: false)
+
+ useSwaggerFeature
+ Use Swagger Feature (Default: false)
+
+ useSwaggerUI
+ Use Swagger UI (Default: false)
+
+ useWadlFeature
+ Use WADL Feature (Default: false)
+
+ useMultipartFeature
+ Use Multipart Feature (Default: false)
+
+ useGzipFeature
+ Use Gzip Feature (Default: false)
+
+ useGzipFeatureForTests
+ Use Gzip Feature for tests (Default: false)
+
+ useBeanValidationFeature
+ Use BeanValidation Feature (Default: false)
+
+ useLoggingFeature
+ Use Logging Feature (Default: false)
+
+ useLoggingFeatureForTests
+ Use Logging Feature for tests (Default: false)
+
+ generateSpringBootApplication
+ Generate Spring Boot application (Default: false)
+
+ generateJbossDeploymentDescriptor
+ Generate Jboss Deployment Descriptor (Default: false)
+
+ addConsumesProducesJson
+ Add @Consumes/@Produces Json to API interface (Default: false)
+
+ useAnnotatedBasePath
+ Use @Path annotations for basePath (Default: false)
+
+ generateNonSpringApplication
+ Generate non-Spring application (Default: false)
+
+ useGenericResponse
+ Use generic response (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/jaxrs-jersey.md b/.documentation/dist/static/docs/generators/jaxrs-jersey.md
new file mode 100644
index 000000000000..cf1180d5ebf8
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/jaxrs-jersey.md
@@ -0,0 +1,139 @@
+
+CONFIG OPTIONS for jaxrs-jersey
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ invokerPackage
+ root package for generated code
+
+ groupId
+ groupId in generated pom.xml
+
+ artifactId
+ artifactId in generated pom.xml
+
+ artifactVersion
+ artifact version in generated pom.xml
+
+ artifactUrl
+ artifact URL in generated pom.xml
+
+ artifactDescription
+ artifact description in generated pom.xml
+
+ scmConnection
+ SCM connection in generated pom.xml
+
+ scmDeveloperConnection
+ SCM developer connection in generated pom.xml
+
+ scmUrl
+ SCM URL in generated pom.xml
+
+ developerName
+ developer name in generated pom.xml
+
+ developerEmail
+ developer email in generated pom.xml
+
+ developerOrganization
+ developer organization in generated pom.xml
+
+ developerOrganizationUrl
+ developer organization URL in generated pom.xml
+
+ licenseName
+ The name of the license
+
+ licenseUrl
+ The URL of the license
+
+ sourceFolder
+ source folder for generated code
+
+ localVariablePrefix
+ prefix for generated code members and local variables
+
+ serializableModel
+ boolean - toggle "implements Serializable" for generated models (Default: false)
+
+ bigDecimalAsString
+ Treat BigDecimal values as Strings to avoid precision loss. (Default: false)
+
+ fullJavaUtil
+ whether to use fully qualified name for classes under java.util. This option only works for Java API client (Default: false)
+
+ hideGenerationTimestamp
+ hides the timestamp when files were generated
+
+ withXml
+ whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) (Default: false)
+
+ dateLibrary
+ Option. Date library to use
+ joda - Joda (for legacy app only)
+ legacy - Legacy java.util.Date (if you really have a good reason not to use threetenbp
+ java8-localdatetime - Java 8 using LocalDateTime (for legacy app only)
+ java8 - Java 8 native JSR310 (preferred for jdk 1.8+) - note: this also sets "java8" to true
+ threetenbp - Backport of JSR310 (preferred for jdk < 1.8)
+
+ java8
+ Option. Use Java8 classes instead of third party equivalents
+ true - Use Java 8 classes such as Base64
+ false - Various third party libraries as needed
+
+ disableHtmlEscaping
+ Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields) (Default: false)
+
+ booleanGetterPrefix
+ Set booleanGetterPrefix (default value 'get')
+
+ parentGroupId
+ parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentArtifactId
+ parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentVersion
+ parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ implFolder
+ folder for generated implementation code
+
+ title
+ a title describing the application
+
+ useBeanValidation
+ Use BeanValidation API annotations (Default: true)
+
+ serverPort
+ The port on which the server should be started
+
+ library
+ library template (sub-template) to use (Default: jersey2)
+ jersey1 - Jersey core 1.x
+ jersey2 - Jersey core 2.x
+
+ supportJava6
+ Whether to support Java6 with the Jersey1/2 library. (Default: false)
+
+ useTags
+ use tags for creating interface and controller classnames (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/jaxrs-resteasy-eap.md b/.documentation/dist/static/docs/generators/jaxrs-resteasy-eap.md
new file mode 100644
index 000000000000..dc738c472fa3
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/jaxrs-resteasy-eap.md
@@ -0,0 +1,137 @@
+
+CONFIG OPTIONS for jaxrs-resteasy-eap
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ invokerPackage
+ root package for generated code
+
+ groupId
+ groupId in generated pom.xml
+
+ artifactId
+ artifactId in generated pom.xml
+
+ artifactVersion
+ artifact version in generated pom.xml
+
+ artifactUrl
+ artifact URL in generated pom.xml
+
+ artifactDescription
+ artifact description in generated pom.xml
+
+ scmConnection
+ SCM connection in generated pom.xml
+
+ scmDeveloperConnection
+ SCM developer connection in generated pom.xml
+
+ scmUrl
+ SCM URL in generated pom.xml
+
+ developerName
+ developer name in generated pom.xml
+
+ developerEmail
+ developer email in generated pom.xml
+
+ developerOrganization
+ developer organization in generated pom.xml
+
+ developerOrganizationUrl
+ developer organization URL in generated pom.xml
+
+ licenseName
+ The name of the license
+
+ licenseUrl
+ The URL of the license
+
+ sourceFolder
+ source folder for generated code
+
+ localVariablePrefix
+ prefix for generated code members and local variables
+
+ serializableModel
+ boolean - toggle "implements Serializable" for generated models (Default: false)
+
+ bigDecimalAsString
+ Treat BigDecimal values as Strings to avoid precision loss. (Default: false)
+
+ fullJavaUtil
+ whether to use fully qualified name for classes under java.util. This option only works for Java API client (Default: false)
+
+ hideGenerationTimestamp
+ hides the timestamp when files were generated
+
+ withXml
+ whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) (Default: false)
+
+ dateLibrary
+ Option. Date library to use
+ joda - Joda (for legacy app only)
+ legacy - Legacy java.util.Date (if you really have a good reason not to use threetenbp
+ java8-localdatetime - Java 8 using LocalDateTime (for legacy app only)
+ java8 - Java 8 native JSR310 (preferred for jdk 1.8+) - note: this also sets "java8" to true
+ threetenbp - Backport of JSR310 (preferred for jdk < 1.8)
+
+ java8
+ Option. Use Java8 classes instead of third party equivalents
+ true - Use Java 8 classes such as Base64
+ false - Various third party libraries as needed
+
+ disableHtmlEscaping
+ Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields) (Default: false)
+
+ booleanGetterPrefix
+ Set booleanGetterPrefix (default value 'get')
+
+ parentGroupId
+ parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentArtifactId
+ parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentVersion
+ parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ implFolder
+ folder for generated implementation code
+
+ title
+ a title describing the application
+
+ useBeanValidation
+ Use BeanValidation API annotations (Default: true)
+
+ serverPort
+ The port on which the server should be started
+
+ useBeanValidation
+ Use BeanValidation API annotations (Default: true)
+
+ generateJbossDeploymentDescriptor
+ Generate Jboss Deployment Descriptor (Default: true)
+
+ useSwaggerFeature
+ Use dynamic Swagger generator (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/jaxrs-resteasy.md b/.documentation/dist/static/docs/generators/jaxrs-resteasy.md
new file mode 100644
index 000000000000..81adffc63a65
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/jaxrs-resteasy.md
@@ -0,0 +1,131 @@
+
+CONFIG OPTIONS for jaxrs-resteasy
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ invokerPackage
+ root package for generated code
+
+ groupId
+ groupId in generated pom.xml
+
+ artifactId
+ artifactId in generated pom.xml
+
+ artifactVersion
+ artifact version in generated pom.xml
+
+ artifactUrl
+ artifact URL in generated pom.xml
+
+ artifactDescription
+ artifact description in generated pom.xml
+
+ scmConnection
+ SCM connection in generated pom.xml
+
+ scmDeveloperConnection
+ SCM developer connection in generated pom.xml
+
+ scmUrl
+ SCM URL in generated pom.xml
+
+ developerName
+ developer name in generated pom.xml
+
+ developerEmail
+ developer email in generated pom.xml
+
+ developerOrganization
+ developer organization in generated pom.xml
+
+ developerOrganizationUrl
+ developer organization URL in generated pom.xml
+
+ licenseName
+ The name of the license
+
+ licenseUrl
+ The URL of the license
+
+ sourceFolder
+ source folder for generated code
+
+ localVariablePrefix
+ prefix for generated code members and local variables
+
+ serializableModel
+ boolean - toggle "implements Serializable" for generated models (Default: false)
+
+ bigDecimalAsString
+ Treat BigDecimal values as Strings to avoid precision loss. (Default: false)
+
+ fullJavaUtil
+ whether to use fully qualified name for classes under java.util. This option only works for Java API client (Default: false)
+
+ hideGenerationTimestamp
+ hides the timestamp when files were generated
+
+ withXml
+ whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) (Default: false)
+
+ dateLibrary
+ Option. Date library to use
+ joda - Joda (for legacy app only)
+ legacy - Legacy java.util.Date (if you really have a good reason not to use threetenbp
+ java8-localdatetime - Java 8 using LocalDateTime (for legacy app only)
+ java8 - Java 8 native JSR310 (preferred for jdk 1.8+) - note: this also sets "java8" to true
+ threetenbp - Backport of JSR310 (preferred for jdk < 1.8)
+
+ java8
+ Option. Use Java8 classes instead of third party equivalents
+ true - Use Java 8 classes such as Base64
+ false - Various third party libraries as needed
+
+ disableHtmlEscaping
+ Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields) (Default: false)
+
+ booleanGetterPrefix
+ Set booleanGetterPrefix (default value 'get')
+
+ parentGroupId
+ parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentArtifactId
+ parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentVersion
+ parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ implFolder
+ folder for generated implementation code
+
+ title
+ a title describing the application
+
+ useBeanValidation
+ Use BeanValidation API annotations (Default: true)
+
+ serverPort
+ The port on which the server should be started
+
+ generateJbossDeploymentDescriptor
+ Generate Jboss Deployment Descriptor (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/jaxrs-spec.md b/.documentation/dist/static/docs/generators/jaxrs-spec.md
new file mode 100644
index 000000000000..34bff39e1ded
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/jaxrs-spec.md
@@ -0,0 +1,144 @@
+
+CONFIG OPTIONS for jaxrs-spec
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ invokerPackage
+ root package for generated code
+
+ groupId
+ groupId in generated pom.xml
+
+ artifactId
+ artifactId in generated pom.xml
+
+ artifactVersion
+ artifact version in generated pom.xml
+
+ artifactUrl
+ artifact URL in generated pom.xml
+
+ artifactDescription
+ artifact description in generated pom.xml
+
+ scmConnection
+ SCM connection in generated pom.xml
+
+ scmDeveloperConnection
+ SCM developer connection in generated pom.xml
+
+ scmUrl
+ SCM URL in generated pom.xml
+
+ developerName
+ developer name in generated pom.xml
+
+ developerEmail
+ developer email in generated pom.xml
+
+ developerOrganization
+ developer organization in generated pom.xml
+
+ developerOrganizationUrl
+ developer organization URL in generated pom.xml
+
+ licenseName
+ The name of the license
+
+ licenseUrl
+ The URL of the license
+
+ sourceFolder
+ source folder for generated code
+
+ localVariablePrefix
+ prefix for generated code members and local variables
+
+ serializableModel
+ boolean - toggle "implements Serializable" for generated models (Default: false)
+
+ bigDecimalAsString
+ Treat BigDecimal values as Strings to avoid precision loss. (Default: false)
+
+ fullJavaUtil
+ whether to use fully qualified name for classes under java.util. This option only works for Java API client (Default: false)
+
+ hideGenerationTimestamp
+ hides the timestamp when files were generated
+
+ withXml
+ whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) (Default: false)
+
+ dateLibrary
+ Option. Date library to use
+ joda - Joda (for legacy app only)
+ legacy - Legacy java.util.Date (if you really have a good reason not to use threetenbp
+ java8-localdatetime - Java 8 using LocalDateTime (for legacy app only)
+ java8 - Java 8 native JSR310 (preferred for jdk 1.8+) - note: this also sets "java8" to true
+ threetenbp - Backport of JSR310 (preferred for jdk < 1.8)
+
+ java8
+ Option. Use Java8 classes instead of third party equivalents
+ true - Use Java 8 classes such as Base64
+ false - Various third party libraries as needed
+
+ disableHtmlEscaping
+ Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields) (Default: false)
+
+ booleanGetterPrefix
+ Set booleanGetterPrefix (default value 'get')
+
+ parentGroupId
+ parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentArtifactId
+ parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentVersion
+ parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ implFolder
+ folder for generated implementation code
+
+ title
+ a title describing the application
+
+ useBeanValidation
+ Use BeanValidation API annotations (Default: true)
+
+ serverPort
+ The port on which the server should be started
+
+ library
+ library template (sub-template) to use (Default: )
+ - JAXRS
+
+ generatePom
+ Whether to generate pom.xml if the file does not already exist. (Default: true)
+
+ interfaceOnly
+ Whether to generate only API interface stubs without the server files. (Default: false)
+
+ returnResponse
+ Whether generate API interface should return javax.ws.rs.core.Response instead of a deserialized entity. Only useful if interfaceOnly is true. (Default: false)
+
+ useSwaggerAnnotations
+ Whether to generate Swagger annotations. (Default: true)
+
+
diff --git a/.documentation/dist/static/docs/generators/jmeter.md b/.documentation/dist/static/docs/generators/jmeter.md
new file mode 100644
index 000000000000..8318d41b232b
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/jmeter.md
@@ -0,0 +1,16 @@
+
+CONFIG OPTIONS for jmeter
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/kotlin-server.md b/.documentation/dist/static/docs/generators/kotlin-server.md
new file mode 100644
index 000000000000..eae3568ba754
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/kotlin-server.md
@@ -0,0 +1,44 @@
+
+CONFIG OPTIONS for kotlin-server
+
+ sourceFolder
+ source folder for generated code (Default: src/main/kotlin)
+
+ packageName
+ Generated artifact package name. (Default: org.openapitools)
+
+ groupId
+ Generated artifact package's organization (i.e. maven groupId). (Default: org.openapitools)
+
+ artifactId
+ Generated artifact id (name of jar).
+
+ artifactVersion
+ Generated artifact's package version. (Default: 1.0.0)
+
+ enumPropertyNaming
+ Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original' (Default: camelCase)
+
+ parcelizeModels
+ toggle "@Parcelize" for generated models
+
+ library
+ library template (sub-template) to use (Default: ktor)
+ ktor - ktor framework
+
+ featureAutoHead
+ Automatically provide responses to HEAD requests for existing routes that have the GET verb defined. (Default: true)
+
+ featureConditionalHeaders
+ Avoid sending content if client already has same content, by checking ETag or LastModified properties. (Default: false)
+
+ featureHSTS
+ Avoid sending content if client already has same content, by checking ETag or LastModified properties. (Default: true)
+
+ featureCORS
+ Ktor by default provides an interceptor for implementing proper support for Cross-Origin Resource Sharing (CORS). See enable-cors.org. (Default: false)
+
+ featureCompression
+ Adds ability to compress outgoing content using gzip, deflate or custom encoder and thus reduce size of the response. (Default: true)
+
+
diff --git a/.documentation/dist/static/docs/generators/kotlin-spring.md b/.documentation/dist/static/docs/generators/kotlin-spring.md
new file mode 100644
index 000000000000..692fe39db1d1
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/kotlin-spring.md
@@ -0,0 +1,62 @@
+
+CONFIG OPTIONS for kotlin-spring
+
+ sourceFolder
+ source folder for generated code (Default: src/main/kotlin)
+
+ packageName
+ Generated artifact package name. (Default: org.openapitools)
+
+ groupId
+ Generated artifact package's organization (i.e. maven groupId). (Default: org.openapitools)
+
+ artifactId
+ Generated artifact id (name of jar).
+
+ artifactVersion
+ Generated artifact's package version. (Default: 1.0.0)
+
+ enumPropertyNaming
+ Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original' (Default: camelCase)
+
+ parcelizeModels
+ toggle "@Parcelize" for generated models
+
+ title
+ server title name or client service name (Default: OpenAPI Kotlin Spring)
+
+ basePackage
+ base package (invokerPackage) for generated code (Default: org.openapitools)
+
+ serverPort
+ configuration the port in which the sever is to run on (Default: 8080)
+
+ modelPackage
+ model package for generated code (Default: org.openapitools.model)
+
+ apiPackage
+ api package for generated code (Default: org.openapitools.api)
+
+ exceptionHandler
+ generate default global exception handlers (Default: true)
+
+ gradleBuildFile
+ generate a gradle build file using the Kotlin DSL (Default: true)
+
+ swaggerAnnotations
+ generate swagger annotations to go alongside controllers and models (Default: false)
+
+ serviceInterface
+ generate service interfaces to go alongside controllers. In most cases this option would be used to update an existing project, so not to override implementations. Useful to help facilitate the generation gap pattern (Default: false)
+
+ serviceImplementation
+ generate stub service implementations that extends service interfaces. If this is set to true service interfaces will also be generated (Default: false)
+
+ useBeanValidation
+ Use BeanValidation API annotations to validate data types (Default: true)
+
+ library
+ library template (sub-template) to use (Default: spring-boot)
+ spring-boot - Spring-boot Server application.
+
+
diff --git a/.documentation/dist/static/docs/generators/kotlin.md b/.documentation/dist/static/docs/generators/kotlin.md
new file mode 100644
index 000000000000..deaebca3bffd
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/kotlin.md
@@ -0,0 +1,36 @@
+
+CONFIG OPTIONS for kotlin
+
+ sourceFolder
+ source folder for generated code (Default: src/main/kotlin)
+
+ packageName
+ Generated artifact package name. (Default: org.openapitools)
+
+ groupId
+ Generated artifact package's organization (i.e. maven groupId). (Default: org.openapitools)
+
+ artifactId
+ Generated artifact id (name of jar).
+
+ artifactVersion
+ Generated artifact's package version. (Default: 1.0.0)
+
+ enumPropertyNaming
+ Naming convention for enum properties: 'camelCase', 'PascalCase', 'snake_case', 'UPPERCASE', and 'original' (Default: camelCase)
+
+ parcelizeModels
+ toggle "@Parcelize" for generated models
+
+ dateLibrary
+ Option. Date library to use
+ string - String
+ java8 - Java 8 native JSR310
+ threetenbp - Threetenbp
+
+ collectionType
+ Option. Collection type to use
+ array - kotlin.Array
+ list - kotlin.collections.List
+
+
diff --git a/.documentation/dist/static/docs/generators/lua.md b/.documentation/dist/static/docs/generators/lua.md
new file mode 100644
index 000000000000..a88d4de0ffa2
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/lua.md
@@ -0,0 +1,13 @@
+
+CONFIG OPTIONS for lua
+
+ packageName
+ Lua package name (convention: single word). (Default: openapiclient)
+
+ packageVersion
+ Lua package version. (Default: 1.0.0-1)
+
+ hideGenerationTimestamp
+ Hides the generation timestamp when files are generated. (Default: true)
+
+
diff --git a/.documentation/dist/static/docs/generators/mysql-schema.md b/.documentation/dist/static/docs/generators/mysql-schema.md
new file mode 100644
index 000000000000..56077a5f96db
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/mysql-schema.md
@@ -0,0 +1,10 @@
+
+CONFIG OPTIONS for mysql-schema
+
+ defaultDatabaseName
+ Default database name for all MySQL queries (Default: )
+
+ jsonDataTypeEnabled
+ Use special JSON MySQL data type for complex model properties. Requires MySQL version 5.7.8. Generates TEXT data type when disabled (Default: true)
+
+
diff --git a/.documentation/dist/static/docs/generators/nodejs-server.md b/.documentation/dist/static/docs/generators/nodejs-server.md
new file mode 100644
index 000000000000..8315c23a5494
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/nodejs-server.md
@@ -0,0 +1,25 @@
+
+CONFIG OPTIONS for nodejs-server
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ googleCloudFunctions
+ When specified, it will generate the code which runs within Google Cloud Functions instead of standalone Node.JS server. See https://cloud.google.com/functions/docs/quickstart for the details of how to deploy the generated code. (Default: false)
+
+ exportedName
+ When the generated code will be deployed to Google Cloud Functions, this option can be used to update the name of the exported function. By default, it refers to the basePath. This does not affect normal standalone nodejs server code.
+
+ serverPort
+ TCP port to listen on.
+
+
diff --git a/.documentation/dist/static/docs/generators/objc.md b/.documentation/dist/static/docs/generators/objc.md
new file mode 100644
index 000000000000..2749adbad773
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/objc.md
@@ -0,0 +1,28 @@
+
+CONFIG OPTIONS for objc
+
+ coreData
+ Should generate core data models (Default: false)
+
+ classPrefix
+ prefix for generated classes (convention: Abbreviation of pod name e.g. `HN` for `HackerNews`).` (Default: OAI)
+
+ podName
+ cocoapods package name (convention: CameCase). (Default: OpenAPIClient)
+
+ podVersion
+ cocoapods package version. (Default: 1.0.0)
+
+ authorName
+ Name to use in the podspec file. (Default: OpenAPI)
+
+ authorEmail
+ Email to use in the podspec file. (Default: team@openapitools.org)
+
+ gitRepoURL
+ URL for the git repo where this podspec should point to. (Default: https://github.com/openapitools/openapi-generator)
+
+ hideGenerationTimestamp
+ Hides the generation timestamp when files are generated. (Default: true)
+
+
diff --git a/.documentation/dist/static/docs/generators/openapi-yaml.md b/.documentation/dist/static/docs/generators/openapi-yaml.md
new file mode 100644
index 000000000000..f02875eb5f1c
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/openapi-yaml.md
@@ -0,0 +1,19 @@
+
+CONFIG OPTIONS for openapi-yaml
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ outputFile
+ output filename
+
+
diff --git a/.documentation/dist/static/docs/generators/openapi.md b/.documentation/dist/static/docs/generators/openapi.md
new file mode 100644
index 000000000000..3f0df8245b5b
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/openapi.md
@@ -0,0 +1,16 @@
+
+CONFIG OPTIONS for openapi
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/perl.md b/.documentation/dist/static/docs/generators/perl.md
new file mode 100644
index 000000000000..da1366f0cd13
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/perl.md
@@ -0,0 +1,22 @@
+
+CONFIG OPTIONS for perl
+
+ moduleName
+ Perl module name (convention: CamelCase or Long::Module). (Default: OpenAPIClient)
+
+ moduleVersion
+ Perl module version. (Default: 1.0.0)
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ hideGenerationTimestamp
+ Hides the generation timestamp when files are generated. (Default: true)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/php-laravel.md b/.documentation/dist/static/docs/generators/php-laravel.md
new file mode 100644
index 000000000000..498206780628
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/php-laravel.md
@@ -0,0 +1,43 @@
+
+CONFIG OPTIONS for php-laravel
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ variableNamingConvention
+ naming convention of variable name, e.g. camelCase. (Default: snake_case)
+
+ invokerPackage
+ The main namespace to use for all classes. e.g. Yay\Pets
+
+ packageName
+ The main package name for classes. e.g. GeneratedPetstore
+
+ srcBasePath
+ The directory to serve as source root.
+
+ gitUserId
+ Git user ID, e.g. openapitools.
+
+ gitRepoId
+ Git repo ID, e.g. openapi-generator.
+
+ artifactVersion
+ The version to use in the composer package version field. e.g. 1.2.3
+
+
diff --git a/.documentation/dist/static/docs/generators/php-lumen.md b/.documentation/dist/static/docs/generators/php-lumen.md
new file mode 100644
index 000000000000..3267bf958cd6
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/php-lumen.md
@@ -0,0 +1,43 @@
+
+CONFIG OPTIONS for php-lumen
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ variableNamingConvention
+ naming convention of variable name, e.g. camelCase. (Default: snake_case)
+
+ invokerPackage
+ The main namespace to use for all classes. e.g. Yay\Pets
+
+ packageName
+ The main package name for classes. e.g. GeneratedPetstore
+
+ srcBasePath
+ The directory to serve as source root.
+
+ gitUserId
+ Git user ID, e.g. openapitools.
+
+ gitRepoId
+ Git repo ID, e.g. openapi-generator.
+
+ artifactVersion
+ The version to use in the composer package version field. e.g. 1.2.3
+
+
diff --git a/.documentation/dist/static/docs/generators/php-silex.md b/.documentation/dist/static/docs/generators/php-silex.md
new file mode 100644
index 000000000000..47245632acea
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/php-silex.md
@@ -0,0 +1,16 @@
+
+CONFIG OPTIONS for php-silex
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/php-slim.md b/.documentation/dist/static/docs/generators/php-slim.md
new file mode 100644
index 000000000000..d2795052a72a
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/php-slim.md
@@ -0,0 +1,46 @@
+
+CONFIG OPTIONS for php-slim
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ variableNamingConvention
+ naming convention of variable name, e.g. camelCase. (Default: camelCase)
+
+ invokerPackage
+ The main namespace to use for all classes. e.g. Yay\Pets
+
+ packageName
+ The main package name for classes. e.g. GeneratedPetstore
+
+ srcBasePath
+ The directory to serve as source root.
+
+ gitUserId
+ Git user ID, e.g. openapitools.
+
+ gitRepoId
+ Git repo ID, e.g. openapi-generator.
+
+ artifactVersion
+ The version to use in the composer package version field. e.g. 1.2.3
+
+ phpcsStandard
+ PHP CodeSniffer option. Accepts name or path of the coding standard to use. (Default: PSR12)
+
+
diff --git a/.documentation/dist/static/docs/generators/php-symfony.md b/.documentation/dist/static/docs/generators/php-symfony.md
new file mode 100644
index 000000000000..423da9d1aee0
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/php-symfony.md
@@ -0,0 +1,58 @@
+
+CONFIG OPTIONS for php-symfony
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ variableNamingConvention
+ naming convention of variable name, e.g. camelCase. (Default: snake_case)
+
+ invokerPackage
+ The main namespace to use for all classes. e.g. Yay\Pets
+
+ packageName
+ The main package name for classes. e.g. GeneratedPetstore
+
+ srcBasePath
+ The directory to serve as source root.
+
+ gitUserId
+ Git user ID, e.g. openapitools.
+
+ gitRepoId
+ Git repo ID, e.g. openapi-generator.
+
+ artifactVersion
+ The version to use in the composer package version field. e.g. 1.2.3
+
+ composerVendorName
+ The vendor name used in the composer package name. The template uses {{composerVendorName}}/{{composerProjectName}} for the composer package name. e.g. yaypets
+
+ bundleName
+ The name of the Symfony bundle. The template uses {{bundleName}}
+
+ composerProjectName
+ The project name used in the composer package name. The template uses {{composerVendorName}}/{{composerProjectName}} for the composer package name. e.g. petstore-client
+
+ hideGenerationTimestamp
+ Hides the generation timestamp when files are generated. (Default: true)
+
+ phpLegacySupport
+ Should the generated code be compatible with PHP 5.x? (Default: true)
+
+
diff --git a/.documentation/dist/static/docs/generators/php-ze-ph.md b/.documentation/dist/static/docs/generators/php-ze-ph.md
new file mode 100644
index 000000000000..d09a7a245bed
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/php-ze-ph.md
@@ -0,0 +1,43 @@
+
+CONFIG OPTIONS for php-ze-ph
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ variableNamingConvention
+ naming convention of variable name, e.g. camelCase. (Default: snake_case)
+
+ invokerPackage
+ The main namespace to use for all classes. e.g. Yay\Pets
+
+ packageName
+ The main package name for classes. e.g. GeneratedPetstore
+
+ srcBasePath
+ The directory to serve as source root.
+
+ gitUserId
+ Git user ID, e.g. openapitools.
+
+ gitRepoId
+ Git repo ID, e.g. openapi-generator.
+
+ artifactVersion
+ The version to use in the composer package version field. e.g. 1.2.3
+
+
diff --git a/.documentation/dist/static/docs/generators/php.md b/.documentation/dist/static/docs/generators/php.md
new file mode 100644
index 000000000000..e48c86a7dce9
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/php.md
@@ -0,0 +1,52 @@
+
+CONFIG OPTIONS for php
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ variableNamingConvention
+ naming convention of variable name, e.g. camelCase. (Default: snake_case)
+
+ invokerPackage
+ The main namespace to use for all classes. e.g. Yay\Pets
+
+ packageName
+ The main package name for classes. e.g. GeneratedPetstore
+
+ srcBasePath
+ The directory to serve as source root.
+
+ gitUserId
+ Git user ID, e.g. openapitools.
+
+ gitRepoId
+ Git repo ID, e.g. openapi-generator.
+
+ artifactVersion
+ The version to use in the composer package version field. e.g. 1.2.3
+
+ composerVendorName
+ The vendor name used in the composer package name. The template uses {{composerVendorName}}/{{composerProjectName}} for the composer package name. e.g. yaypets. IMPORTANT NOTE (2016/03): composerVendorName will be deprecated and replaced by gitUserId in the next openapi-generator release
+
+ composerProjectName
+ The project name used in the composer package name. The template uses {{composerVendorName}}/{{composerProjectName}} for the composer package name. e.g. petstore-client. IMPORTANT NOTE (2016/03): composerProjectName will be deprecated and replaced by gitRepoId in the next openapi-generator release
+
+ hideGenerationTimestamp
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: true)
+
+
diff --git a/.documentation/dist/static/docs/generators/powershell.md b/.documentation/dist/static/docs/generators/powershell.md
new file mode 100644
index 000000000000..3d2572047d84
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/powershell.md
@@ -0,0 +1,13 @@
+
+CONFIG OPTIONS for powershell
+
+ packageName
+ Client package name (e.g. org.openapitools.client). (Default: Org.OpenAPITools)
+
+ packageGuid
+ GUID for PowerShell module (e.g. a27b908d-2a20-467f-bc32-af6f3a654ac5). A random GUID will be generated by default.
+
+ csharpClientPath
+ Path to the C# API client generated by OpenAPI Generator, e.g. $ScriptDir\..\csharp\OpenAPIClient where $ScriptDir is the current directory. NOTE: you will need to generate the C# API client separately. (Default: $ScriptDir\csharp\OpenAPIClient)
+
+
diff --git a/.documentation/dist/static/docs/generators/python-flask.md b/.documentation/dist/static/docs/generators/python-flask.md
new file mode 100644
index 000000000000..29bdee382a4e
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/python-flask.md
@@ -0,0 +1,34 @@
+
+CONFIG OPTIONS for python-flask
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ packageName
+ python package name (convention: snake_case). (Default: openapi_server)
+
+ packageVersion
+ python package version. (Default: 1.0.0)
+
+ controllerPackage
+ controller package (Default: controllers)
+
+ defaultController
+ default controller (Default: default_controller)
+
+ supportPython2
+ support python2 (Default: false)
+
+ serverPort
+ TCP port to listen to in app.run (Default: 8080)
+
+
diff --git a/.documentation/dist/static/docs/generators/python.md b/.documentation/dist/static/docs/generators/python.md
new file mode 100644
index 000000000000..10e1da5ab54b
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/python.md
@@ -0,0 +1,28 @@
+
+CONFIG OPTIONS for python
+
+ packageName
+ python package name (convention: snake_case). (Default: openapi_client)
+
+ projectName
+ python project name in setup.py (e.g. petstore-api).
+
+ packageVersion
+ python package version. (Default: 1.0.0)
+
+ packageUrl
+ python package URL.
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ hideGenerationTimestamp
+ Hides the generation timestamp when files are generated. (Default: true)
+
+ generateSourceCodeOnly
+ Specifies that only a library source code is to be generated. (Default: false)
+
+ library
+ library template (sub-template) to use: asyncio, tornado, urllib3 (Default: urllib3)
+
+
diff --git a/.documentation/dist/static/docs/generators/r.md b/.documentation/dist/static/docs/generators/r.md
new file mode 100644
index 000000000000..2aa537e50063
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/r.md
@@ -0,0 +1,13 @@
+
+CONFIG OPTIONS for r
+
+ packageName
+ R package name (convention: lowercase). (Default: openapi)
+
+ packageVersion
+ R package version. (Default: 1.0.0)
+
+ hideGenerationTimestamp
+ Hides the generation timestamp when files are generated. (Default: true)
+
+
diff --git a/.documentation/dist/static/docs/generators/ruby-on-rails.md b/.documentation/dist/static/docs/generators/ruby-on-rails.md
new file mode 100644
index 000000000000..6c02bf8e63e0
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/ruby-on-rails.md
@@ -0,0 +1,7 @@
+
+CONFIG OPTIONS for ruby-on-rails
+
+ databaseAdapter
+ The adapter for database (e.g. mysql, sqlite). Default: sqlite (Default: sqlite)
+
+
diff --git a/.documentation/dist/static/docs/generators/ruby-sinatra.md b/.documentation/dist/static/docs/generators/ruby-sinatra.md
new file mode 100644
index 000000000000..08c7eb3ac45d
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/ruby-sinatra.md
@@ -0,0 +1,4 @@
+
+CONFIG OPTIONS for ruby-sinatra
+
+
diff --git a/.documentation/dist/static/docs/generators/ruby.md b/.documentation/dist/static/docs/generators/ruby.md
new file mode 100644
index 000000000000..5b256d3fbce3
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/ruby.md
@@ -0,0 +1,49 @@
+
+CONFIG OPTIONS for ruby
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ gemName
+ gem name (convention: underscore_case). (Default: openapi_client)
+
+ moduleName
+ top module name (convention: CamelCase, usually corresponding to gem name). (Default: OpenAPIClient)
+
+ gemVersion
+ gem version. (Default: 1.0.0)
+
+ gemLicense
+ gem license. (Default: proprietary)
+
+ gemRequiredRubyVersion
+ gem required Ruby version. (Default: >= 1.9)
+
+ gemHomepage
+ gem homepage. (Default: http://org.openapitools)
+
+ gemSummary
+ gem summary. (Default: A ruby wrapper for the REST APIs)
+
+ gemDescription
+ gem description. (Default: This gem maps to a REST API)
+
+ gemAuthor
+ gem author (only one is supported).
+
+ gemAuthorEmail
+ gem author email (only one is supported).
+
+ hideGenerationTimestamp
+ Hides the generation timestamp when files are generated. (Default: true)
+
+
diff --git a/.documentation/dist/static/docs/generators/rust-server.md b/.documentation/dist/static/docs/generators/rust-server.md
new file mode 100644
index 000000000000..219f7a24c7e8
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/rust-server.md
@@ -0,0 +1,10 @@
+
+CONFIG OPTIONS for rust-server
+
+ packageName
+ Rust crate name (convention: snake_case). (Default: openapi_client)
+
+ packageVersion
+ Rust crate version.
+
+
diff --git a/.documentation/dist/static/docs/generators/rust.md b/.documentation/dist/static/docs/generators/rust.md
new file mode 100644
index 000000000000..abe2642a04c9
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/rust.md
@@ -0,0 +1,18 @@
+
+CONFIG OPTIONS for rust
+
+ packageName
+ Rust package name (convention: lowercase). (Default: openapi)
+
+ packageVersion
+ Rust package version. (Default: 1.0.0)
+
+ hideGenerationTimestamp
+ Hides the generation timestamp when files are generated. (Default: true)
+
+ library
+ library template (sub-template) to use. (Default: hyper)
+ hyper - HTTP client: Hyper.
+ reqwest - HTTP client: Reqwest.
+
+
diff --git a/.documentation/dist/static/docs/generators/scala-akka.md b/.documentation/dist/static/docs/generators/scala-akka.md
new file mode 100644
index 000000000000..ac6c70bfae96
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/scala-akka.md
@@ -0,0 +1,28 @@
+
+CONFIG OPTIONS for scala-akka
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ sourceFolder
+ source folder for generated code
+
+ mainPackage
+ Top-level package name, which defines 'apiPackage', 'modelPackage', 'invokerPackage' (Default: org.openapitools.client)
+
+
diff --git a/.documentation/dist/static/docs/generators/scala-finch.md b/.documentation/dist/static/docs/generators/scala-finch.md
new file mode 100644
index 000000000000..913becaa3a67
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/scala-finch.md
@@ -0,0 +1,13 @@
+
+CONFIG OPTIONS for scala-finch
+
+ packageName
+ Finch package name (e.g. org.openapitools). (Default: org.openapitools)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+
diff --git a/.documentation/dist/static/docs/generators/scala-gatling.md b/.documentation/dist/static/docs/generators/scala-gatling.md
new file mode 100644
index 000000000000..39aee712760d
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/scala-gatling.md
@@ -0,0 +1,25 @@
+
+CONFIG OPTIONS for scala-gatling
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ sourceFolder
+ source folder for generated code
+
+
diff --git a/.documentation/dist/static/docs/generators/scala-httpclient.md b/.documentation/dist/static/docs/generators/scala-httpclient.md
new file mode 100644
index 000000000000..ed90b3425be7
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/scala-httpclient.md
@@ -0,0 +1,28 @@
+
+CONFIG OPTIONS for scala-httpclient
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ sourceFolder
+ source folder for generated code
+
+ modelPropertyNaming
+ Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name (Default: camelCase)
+
+
diff --git a/.documentation/dist/static/docs/generators/scala-lagom-server.md b/.documentation/dist/static/docs/generators/scala-lagom-server.md
new file mode 100644
index 000000000000..3d5c4f6e70c9
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/scala-lagom-server.md
@@ -0,0 +1,28 @@
+
+CONFIG OPTIONS for scala-lagom-server
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ sourceFolder
+ source folder for generated code
+
+ modelPropertyNaming
+ Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name (Default: camelCase)
+
+
diff --git a/.documentation/dist/static/docs/generators/scalatra.md b/.documentation/dist/static/docs/generators/scalatra.md
new file mode 100644
index 000000000000..ecee22f984d1
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/scalatra.md
@@ -0,0 +1,25 @@
+
+CONFIG OPTIONS for scalatra
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ sourceFolder
+ source folder for generated code
+
+
diff --git a/.documentation/dist/static/docs/generators/scalaz.md b/.documentation/dist/static/docs/generators/scalaz.md
new file mode 100644
index 000000000000..3470455b8aac
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/scalaz.md
@@ -0,0 +1,28 @@
+
+CONFIG OPTIONS for scalaz
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ sourceFolder
+ source folder for generated code
+
+ modelPropertyNaming
+ Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name (Default: camelCase)
+
+
diff --git a/.documentation/dist/static/docs/generators/spring.md b/.documentation/dist/static/docs/generators/spring.md
new file mode 100644
index 000000000000..07889030a706
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/spring.md
@@ -0,0 +1,182 @@
+
+CONFIG OPTIONS for spring
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPackage
+ package for generated models
+
+ apiPackage
+ package for generated api classes
+
+ invokerPackage
+ root package for generated code
+
+ groupId
+ groupId in generated pom.xml
+
+ artifactId
+ artifactId in generated pom.xml
+
+ artifactVersion
+ artifact version in generated pom.xml
+
+ artifactUrl
+ artifact URL in generated pom.xml
+
+ artifactDescription
+ artifact description in generated pom.xml
+
+ scmConnection
+ SCM connection in generated pom.xml
+
+ scmDeveloperConnection
+ SCM developer connection in generated pom.xml
+
+ scmUrl
+ SCM URL in generated pom.xml
+
+ developerName
+ developer name in generated pom.xml
+
+ developerEmail
+ developer email in generated pom.xml
+
+ developerOrganization
+ developer organization in generated pom.xml
+
+ developerOrganizationUrl
+ developer organization URL in generated pom.xml
+
+ licenseName
+ The name of the license
+
+ licenseUrl
+ The URL of the license
+
+ sourceFolder
+ source folder for generated code
+
+ localVariablePrefix
+ prefix for generated code members and local variables
+
+ serializableModel
+ boolean - toggle "implements Serializable" for generated models (Default: false)
+
+ bigDecimalAsString
+ Treat BigDecimal values as Strings to avoid precision loss. (Default: false)
+
+ fullJavaUtil
+ whether to use fully qualified name for classes under java.util. This option only works for Java API client (Default: false)
+
+ hideGenerationTimestamp
+ hides the timestamp when files were generated
+
+ withXml
+ whether to include support for application/xml content type and include XML annotations in the model (works with libraries that provide support for JSON and XML) (Default: false)
+
+ dateLibrary
+ Option. Date library to use
+ joda - Joda (for legacy app only)
+ legacy - Legacy java.util.Date (if you really have a good reason not to use threetenbp
+ java8-localdatetime - Java 8 using LocalDateTime (for legacy app only)
+ java8 - Java 8 native JSR310 (preferred for jdk 1.8+) - note: this also sets "java8" to true
+ threetenbp - Backport of JSR310 (preferred for jdk < 1.8)
+
+ java8
+ Option. Use Java8 classes instead of third party equivalents
+ true - Use Java 8 classes such as Base64
+ false - Various third party libraries as needed
+
+ disableHtmlEscaping
+ Disable HTML escaping of JSON strings when using gson (needed to avoid problems with byte[] fields) (Default: false)
+
+ booleanGetterPrefix
+ Set booleanGetterPrefix (default value 'get')
+
+ parentGroupId
+ parent groupId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentArtifactId
+ parent artifactId in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ parentVersion
+ parent version in generated pom N.B. parentGroupId, parentArtifactId and parentVersion must all be specified for any of them to take effect
+
+ title
+ server title name or client service name
+
+ configPackage
+ configuration package for generated code
+
+ basePackage
+ base package (invokerPackage) for generated code
+
+ interfaceOnly
+ Whether to generate only API interface stubs without the server files. (Default: false)
+
+ delegatePattern
+ Whether to generate the server files using the delegate pattern (Default: false)
+
+ singleContentTypes
+ Whether to select only one produces/consumes content-type by operation. (Default: false)
+
+ java8
+ use java8 default interface (Default: true)
+
+ async
+ use async Callable controllers (Default: false)
+
+ reactive
+ wrap responses in Mono/Flux Reactor types (spring-boot only) (Default: false)
+
+ responseWrapper
+ wrap the responses in given type (Future,Callable,CompletableFuture,ListenableFuture,DeferredResult,HystrixCommand,RxObservable,RxSingle or fully qualified type)
+
+ virtualService
+ Generates the virtual service. For more details refer - https://github.com/elan-venture/virtualan/wiki (Default: false)
+
+ useTags
+ use tags for creating interface and controller classnames (Default: false)
+
+ useBeanValidation
+ Use BeanValidation API annotations (Default: true)
+
+ performBeanValidation
+ Use Bean Validation Impl. to perform BeanValidation (Default: false)
+
+ implicitHeaders
+ Use of @ApiImplicitParams for headers. (Default: false)
+
+ swaggerDocketConfig
+ Generate Spring OpenAPI Docket configuration class. (Default: false)
+
+ apiFirst
+ Generate the API from the OAI spec at server compile time (API first approach) (Default: false)
+
+ useOptional
+ Use Optional container for optional parameters (Default: false)
+
+ hateoas
+ Use Spring HATEOAS library to allow adding HATEOAS links (Default: false)
+
+ returnSuccessCode
+ Generated server returns 2xx code (Default: false)
+
+ library
+ library template (sub-template) to use (Default: spring-boot)
+ spring-boot - Spring-boot Server application using the SpringFox integration.
+ spring-mvc - Spring-MVC Server application using the SpringFox integration.
+ spring-cloud - Spring-Cloud-Feign client with Spring-Boot auto-configured settings.
+
+
diff --git a/.documentation/dist/static/docs/generators/swift2-deprecated.md b/.documentation/dist/static/docs/generators/swift2-deprecated.md
new file mode 100644
index 000000000000..12284c478861
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/swift2-deprecated.md
@@ -0,0 +1,64 @@
+
+CONFIG OPTIONS for swift2-deprecated
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ projectName
+ Project name in Xcode
+
+ responseAs
+ Optionally use libraries to manage response. Currently PromiseKit, RxSwift are available.
+
+ unwrapRequired
+ Treat 'required' properties in response as non-optional (which would crash the app if api returns null as opposed to required option specified in json schema
+
+ podSource
+ Source information used for Podspec
+
+ podVersion
+ Version used for Podspec
+
+ podAuthors
+ Authors used for Podspec
+
+ podSocialMediaURL
+ Social Media URL used for Podspec
+
+ podDocsetURL
+ Docset URL used for Podspec
+
+ podLicense
+ License used for Podspec
+
+ podHomepage
+ Homepage used for Podspec
+
+ podSummary
+ Summary used for Podspec
+
+ podDescription
+ Description used for Podspec
+
+ podScreenshots
+ Screenshots used for Podspec
+
+ podDocumentationURL
+ Documentation URL used for Podspec
+
+ swiftUseApiNamespace
+ Flag to make all the API classes inner-class of {{projectName}}API
+
+ hideGenerationTimestamp
+ Hides the generation timestamp when files are generated. (Default: true)
+
+
diff --git a/.documentation/dist/static/docs/generators/swift3.md b/.documentation/dist/static/docs/generators/swift3.md
new file mode 100644
index 000000000000..e105f570db70
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/swift3.md
@@ -0,0 +1,70 @@
+
+CONFIG OPTIONS for swift3
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ projectName
+ Project name in Xcode
+
+ responseAs
+ Optionally use libraries to manage response. Currently PromiseKit, RxSwift are available.
+
+ unwrapRequired
+ Treat 'required' properties in response as non-optional (which would crash the app if api returns null as opposed to required option specified in json schema
+
+ objcCompatible
+ Add additional properties and methods for Objective-C compatibility (default: false)
+
+ podSource
+ Source information used for Podspec
+
+ podVersion
+ Version used for Podspec
+
+ podAuthors
+ Authors used for Podspec
+
+ podSocialMediaURL
+ Social Media URL used for Podspec
+
+ podDocsetURL
+ Docset URL used for Podspec
+
+ podLicense
+ License used for Podspec
+
+ podHomepage
+ Homepage used for Podspec
+
+ podSummary
+ Summary used for Podspec
+
+ podDescription
+ Description used for Podspec
+
+ podScreenshots
+ Screenshots used for Podspec
+
+ podDocumentationURL
+ Documentation URL used for Podspec
+
+ swiftUseApiNamespace
+ Flag to make all the API classes inner-class of {{projectName}}API
+
+ hideGenerationTimestamp
+ Hides the generation timestamp when files are generated. (Default: true)
+
+ lenientTypeCast
+ Accept and cast values for simple types (string->bool, string->int, int->string) (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/swift4.md b/.documentation/dist/static/docs/generators/swift4.md
new file mode 100644
index 000000000000..21372be3d944
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/swift4.md
@@ -0,0 +1,70 @@
+
+CONFIG OPTIONS for swift4
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ projectName
+ Project name in Xcode
+
+ responseAs
+ Optionally use libraries to manage response. Currently PromiseKit, RxSwift are available.
+
+ unwrapRequired
+ Treat 'required' properties in response as non-optional (which would crash the app if api returns null as opposed to required option specified in json schema
+
+ objcCompatible
+ Add additional properties and methods for Objective-C compatibility (default: false)
+
+ podSource
+ Source information used for Podspec
+
+ podVersion
+ Version used for Podspec
+
+ podAuthors
+ Authors used for Podspec
+
+ podSocialMediaURL
+ Social Media URL used for Podspec
+
+ podDocsetURL
+ Docset URL used for Podspec
+
+ podLicense
+ License used for Podspec
+
+ podHomepage
+ Homepage used for Podspec
+
+ podSummary
+ Summary used for Podspec
+
+ podDescription
+ Description used for Podspec
+
+ podScreenshots
+ Screenshots used for Podspec
+
+ podDocumentationURL
+ Documentation URL used for Podspec
+
+ swiftUseApiNamespace
+ Flag to make all the API classes inner-class of {{projectName}}API
+
+ hideGenerationTimestamp
+ Hides the generation timestamp when files are generated. (Default: true)
+
+ lenientTypeCast
+ Accept and cast values for simple types (string->bool, string->int, int->string) (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/typescript-angular.md b/.documentation/dist/static/docs/generators/typescript-angular.md
new file mode 100644
index 000000000000..35e5386842e8
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/typescript-angular.md
@@ -0,0 +1,61 @@
+
+CONFIG OPTIONS for typescript-angular
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPropertyNaming
+ Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name (Default: camelCase)
+
+ supportsES6
+ Generate code that conforms to ES6. (Default: false)
+
+ npmName
+ The name under which you want to publish generated npm package. Required to generate a full angular package
+
+ npmVersion
+ The version of your npm package. Default is '1.0.0'
+
+ npmRepository
+ Use this property to set an url your private npmRepo in the package.json
+
+ snapshot
+ When setting this property to true the version will be suffixed with -SNAPSHOT.yyyyMMddHHmm (Default: false)
+
+ withInterfaces
+ Setting this property to true will generate interfaces next to the default class implementations. (Default: false)
+
+ taggedUnions
+ Use discriminators to create tagged unions instead of extending interfaces. (Default: false)
+
+ providedInRoot
+ Use this property to provide Injectables in root (it is only valid in angular version greater or equal to 6.0.0). (Default: false)
+
+ ngVersion
+ The version of Angular. Default is '4.3'
+
+ serviceSuffix
+ The suffix of the generated service. Default is 'Service'.
+
+ serviceFileSuffix
+ The suffix of the file of the generated service (service.ts). Default is '.service'.
+
+ modelSuffix
+ The suffix of the generated model. Default is ''.
+
+ modelFileSuffix
+ The suffix of the file of the generated model (model.ts). Default is ''.
+
+ fileNaming
+ Naming convention for the output files: 'camelCase', 'kebab-case'. Default is 'camelCase'.
+
+
diff --git a/.documentation/dist/static/docs/generators/typescript-angularjs.md b/.documentation/dist/static/docs/generators/typescript-angularjs.md
new file mode 100644
index 000000000000..e227803baf4d
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/typescript-angularjs.md
@@ -0,0 +1,22 @@
+
+CONFIG OPTIONS for typescript-angularjs
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPropertyNaming
+ Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name (Default: camelCase)
+
+ supportsES6
+ Generate code that conforms to ES6. (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/typescript-aurelia.md b/.documentation/dist/static/docs/generators/typescript-aurelia.md
new file mode 100644
index 000000000000..7e0eb42e4073
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/typescript-aurelia.md
@@ -0,0 +1,28 @@
+
+CONFIG OPTIONS for typescript-aurelia
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPropertyNaming
+ Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name (Default: camelCase)
+
+ supportsES6
+ Generate code that conforms to ES6. (Default: false)
+
+ npmName
+ The name under which you want to publish generated npm package
+
+ npmVersion
+ The version of your npm package
+
+
diff --git a/.documentation/dist/static/docs/generators/typescript-axios.md b/.documentation/dist/static/docs/generators/typescript-axios.md
new file mode 100644
index 000000000000..a8e49cad6bf8
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/typescript-axios.md
@@ -0,0 +1,37 @@
+
+CONFIG OPTIONS for typescript-axios
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPropertyNaming
+ Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name (Default: camelCase)
+
+ supportsES6
+ Generate code that conforms to ES6. (Default: false)
+
+ npmName
+ The name under which you want to publish generated npm package
+
+ npmVersion
+ The version of your npm package
+
+ npmRepository
+ Use this property to set an url your private npmRepo in the package.json
+
+ snapshot
+ When setting this property to true the version will be suffixed with -SNAPSHOT.yyyyMMddHHmm (Default: false)
+
+ withInterfaces
+ Setting this property to true will generate interfaces next to the default class implementations. (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/typescript-fetch.md b/.documentation/dist/static/docs/generators/typescript-fetch.md
new file mode 100644
index 000000000000..077f3d8bbfdd
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/typescript-fetch.md
@@ -0,0 +1,37 @@
+
+CONFIG OPTIONS for typescript-fetch
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPropertyNaming
+ Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name (Default: camelCase)
+
+ supportsES6
+ Generate code that conforms to ES6. (Default: false)
+
+ npmName
+ The name under which you want to publish generated npm package
+
+ npmVersion
+ The version of your npm package
+
+ npmRepository
+ Use this property to set an url your private npmRepo in the package.json
+
+ snapshot
+ When setting this property to true the version will be suffixed with -SNAPSHOT.yyyyMMddHHmm (Default: false)
+
+ withInterfaces
+ Setting this property to true will generate interfaces next to the default class implementations. (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/typescript-inversify.md b/.documentation/dist/static/docs/generators/typescript-inversify.md
new file mode 100644
index 000000000000..b7db2aea63b0
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/typescript-inversify.md
@@ -0,0 +1,43 @@
+
+CONFIG OPTIONS for typescript-inversify
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPropertyNaming
+ Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name (Default: camelCase)
+
+ supportsES6
+ Generate code that conforms to ES6. (Default: false)
+
+ npmName
+ The name under which you want to publish generated npm package
+
+ npmVersion
+ The version of your npm package
+
+ npmRepository
+ Use this property to set an url your private npmRepo in the package.json
+
+ snapshot
+ When setting this property to true the version will be suffixed with -SNAPSHOT.yyyyMMddHHmm (Default: false)
+
+ withInterfaces
+ Setting this property to true will generate interfaces next to the default class implementations. (Default: false)
+
+ usePromise
+ Setting this property to use promise instead of observable inside every service. (Default: false)
+
+ taggedUnions
+ Use discriminators to create tagged unions instead of extending interfaces. (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/typescript-jquery.md b/.documentation/dist/static/docs/generators/typescript-jquery.md
new file mode 100644
index 000000000000..376f61f053bd
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/typescript-jquery.md
@@ -0,0 +1,37 @@
+
+CONFIG OPTIONS for typescript-jquery
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPropertyNaming
+ Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name (Default: camelCase)
+
+ supportsES6
+ Generate code that conforms to ES6. (Default: false)
+
+ npmName
+ The name under which you want to publish generated npm package
+
+ npmVersion
+ The version of your npm package
+
+ npmRepository
+ Use this property to set an url your private npmRepo in the package.json
+
+ snapshot
+ When setting this property to true the version will be suffixed with -SNAPSHOT.yyyyMMddHHmm (Default: false)
+
+ jqueryAlreadyImported
+ When using this in legacy app using mix of typescript and javascript, this will only declare jquery and not import it (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/generators/typescript-node.md b/.documentation/dist/static/docs/generators/typescript-node.md
new file mode 100644
index 000000000000..cf4821d07612
--- /dev/null
+++ b/.documentation/dist/static/docs/generators/typescript-node.md
@@ -0,0 +1,34 @@
+
+CONFIG OPTIONS for typescript-node
+
+ sortParamsByRequiredFlag
+ Sort method arguments to place required parameters before optional parameters. (Default: true)
+
+ ensureUniqueParams
+ Whether to ensure parameter names are unique in an operation (rename parameters that are not). (Default: true)
+
+ allowUnicodeIdentifiers
+ boolean, toggles whether unicode identifiers are allowed in names or not, default is false (Default: false)
+
+ prependFormOrBodyParameters
+ Add form or body parameters to the beginning of the parameter list. (Default: false)
+
+ modelPropertyNaming
+ Naming convention for the property: 'camelCase', 'PascalCase', 'snake_case' and 'original', which keeps the original name (Default: camelCase)
+
+ supportsES6
+ Generate code that conforms to ES6. (Default: false)
+
+ npmName
+ The name under which you want to publish generated npm package
+
+ npmVersion
+ The version of your npm package
+
+ npmRepository
+ Use this property to set an url your private npmRepo in the package.json
+
+ snapshot
+ When setting this property to true the version will be suffixed with -SNAPSHOT.yyyyMMddHHmm (Default: false)
+
+
diff --git a/.documentation/dist/static/docs/integration.md b/.documentation/dist/static/docs/integration.md
new file mode 100644
index 000000000000..2018538f59b1
--- /dev/null
+++ b/.documentation/dist/static/docs/integration.md
@@ -0,0 +1,42 @@
+## Workflow Integration (Maven, Github, CI/CD)
+
+### Gradle Integration
+
+See the [openapi-generator-gradle-plugin README](../modules/openapi-generator-gradle-plugin/README.adoc) for details related to configuring and using the Gradle Plugin.
+
+Supported tasks include:
+
+* Listing generators
+* Validation of Open API 2.0 and 3.0 Specs
+* Generating "Meta" generators
+* Generating all generators supported by OpenAPI Generator
+
+### Maven Integration
+
+See the [openapi-generator-maven-plugin README](../modules/openapi-generator-maven-plugin/README.md) for details related to configuring and using the Maven Plugin.
+
+### GitHub Integration
+
+To push the auto-generated SDK to GitHub, we provide `git_push.sh` to streamline the process. For example:
+
+ 1) Create a new repository in GitHub (Ref: https://help.github.com/articles/creating-a-new-repository/)
+
+ 2) Generate the SDK
+```sh
+ java -jar openapi-generator-cli.jar generate \
+ -i modules/openapi-generator/src/test/resources/2_0/petstore.json -g perl \
+ --git-user-id "wing328" \
+ --git-repo-id "petstore-perl" \
+ --release-note "Github integration demo" \
+ -o /var/tmp/perl/petstore
+```
+ 3) Push the SDK to GitHub
+```sh
+cd /var/tmp/perl/petstore
+/bin/sh ./git_push.sh
+```
+### CI/CD
+
+Some generators also generate CI/CD configuration files (.travis.yml) so that the output will be ready to be tested by the CI (e.g. Travis)
+
+If you're looking for the configuration files of a particular CI that is not yet supported, please open an [issue](https://github.com/openapitools/openapi-generator/issues/new) to let us know.
diff --git a/.documentation/dist/static/docs/migration-from-swagger-codegen.md b/.documentation/dist/static/docs/migration-from-swagger-codegen.md
new file mode 100644
index 000000000000..5f6589b58d4f
--- /dev/null
+++ b/.documentation/dist/static/docs/migration-from-swagger-codegen.md
@@ -0,0 +1,254 @@
+## Migration guide: from Swagger Codegen to OpenAPI Generator
+
+OpenAPI Generator is a fork of `swagger-codegen` between version `2.3.1` and `2.4.0`.
+This community-driven version called "OpenAPI Generator" provides similar functionalities and can be used as drop-in replacement.
+This guide explains the major differences in order to help you with the migration.
+
+
+**Table of contents**
+
+ - [New docker images](#new-docker-images)
+ - [New maven coordinates](#new-maven-coordinates)
+ - [Changes in Maven Plugin](#changes-in-maven-plugin)
+ - [New generators names](#new-generators-names)
+ - [New parameters name](#new-parameters-name)
+ - [Renamed Mustache Template Variables](#renamed-mustache-template-variables)
+ - [Ignore file](#ignore-file)
+ - [metadata-folder](#metadata-folder)
+ - [New default values for the generated code](#new-default-values-for-the-generated-code)
+ - [New fully qualified name for the classes](#new-fully-qualified-name-for-the-classes)
+ - [Body parameter name](#body-parameter-name)
+ - [Generators not yet fully migrated](#generators-not-yet-fully-migrated)
+
+### New docker images
+
+The docker images are available on DockerHub: https://hub.docker.com/u/openapitools/
+
+**CLI for OpenAPI Generator**
+
+Image to run OpenAPI Generator in the command line (see [OpenAPI Generator CLI Docker Image](../README.md#openapi-generator-cli-docker-image))
+
+Old: `swaggerapi/swagger-codegen-cli`
+
+New: `openapitools/openapi-generator-cli`
+
+**OpenAPI Generator as web service**
+
+Image to run OpenAPI Generator as a web service (see [OpenAPI Generator Online Docker Image](../README.md#openapi-generator-online-docker-image))
+
+Old: `swaggerapi/swagger-generator`
+
+New: `openapitools/openapi-generator-online`
+
+
+### New maven coordinates
+
+You can find our released artefact on maven central:
+
+**Core:**
+
+Old:
+
+```xml
+
+ io.swagger
+ swagger-codegen
+
+```
+
+New:
+
+```xml
+
+ org.openapitools
+ openapi-generator
+
+```
+
+**Cli:**
+
+```xml
+
+ io.swagger
+ swagger-codegen-cli
+
+```
+
+New:
+
+```xml
+
+ org.openapitools
+ openapi-generator-cli
+
+```
+
+**Maven plugin:**
+
+```xml
+
+ io.swagger
+ swagger-codegen-maven-plugin
+
+```
+
+New:
+
+```xml
+
+ org.openapitools
+ openapi-generator-maven-plugin
+
+```
+
+### Changes in Maven Plugin
+
+OpenAPI Generator 3.0.0 has introduced `` and deprecated ``, because this refers to generator names which embed more than just "language".
+
+If both options are present, you'll be presented with an error. If only `` is provided, you'll be presented instructions for updating to the new config.
+
+
+### New generators names
+
+When you run OpenAPI Generator, you need to select a target generator (`-g` option in the cli).
+All languages of `swagger-codegen` have been migrated to `openapi-generator`, but some names were changed, in order to be more consistent.
+
+| name in `swagger-codegen` | name in `openapi-generator` |
+|--|--|
+| `akka-scala` | `scala-akka` |
+| `scala` | `scala-httpclient` |
+| `jaxrs` | `jaxrs-jersey` |
+| `qt5cpp` | `cpp-qt5` |
+| `cpprest` | `cpp-restsdk` |
+| `tizen` | `cpp-tizen` |
+| `sinatra` | `ruby-sinatra` |
+| `swift` | `swift2-deprecated` |
+| `lumen` | `php-lumen` |
+| `slim` | `php-slim` |
+| `ze-ph` | `php-ze-ph` |
+| `nancyfx` | `csharp-nancyfx` |
+
+We provide a temporary mapping in code for these old values. You'll receive a warning with instructions to migrate to the new names.
+
+### New parameters name
+
+Some parameters were renamed.
+Often you need to replace "Swagger", with "OpenAPI".
+Some examples:
+
+| name in `swagger-codegen` | name in `openapi-generator` |
+|--|--|
+| `debugSwagger` | `debugOpenAPI` |
+| `GenerateSwaggerMetadata` | `GenerateOpenAPIMetadata` |
+| `swagger.codegen.undertow.apipackage` | `openapi.codegen.undertow.apipackage` |
+| `swagger.codegen.undertow.modelpackage` | `openapi.codegen.undertow.modelpackage` |
+
+
+### Renamed Mustache Template Variables
+
+The template variable `{{datatype}}` was renamed to `{{dataType}}` for consistency reason.
+Corresponding java code: `CodegenProperty.datatype` is renamed to `CodegenProperty.dataType`.
+
+(If you're **not** using customized templates with the `-t` option, you can ignore the mustache variable renaming above.)
+
+### Ignore file
+
+`.swagger-codegen-ignore` is replaced by `.openapi-generator-ignore`.
+The syntax inside the file stays the same.
+
+You don't need to rename the file manually, OpenAPI Generator will do it when your run it against an existing an existing output directory.
+(When there is no `.openapi-generator-ignore` in a folder, if a `.swagger-codegen-ignore` file is present it will be considered and renamed to `.openapi-generator-ignore`).
+
+
+### Metadata folder
+
+The metatata folder (to store the `VERSION` file for example) is now called `.openapi-generator/` instead of `.swagger-codegen/`.
+
+
+
+### New default values for the generated code
+
+If you use a generator without specifying each parameter, you might see some differences in the generated code.
+As example the default package name used in the generated code has changed.
+You need to have a look at the specific value, depending of your target language, but often `Swagger` îs replaced by `OpenAPITools` and `io.swagger` is replaced by `org.openapitools`.
+Concretely if you did not specify anything when you are generating java code, a file `org/openapitools/api/PetApi.java` might be generated instead of `io/swagger/api/PetApi.java`.
+
+If this is a problem for you, you need to explicitly set the the parameter value in order to match with the `swagger-codgen` default value (`apiPackage` == `io.swagger` in the previous example with the java generator).
+
+
+### New fully qualified name for the classes
+
+If you have extended some generators in your project, and you are looking for a specific class, replace the `io.swagger.codegen` package (old name) with `org.openapitools.codegen` package (new name).
+
+Example: `org.openapitools.codegen.DefaultGenerator`
+
+### Body parameter name
+
+In OpenAPI spec v3, there's no body parameter, which is replaced by [Request Body Object](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.1.md#request-body-object). The parameter name for Request Body is named automatically based on the model name (e.g. User). To control how the "Request Body" parmaeter is named, please add the vendor extension `x-codegen-request-body-name` to the operation:
+
+OpenAPI Spec v3:
+```yaml
+paths:
+ /pet:
+ post:
+ tags:
+ - pet
+ summary: Add a new pet to the store
+ description: ''
+ operationId: addPet
+ x-codegen-request-body-name: new_body_name
+ responses:
+ '405':
+ description: Invalid input
+ security:
+ - petstore_auth:
+ - 'write:pets'
+ - 'read:pets'
+ requestBody:
+ $ref: '#/components/requestBodies/Pet'
+```
+
+OpenAPI Spec v2:
+```yaml
+paths:
+ /pet:
+ post:
+ tags:
+ - pet
+ summary: Add a new pet to the store
+ description: ''
+ operationId: addPet
+ x-codegen-request-body-name: new_body_name
+ consumes:
+ - application/json
+ - application/xml
+ produces:
+ - application/xml
+ - application/json
+ parameters:
+ - in: body
+ name: body
+ description: Pet object that needs to be added to the store
+ required: true
+ schema:
+ $ref: '#/definitions/Pet'
+ responses:
+ '405':
+ description: Invalid input
+ security:
+ - petstore_auth:
+ - 'write:pets'
+ - 'read:pets'
+```
+If your API client is using named parameters in the function call (e.g. Perl required & optional parameters, Ruby optional parameters), you will need to add `x-codegen-request-body-name` to the spec to restore the original body parameter name.
+
+# Generators not yet fully migrated
+
+The following gnereators are not yet fully migrated and tested
+
+- ~~rust-server~~ (migrated)
+- ~~`apex`~~ (migrated)
+
+and we welcome contributions from the community to help with the migration.
+
+UPDATE: all generators have been successfully migrated.
diff --git a/.documentation/dist/static/docs/migration-guide.adoc b/.documentation/dist/static/docs/migration-guide.adoc
new file mode 100644
index 000000000000..c7315c1e8d60
--- /dev/null
+++ b/.documentation/dist/static/docs/migration-guide.adoc
@@ -0,0 +1,68 @@
+== Migration guide between OpenAPI-Generator versions
+
+This page summaries the important changes between major and minor version of OpenAPI-Generator.
+It does not contain a detailed list of changes, for that refer to each individual release notes.
+
+This page is written to help migration by indicating the most impacting changes.
+Do not hesitate to contribute additional notes if you discover something during your migration and think that the information might help other users.
+
+Another approach to find breaking changes is to look at issue and pull requests with following labels:
+
+* link:https://github.com/OpenAPITools/openapi-generator/labels/Breaking%20change%20%28with%20fallback%29[Breaking change (with fallback)]
+* link:https://github.com/OpenAPITools/openapi-generator/labels/Breaking%20change%20%28without%20fallback%29[Breaking change (without fallback)]
+
+=== From 3.1.x to 3.2.0
+
+Version `3.2.0` is a minor version of OpenAPI-Generator, in comparison to `3.1.x` it contains some breaking changes, but with the possibility to fallback to the old behavior.
+The default value of some options might change.
+Projects relying on generated code might need to be adapted.
+
+==== Validate spec on generation by default
+
+The default is to validate the spec during generation. If the spec has errors,
+they will appear as errors or warnings to the user. This prevent generation of the project.
+
+If you want to switch back to the `3.1.x` behavior you can use:
+
+* Set the `validateSpec` option to `false` if you are using the Maven or Gradle plugin
+* Use the command line option `--skip-validate-spec` if you are using the CLI
+
+
+==== Model (all languages)
+
+In `CodegenModel` and in `CodegenOperation` we use now our own class `org.openapitools.codegen.CodegenDiscriminator` instead of `io.swagger.v3.oas.models.media.Discriminator`.
+
+For the templates, this is not an API change, because the same values are available.
+
+If you have your own `Codegen` class (to support your own generator for example) then you might get some compile error due to the change.
+
+==== Java
+
+Schema with enum values are mapped to java enum in the generated code.
+In previous version, when an unknown value was deserialized, the value was set to `null`.
+
+With `3.2.0` a new option is introduced: `useNullForUnknownEnumValue`.
+
+* When set to `false` (default value), an Exception (`IllegalArgumentException`) is thrown when the value not available in the enum.
+* When set to `true`, unknown values are mapped to `null` as it was the case in previous versions.
+
+
+=== From 3.0.x to 3.1.0
+
+Version `3.1.0` is the first minor version of OpenAPI-Generator, in comparison to `3.0.3` it contains some breaking changes, but with the possibility to fallback to the old behavior.
+The default value of some options might change.
+Projects relying on generated code might need to be adapted.
+
+==== Java
+
+A new option is introduced with link:https://github.com/OpenAPITools/openapi-generator/pull/432[#432] to specify the prefix of boolean getters: `booleanGetterPrefix`.
+Possible values:
+
+* `is`: the value used in `3.0.x`.
+* `get`: the new default value.
+
+If you use the default value you will see your generated code changing from `isActive()` to `getActive()`.
+
+=== Migrating from Swagger-Codegen
+
+Please read the specific migration guide: link:migration-from-swagger-codegen.md[From Swagger-Codegen to OpenAPI-Generator]
diff --git a/.documentation/dist/static/docs/online-openapi-generator.md b/.documentation/dist/static/docs/online-openapi-generator.md
new file mode 100644
index 000000000000..f41b6419a1a2
--- /dev/null
+++ b/.documentation/dist/static/docs/online-openapi-generator.md
@@ -0,0 +1,88 @@
+## Online OpenAPI generator
+
+One can also generate API clients or server stubs using the online openapi-generator.
+
+Here are the public online services:
+
+- latest stable version: http://api.openapi-generator.tech
+- latest master: http://api-latest-master.openapi-generator.tech (updated with latest master every hour)
+
+The server is sponsored by [Linode](https://www.linode.com/) [](https://www.linode.com/)
+
+(These services are beta and do not have any guarantee on service level)
+
+If you prefer to run the service locally, here are the steps:
+```
+mvn clean install
+cd modules/openapi-generator-online
+mvn spring-boot:run
+```
+
+:bulb: The online openapi-generator can be run via [Docker](https://github.com/OpenAPITools/openapi-generator#16---docker) as well.
+
+For example, to generate Ruby API client, simply send the following HTTP request using curl:
+```sh
+curl -X POST -H "content-type:application/json" -d '{"openAPIUrl":"https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml"}' http://localhost:8080/api/gen/clients/ruby
+```
+Then you will receieve a JSON response with the URL to download the zipped code.
+
+To customize the SDK, you can `POST` to `http://localhost:8080/gen/clients/{language}` with the following HTTP body:
+```json
+{
+ "options": {},
+ "openAPIUrl": "https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml"
+}
+```
+in which the `options` for a language can be obtained by submitting a `GET` request to `http://locahost:8080/api/gen/clients/{language}`:
+
+For example, `curl http://localhost:8080/api/gen/clients/python` returns
+```json
+ "packageName":{
+ "opt":"packageName",
+ "description":"python package name (convention: snake_case).",
+ "type":"string",
+ "default":"openapi_client"
+ },
+ "packageVersion":{
+ "opt":"packageVersion",
+ "description":"python package version.",
+ "type":"string",
+ "default":"1.0.0"
+ },
+ "sortParamsByRequiredFlag":{
+ "opt":"sortParamsByRequiredFlag",
+ "description":"Sort method arguments to place required parameters before optional parameters.",
+ "type":"boolean",
+ "default":"true"
+ }
+
+{}
+```
+To set package name to `pet_store`, the HTTP body of the request is as follows:
+```json
+{
+ "options": {
+ "packageName": "pet_store"
+ },
+ "openAPIUrl": "https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml"
+}
+```
+and here is the curl command:
+```sh
+curl -H "Content-type: application/json" -X POST -d '{"options": {"packageName": "pet_store"},"openAPIUrl": "https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml"}' http://localhost:8080/api/gen/clients/python
+```
+
+Instead of using `openAPIUrl` with an URL to the OpenAPI spec, one can include the spec in the JSON payload with `spec`, e.g.
+```json
+{
+ "options": {},
+ "spec": {
+ "swagger": "2.0",
+ "info": {
+ "version": "1.0.0",
+ "title": "Test API"
+ },
+ ...
+ }
+}
+```
diff --git a/.documentation/dist/static/docs/qna.md b/.documentation/dist/static/docs/qna.md
new file mode 100644
index 000000000000..6ae4674407f2
--- /dev/null
+++ b/.documentation/dist/static/docs/qna.md
@@ -0,0 +1,41 @@
+## Question and Answer
+
+#### What is the governance structure of the OpenAPI Generator project?
+
+OpenAPI generator (openapi-generator) is managed by the members of the [core team](../README.md#openapi-generator-core-team).
+
+
+#### What is the difference between Swagger Codegen and OpenAPI Generator?
+
+Swagger Codegen is driven by SmartBear while OpenAPI Generator is driven by the community. More than 40 top contributors and template creators of Swagger Codegen have joined OpenAPI Generator as the founding team members.
+
+Swagger is a trademark owned by SmartBear and the use of the term "Swagger" in this project is for demo (reference) purposes only.
+
+
+#### Why was it decided to fork Swagger Codegen and to maintain a community-driven version?
+
+There are several reasons:
+
+1. The founding members came to the conclusion that Swagger Codegen 3.0.0 beta contains too many breaking changes. They also strongly believe the 3.0.0 release should only focus on one thing: OpenAPI 3.0 support.
+1. The founding members had concerns about the development practices, which seemed to be contributing to an unstable and insufficiently tested codebase.
+1. There was a disagreement on the evolutionary strategy for Swagger Codegen. The founding members felt it was important to move forward with OpenAPI 3.0 support, while maintaining backward compatibility with OpenAPI 2.0 in the same codebase.
+1. The founding members found that the enhancements and bug fixes submitted for Swagger Codegen 2.x need to be submitted again for Swagger Codegen 3.0.0 branch (otherwise, these changes would not appear in the 3.0.0 branch. Having to do the pull request twice is not the best use of community resources).
+1. The community-driven version has a more rapid [release cycle](https://github.com/OpenAPITools/openapi-generator/releases/) (weekly patch release, monthly minor release) so users do not need to wait for several months to get a stable release.
+1. Having a community-driven version _can_ bring the project to the next level with reliable releases and a clear [roadmap](https://github.com/OpenAPITools/openapi-generator/blob/master/docs/roadmap.md).
+
+#### Was anything done to attempt to address the issues before deciding to fork Swagger Codegen and maintain a community-driven version?
+
+There were several conversations with the project owners of Swagger Codegen via emails, Gitter, Skype call and GitHub issues to discuss the state of Swagger Codegen 3.0.0.
+But there was no consensus on the next steps and on the direction for Swagger Codegen 3.0.0.
+
+#### Are there any changes to the project license?
+
+No, OpenAPI Generator is still using the [Apache license (version 2)](https://www.apache.org/licenses/LICENSE-2.0).
+
+#### I am currently using Swagger Codegen 2.x. How can I upgrade the generator to OpenAPI Generator?
+
+OpenAPI Generator is based on Swagger Codegen `2.4.0-SNAPSHOT` version so the migration should be relatively straightforward. Refer to the [migration guide](migration-from-swagger-codegen.md) for more information.
+
+#### Who maintains this Q&A page?
+
+This Q&A page is maintained by the [core team members](../README.md#openapi-generator-core-team). It is not maintained by a single person nor do these Q&As represent the views of any individual or person.
diff --git a/.documentation/dist/static/docs/roadmap.adoc b/.documentation/dist/static/docs/roadmap.adoc
new file mode 100644
index 000000000000..e6d1a0af6ace
--- /dev/null
+++ b/.documentation/dist/static/docs/roadmap.adoc
@@ -0,0 +1,79 @@
+== Roadmap
+
+This document lists short-term, medium-term, and long-term goals for the project.
+
+[NOTE]
+====
+These are goals, not necessarily commitments. The sections are not intended to represent exclusive focus during these terms. For example, when you start at a college or university you may have a long-term goal to graduate and a short-term goal to find a job for supplemental income. We will similarly work toward many of our medium-term and long-term goals in the near future as we move toward meeting our short-term goals.
+====
+
+=== Short-term
+
+> Usability, stability, and marketing.
+
+Short term are focused on improving contributor and user productivity (part of this is getting the word out).
+
+* CLI improvements
+** Search functionality (e.g. what generators support retrofit, what generators are available for kotlin)
+* Build automation improvements
+** Discuss consolidating current third-party build systems
+** Investigate custom docker containerization for prepared build environments
+** Automated release stability
+* General
+** OAS3.0 features support: anyOf, oneOf, callbacks, etc
+** Consider opt-in telemetry about generators being used, limited to a counter of invocations by generator name). This would allow us to make prioritization decisions based on statistics.
+** Code clean up
+*** centralize build scripts
+*** organize samples/bin scripts according to new generator names
+*** consolidate typescript generators
+*** jaxrs => use Swagger core v3 (see https://github.com/OpenAPITools/openapi-generator/issues/27[#27])
+* Documentation
+** Static pages, preferably on gh-pages, devoted to each generator
+** Explain generator options
+** Centralized docs on generated code usage/examples/configuration
+
+=== Medium-term
+
+> Feature set, well-defined API (code and templates), and extensibility improvements.
+
+* API
+** Typed representation of the model bound to our templates. As it is, everything is treated an an Object, and this can lead to changes in the interface which might be unexpected from the template perspective.
+* Feature set (potential generators to add; not an exhaustive list)
+** Azure functions (node.js, server)
+** Finagle HTTP Client (Scala, client)
+** Finagle Http Server (Scala, server)
+** Finatra (Scala, server)
+** Kotlin Spring MVC/Springboot (server)
+** C++ Server, any framework (server)
+* General
+** Migrate from Maven to Gradle
+** Java 9+ support
+* Feature set (other options to investigate)
+** SPI plugins
+*** Templating engine
+*** Language extensions
+*** Custom extensions (e.g. allowing users to load support for https://github.com/Azure/azure-rest-api-specs[azure-rest-api-specs])
+** Customizable templating engines (handlebars support)
+** Unit-testing templates (to previously mentioned explicit type as an interface to the template)
+* Reduce coupling
+** Make types extending `CodegenConfig` become the generation entrypoint
+** Allow current `CodegenConfig` types to define templating engine
+** Allow current `CodegenConfig` types to modify workflow (currently encapsulated in `DefaultGenerator` and tightly coupled to the template engine
+** Clearer reuse of "language" features, outside of "generator" types. That is, rather than enforcing polymorphic sharing of "language" which currently allows the super type to redefine framework-specific mapping functionality, generators could compose one or more language support types.
+* Define template deprecation/removal process
+
+=== Long-term
+
+> Expanding tooling offered, integrations, potentially SaaS offering to partially fund efforts.
+
+* Generator UI wrappers
+** Move jimschubert/intellij-swagger-codegen plugin under the org, and rename
+** Look into an Eclipse UI wrapper around the generator
+** Look at Visual Studio Code (and/or Atom, sublime text) integration
+* Provide a native GUI for viewing/editing specs. Most tools are currently geared toward developers, but often times it may be non-technical business users who are interested in an API.
+* A paid service (SaaS) for generation may be enticing for some users. Such a service would allow for statistics (mentioned earlier in telemetry)
+* Additional tools
+** node.js build system(s) integration (grunt/gulp/webpack/etc)
+** ruby gem
+** others (which may require previously mentioned SaaS API)
+
diff --git a/.documentation/dist/static/docs/roadmap.md b/.documentation/dist/static/docs/roadmap.md
new file mode 100644
index 000000000000..35516e7731db
--- /dev/null
+++ b/.documentation/dist/static/docs/roadmap.md
@@ -0,0 +1,83 @@
+# Roadmap
+
+This document lists short-term, medium-term, and long-term goals for the project.
+
+---
+
+**NOTE**
+
+These are goals, not necessarily commitments. The sections are not intended to represent exclusive focus during these terms. For example, when you start at a college or university you may have a long-term goal to graduate and a short-term goal to find a job for supplemental income. We will similarly work toward many of our medium-term and long-term goals in the near future as we move toward meeting our short-term goals.
+
+---
+
+## Short-term
+
+> Usability, stability, and marketing.
+
+Short term are focused on improving contributor and user productivity (part of this is getting the word out).
+
+* CLI improvements
+ * Search functionality (e.g. what generators support retrofit, what generators are available for kotlin)
+* Build automation improvements
+* Discuss consolidating current third-party build systems
+* Investigate custom docker containerization for prepared build environments
+* Automated release stability
+* General
+* OAS3.0 features support: anyOf, oneOf, callbacks, etc
+* Consider opt-in telemetry about generators being used, limited to a counter of invocations by generator name). This would allow us to make prioritization decisions based on statistics.
+* Code clean up
+ * centralize build scripts
+ * organize samples/bin scripts according to new generator names
+ * consolidate typescript generators
+ * jaxrs => use Swagger core v3 (see https://github.com/OpenAPITools/openapi-generator/issues/27[#27])
+* Documentation
+* Static pages, preferably on gh-pages, devoted to each generator
+* Explain generator options
+* Centralized docs on generated code usage/examples/configuration
+
+## Medium-term
+
+> Feature set, well-defined API (code and templates), and extensibility improvements.
+
+### API
+* Typed representation of the model bound to our templates. As it is, everything is treated an an Object, and this can lead to changes in the interface which might be unexpected from the template perspective.
+* Feature set (potential generators to add; not an exhaustive list)
+ * Azure functions (node.js, server)
+ * Finagle HTTP Client (Scala, client)
+ * Finagle Http Server (Scala, server)
+ * Finatra (Scala, server)
+ * Kotlin Spring MVC/Springboot (server)
+ * C++ Server, any framework (server)
+
+### General
+* Migrate from Maven to Gradle
+* Java 9+ support
+* Feature set (other options to investigate)
+* SPI plugins
+ * Templating engine
+ * Language extensions
+ * Custom extensions (e.g. allowing users to load support for https://github.com/Azure/azure-rest-api-specs[azure-rest-api-specs])
+* Customizable templating engines (handlebars support)
+* Unit-testing templates (to previously mentioned explicit type as an interface to the template)
+* Reduce coupling
+* Make types extending `CodegenConfig` become the generation entrypoint
+* Allow current `CodegenConfig` types to define templating engine
+* Allow current `CodegenConfig` types to modify workflow (currently encapsulated in `DefaultGenerator` and tightly coupled to the template engine
+* Clearer reuse of "language" features, outside of "generator" types. That is, rather than enforcing polymorphic sharing of "language" which currently allows the super type to redefine framework-specific mapping functionality, generators could compose one or more language support types.
+* Define template deprecation/removal process
+
+## Long-term
+
+> Expanding tooling offered, integrations, potentially SaaS offering to partially fund efforts.
+
+* Generator UI wrappers
+ * Move jimschubert/intellij-swagger-codegen plugin under the org, and rename
+ * Look into an Eclipse UI wrapper around the generator
+ * Look at Visual Studio Code (and/or Atom, sublime text) integration
+* Provide a native GUI for viewing/editing specs. Most tools are currently geared toward developers, but often times it may be non-technical business users who are interested in an API.
+* A paid service (SaaS) for generation may be enticing for some users. Such a service would allow for statistics (mentioned earlier in telemetry)
+* Additional tools
+* node.js build system(s) integration (grunt/gulp/webpack/etc)
+* ruby gem
+* others (which may require previously mentioned SaaS API)
+
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Bold-Cyrillic.7ac36dd.woff2 b/.documentation/dist/static/fonts/IBMPlexSans-Bold-Cyrillic.7ac36dd.woff2
new file mode 100644
index 000000000000..4c79b6aeaab4
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Bold-Cyrillic.7ac36dd.woff2 differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Bold-Cyrillic.d9e4536.woff b/.documentation/dist/static/fonts/IBMPlexSans-Bold-Cyrillic.d9e4536.woff
new file mode 100644
index 000000000000..e158a3162545
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Bold-Cyrillic.d9e4536.woff differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Bold-Latin1.22b3631.woff b/.documentation/dist/static/fonts/IBMPlexSans-Bold-Latin1.22b3631.woff
new file mode 100644
index 000000000000..897673f79180
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Bold-Latin1.22b3631.woff differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Bold-Latin1.2c928b7.woff2 b/.documentation/dist/static/fonts/IBMPlexSans-Bold-Latin1.2c928b7.woff2
new file mode 100644
index 000000000000..3f45fc35fdd2
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Bold-Latin1.2c928b7.woff2 differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Bold-Latin2.00b6015.woff2 b/.documentation/dist/static/fonts/IBMPlexSans-Bold-Latin2.00b6015.woff2
new file mode 100644
index 000000000000..1913994e2b77
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Bold-Latin2.00b6015.woff2 differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Bold-Latin2.9c0bf72.woff b/.documentation/dist/static/fonts/IBMPlexSans-Bold-Latin2.9c0bf72.woff
new file mode 100644
index 000000000000..e579da14d3e2
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Bold-Latin2.9c0bf72.woff differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Light-Cyrillic.046ef5a.woff2 b/.documentation/dist/static/fonts/IBMPlexSans-Light-Cyrillic.046ef5a.woff2
new file mode 100644
index 000000000000..e70dae9eaf52
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Light-Cyrillic.046ef5a.woff2 differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Light-Cyrillic.f21e79f.woff b/.documentation/dist/static/fonts/IBMPlexSans-Light-Cyrillic.f21e79f.woff
new file mode 100644
index 000000000000..6a2ebfe5d640
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Light-Cyrillic.f21e79f.woff differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Light-Latin1.4d0f810.woff2 b/.documentation/dist/static/fonts/IBMPlexSans-Light-Latin1.4d0f810.woff2
new file mode 100644
index 000000000000..e1982c2d25b3
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Light-Latin1.4d0f810.woff2 differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Light-Latin1.5729c23.woff b/.documentation/dist/static/fonts/IBMPlexSans-Light-Latin1.5729c23.woff
new file mode 100644
index 000000000000..d2aa00c71408
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Light-Latin1.5729c23.woff differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Light-Latin2.67c02e7.woff b/.documentation/dist/static/fonts/IBMPlexSans-Light-Latin2.67c02e7.woff
new file mode 100644
index 000000000000..a649b7dcc352
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Light-Latin2.67c02e7.woff differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Light-Latin2.c52f403.woff2 b/.documentation/dist/static/fonts/IBMPlexSans-Light-Latin2.c52f403.woff2
new file mode 100644
index 000000000000..85297c11f1d1
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Light-Latin2.c52f403.woff2 differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Medium-Cyrillic.0dc3471.woff b/.documentation/dist/static/fonts/IBMPlexSans-Medium-Cyrillic.0dc3471.woff
new file mode 100644
index 000000000000..ee1ec7a7882b
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Medium-Cyrillic.0dc3471.woff differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Medium-Cyrillic.bb82848.woff2 b/.documentation/dist/static/fonts/IBMPlexSans-Medium-Cyrillic.bb82848.woff2
new file mode 100644
index 000000000000..79c33d44ef2d
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Medium-Cyrillic.bb82848.woff2 differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Medium-Latin1.63f9b4a.woff2 b/.documentation/dist/static/fonts/IBMPlexSans-Medium-Latin1.63f9b4a.woff2
new file mode 100644
index 000000000000..8af7332aa0e2
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Medium-Latin1.63f9b4a.woff2 differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Medium-Latin1.af761cb.woff b/.documentation/dist/static/fonts/IBMPlexSans-Medium-Latin1.af761cb.woff
new file mode 100644
index 000000000000..37a75a77c6a2
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Medium-Latin1.af761cb.woff differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Medium-Latin2.0f4235c.woff b/.documentation/dist/static/fonts/IBMPlexSans-Medium-Latin2.0f4235c.woff
new file mode 100644
index 000000000000..01f457f4c171
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Medium-Latin2.0f4235c.woff differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Medium-Latin2.9ef274f.woff2 b/.documentation/dist/static/fonts/IBMPlexSans-Medium-Latin2.9ef274f.woff2
new file mode 100644
index 000000000000..89d7ca3ba473
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Medium-Latin2.9ef274f.woff2 differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Regular-Cyrillic.8d219fc.woff b/.documentation/dist/static/fonts/IBMPlexSans-Regular-Cyrillic.8d219fc.woff
new file mode 100644
index 000000000000..f95698ef1f3f
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Regular-Cyrillic.8d219fc.woff differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Regular-Cyrillic.e9e6e22.woff2 b/.documentation/dist/static/fonts/IBMPlexSans-Regular-Cyrillic.e9e6e22.woff2
new file mode 100644
index 000000000000..6dbfc8a070c4
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Regular-Cyrillic.e9e6e22.woff2 differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Regular-Latin1.40944ed.woff2 b/.documentation/dist/static/fonts/IBMPlexSans-Regular-Latin1.40944ed.woff2
new file mode 100644
index 000000000000..19cf966a8452
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Regular-Latin1.40944ed.woff2 differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Regular-Latin1.538621e.woff b/.documentation/dist/static/fonts/IBMPlexSans-Regular-Latin1.538621e.woff
new file mode 100644
index 000000000000..bb97f522a157
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Regular-Latin1.538621e.woff differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Regular-Latin2.99ee4d6.woff2 b/.documentation/dist/static/fonts/IBMPlexSans-Regular-Latin2.99ee4d6.woff2
new file mode 100644
index 000000000000..0acee2cca177
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Regular-Latin2.99ee4d6.woff2 differ
diff --git a/.documentation/dist/static/fonts/IBMPlexSans-Regular-Latin2.b905d6a.woff b/.documentation/dist/static/fonts/IBMPlexSans-Regular-Latin2.b905d6a.woff
new file mode 100644
index 000000000000..488e950a8b7f
Binary files /dev/null and b/.documentation/dist/static/fonts/IBMPlexSans-Regular-Latin2.b905d6a.woff differ
diff --git a/.documentation/dist/static/github/CODE_OF_CONDUCT.md b/.documentation/dist/static/github/CODE_OF_CONDUCT.md
new file mode 100644
index 000000000000..b417192acb3c
--- /dev/null
+++ b/.documentation/dist/static/github/CODE_OF_CONDUCT.md
@@ -0,0 +1,46 @@
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
+
+## Our Standards
+
+Examples of behavior that contributes to creating a positive environment include:
+
+* Using welcoming and inclusive language
+* Being respectful of differing viewpoints and experiences
+* Gracefully accepting constructive criticism
+* Focusing on what is best for the community
+* Showing empathy towards other community members
+
+Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery and unwelcome sexual attention or advances
+* Trolling, insulting/derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or electronic address, without explicit permission
+* Other conduct which could reasonably be considered inappropriate in a professional setting
+
+## Our Responsibilities
+
+Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
+
+Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
+
+## Scope
+
+This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at team@openapitools.org. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
+
+Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
+
+[homepage]: http://contributor-covenant.org
+[version]: http://contributor-covenant.org/version/1/4/
diff --git a/.documentation/dist/static/github/CONTRIBUTING.md b/.documentation/dist/static/github/CONTRIBUTING.md
new file mode 100644
index 000000000000..c73173c36db1
--- /dev/null
+++ b/.documentation/dist/static/github/CONTRIBUTING.md
@@ -0,0 +1,103 @@
+# Guidelines For Contributing
+
+## Before submitting an issue
+
+ - If you're not using the latest master to generate API clients or server stubs, please give it another try by pulling the latest master as the issue may have already been addressed. Ref: [Getting Started](https://github.com/openapitools/openapi-generator#getting-started)
+ - Search the [open issue](https://github.com/openapitools/openapi-generator/issues) and [closed issue](https://github.com/openapitools/openapi-generator/issues?q=is%3Aissue+is%3Aclosed) to ensure no one else has reported something similar before.
+ - File an [issue ticket](https://github.com/openapitools/openapi-generator/issues/new) by providing all the required information.
+ - Test with the latest master by building the JAR locally to see if the issue has already been addressed.
+ - You can also make a suggestion or ask a question by opening an "issue".
+
+## Before submitting a PR
+
+ - Search the [open issue](https://github.com/openapitools/openapi-generator/issues) to ensure no one else has reported something similar and no one is actively working on similar proposed change.
+ - If no one has suggested something similar, open an ["issue"](https://github.com/openapitools/openapi-generator/issues) with your suggestion to gather feedback from the community.
+ - If you're adding a new option to a generator, please consider using the `-t` option with customized templates instead or start a discussion first by opening an issue as we want to avoid adding too many options to the generator.
+ - It's recommended to **create a new git branch** for the change so that the merge commit message looks nicer in the commit history.
+
+## How to contribute
+
+### git
+
+If you're new to git, you may find the following FAQs useful:
+
+https://github.com/openapitools/openapi-generator/wiki/FAQ#git
+
+### Branches
+
+Please file the pull request against the correct branch, e.g. `master` for non-breaking changes. See the [Git Branches](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches) page for more information.
+
+### Code generators
+
+All the code generators can be found in [modules/openapi-generator/src/main/java/org/openapitools/codegen/languages](https://github.com/openapitools/openapi-generator/tree/master/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages)
+
+### Templates
+
+All the templates ([mustache](https://mustache.github.io/)) can be found in [modules/openapi-generator/src/main/resources](https://github.com/openapitools/openapi-generator/tree/master/modules/openapi-generator/src/main/resources).
+
+For a list of variables available in the template, please refer to this [page](https://github.com/openapitools/openapi-generator/wiki/Mustache-Template-Variables)
+
+
+### Style guide
+Code change should conform to the programming style guide of the respective languages:
+- Ada: https://en.wikibooks.org/wiki/Ada_Style_Guide/Source_Code_Presentation
+- Android: https://source.android.com/source/code-style.html
+- Bash: https://github.com/bahamas10/bash-style-guide
+- C#: https://msdn.microsoft.com/en-us/library/vstudio/ff926074.aspx
+- C++: https://google.github.io/styleguide/cppguide.html
+- C++ (Tizen): https://wiki.tizen.org/Native_Platform_Coding_Idiom_and_Style_Guide#C.2B.2B_Coding_Style
+- Clojure: https://github.com/bbatsov/clojure-style-guide
+- Dart: https://www.dartlang.org/guides/language/effective-dart/style
+- Elixir: https://github.com/christopheradams/elixir_style_guide
+- Eiffel: https://www.eiffel.org/doc/eiffel/Coding%20Standards
+- Erlang: https://github.com/inaka/erlang_guidelines
+- Haskell: https://github.com/tibbe/haskell-style-guide/blob/master/haskell-style.md
+- Java: https://google.github.io/styleguide/javaguide.html
+- JavaScript: https://github.com/airbnb/javascript/
+- Kotlin: https://kotlinlang.org/docs/reference/coding-conventions.html
+- Groovy: http://groovy-lang.org/style-guide.html
+- Go: https://github.com/golang/go/wiki/CodeReviewComments
+- ObjC: https://github.com/NYTimes/objective-c-style-guide
+- Perl: http://perldoc.perl.org/perlstyle.html
+- PHP: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md
+- PowerShell: https://msdn.microsoft.com/en-us/library/dd878270(v=vs.85).aspx
+- Python: https://www.python.org/dev/peps/pep-0008/
+- R: https://google.github.io/styleguide/Rguide.xml
+- Ruby: https://github.com/bbatsov/ruby-style-guide
+- Rust: https://github.com/rust-lang-nursery/fmt-rfcs/blob/master/guide/guide.md (the default [rustfmt](https://github.com/rust-lang-nursery/rustfmt) configuration)
+- Scala: http://docs.scala-lang.org/style/
+- Swift: [Apple Developer](https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html)
+- TypeScript: https://github.com/Microsoft/TypeScript/wiki/Coding-guidelines
+
+For other languages, feel free to suggest.
+
+You may find the current code base not 100% conform to the coding style and we welcome contributions to fix those.
+
+For [Vendor Extensions](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#vendorExtensions), please follow the naming convention below:
+- For general vendor extension, use lower case and hyphen. e.g. `x-is-unique`, `x-content-type`
+- For language-specified vendor extension, put it in the form of `x-{lang}-{extension-name}`. e.g. `x-objc-operation-id`, `x-java-feign-retry-limit`
+- For a list of existing vendor extensions in use, please refer to https://github.com/openapitools/openapi-generator/wiki/Vendor-Extensions. If you've added new vendor extensions as part of your PR, please update the wiki page.
+
+### Testing
+
+To add test cases (optional) covering the change in the code generator, please refer to [modules/openapi-generator/src/test/java/org/openapitools/codegen](https://github.com/openapitools/openapi-generator/tree/master/modules/openapi-generator/src/test/java/org/openapitools/codegen)
+
+To test the templates, please perform the following:
+- Update the Petstore sample by running the shell script under `bin` folder. For example, run `./bin/ruby-petstore.sh` to update the Ruby PetStore API client under [`samples/client/petstore/ruby`](https://github.com/openapitools/openapi-generator/tree/master/samples/client/petstore/ruby) For Windows, the batch files can be found under `bin\windows` folder. (If you find that there are new files generated or unexpected changes as a result of the update, that's not unusual as the test cases are added to the OpenAPI spec from time to time. If you've questions or concerns, please open a ticket to start a discussion)
+- Run the tests in the sample folder, e.g. in `samples/client/petstore/ruby`, run `mvn integration-test -rf :RubyPetstoreClientTests`. (some languages may not contain unit testing for Petstore and we're looking for contribution from the community to implement those tests)
+- Finally, git commit the updated samples files: `git commit -a`
+ (`git add -A` if added files with new test cases)
+- For new test cases, please add to the [Fake Petstore spec](https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml)
+
+To start the CI tests, you can run `mvn verify -Psamples` (assuming you've all the required tools installed to run tests for different languages) or you can leverage http://travis-ci.org to run the CI tests by adding your own openapi-generator repository.
+
+### Tips
+- Smaller changes are easier to review
+- [Optional] For bug fixes, provide a OpenAPI Spec to repeat the issue so that the reviewer can use it to confirm the fix
+- Add test case(s) to cover the change
+- Document the fix in the code to make the code more readable
+- Make sure test cases passed after the change (one way is to leverage https://travis-ci.org/ to run the CI tests)
+- File a PR with meaningful title, description and commit messages.
+- Recommended git settings
+ - `git config --global core.autocrlf input` to tell Git convert CRLF to LF on commit but not the other way around
+- To close an issue (e.g. issue 1542) automatically after a PR is merged, use keywords "fix", "close", "resolve" in the PR description, e.g. `fix #1542`. (Ref: [closing issues using keywords](https://help.github.com/articles/closing-issues-using-keywords/))
diff --git a/.documentation/dist/static/img/icons/android-chrome-192x192.png b/.documentation/dist/static/img/icons/android-chrome-192x192.png
new file mode 100644
index 000000000000..291cc1c10d98
Binary files /dev/null and b/.documentation/dist/static/img/icons/android-chrome-192x192.png differ
diff --git a/.documentation/dist/static/img/icons/android-chrome-512x512.png b/.documentation/dist/static/img/icons/android-chrome-512x512.png
new file mode 100644
index 000000000000..ca8281548fbc
Binary files /dev/null and b/.documentation/dist/static/img/icons/android-chrome-512x512.png differ
diff --git a/.documentation/dist/static/img/icons/apple-touch-icon-114x114.png b/.documentation/dist/static/img/icons/apple-touch-icon-114x114.png
new file mode 100644
index 000000000000..7863c5e84d7d
Binary files /dev/null and b/.documentation/dist/static/img/icons/apple-touch-icon-114x114.png differ
diff --git a/.documentation/dist/static/img/icons/apple-touch-icon-120x120.png b/.documentation/dist/static/img/icons/apple-touch-icon-120x120.png
new file mode 100644
index 000000000000..1032714655c5
Binary files /dev/null and b/.documentation/dist/static/img/icons/apple-touch-icon-120x120.png differ
diff --git a/.documentation/dist/static/img/icons/apple-touch-icon-144x144.png b/.documentation/dist/static/img/icons/apple-touch-icon-144x144.png
new file mode 100644
index 000000000000..d349d5ee797e
Binary files /dev/null and b/.documentation/dist/static/img/icons/apple-touch-icon-144x144.png differ
diff --git a/.documentation/dist/static/img/icons/apple-touch-icon-152x152.png b/.documentation/dist/static/img/icons/apple-touch-icon-152x152.png
new file mode 100644
index 000000000000..689932eb68d5
Binary files /dev/null and b/.documentation/dist/static/img/icons/apple-touch-icon-152x152.png differ
diff --git a/.documentation/dist/static/img/icons/apple-touch-icon-180x180.png b/.documentation/dist/static/img/icons/apple-touch-icon-180x180.png
new file mode 100644
index 000000000000..2826cf60d983
Binary files /dev/null and b/.documentation/dist/static/img/icons/apple-touch-icon-180x180.png differ
diff --git a/.documentation/dist/static/img/icons/apple-touch-icon-57x57.png b/.documentation/dist/static/img/icons/apple-touch-icon-57x57.png
new file mode 100644
index 000000000000..06a7e686ee38
Binary files /dev/null and b/.documentation/dist/static/img/icons/apple-touch-icon-57x57.png differ
diff --git a/.documentation/dist/static/img/icons/apple-touch-icon-60x60.png b/.documentation/dist/static/img/icons/apple-touch-icon-60x60.png
new file mode 100644
index 000000000000..84963f3fd6c7
Binary files /dev/null and b/.documentation/dist/static/img/icons/apple-touch-icon-60x60.png differ
diff --git a/.documentation/dist/static/img/icons/apple-touch-icon-72x72.png b/.documentation/dist/static/img/icons/apple-touch-icon-72x72.png
new file mode 100644
index 000000000000..4348359c2b30
Binary files /dev/null and b/.documentation/dist/static/img/icons/apple-touch-icon-72x72.png differ
diff --git a/.documentation/dist/static/img/icons/apple-touch-icon-76x76.png b/.documentation/dist/static/img/icons/apple-touch-icon-76x76.png
new file mode 100644
index 000000000000..50739f9c5567
Binary files /dev/null and b/.documentation/dist/static/img/icons/apple-touch-icon-76x76.png differ
diff --git a/.documentation/dist/static/img/icons/apple-touch-icon.png b/.documentation/dist/static/img/icons/apple-touch-icon.png
new file mode 100644
index 000000000000..2826cf60d983
Binary files /dev/null and b/.documentation/dist/static/img/icons/apple-touch-icon.png differ
diff --git a/.documentation/dist/static/img/icons/browserconfig.xml b/.documentation/dist/static/img/icons/browserconfig.xml
new file mode 100644
index 000000000000..a47e5a5b85c7
--- /dev/null
+++ b/.documentation/dist/static/img/icons/browserconfig.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+ #2d89ef
+
+
+
diff --git a/.documentation/dist/static/img/icons/favicon-16x16.png b/.documentation/dist/static/img/icons/favicon-16x16.png
new file mode 100644
index 000000000000..2c6c429af69e
Binary files /dev/null and b/.documentation/dist/static/img/icons/favicon-16x16.png differ
diff --git a/.documentation/dist/static/img/icons/favicon-32x32.png b/.documentation/dist/static/img/icons/favicon-32x32.png
new file mode 100644
index 000000000000..3dcfcf916f09
Binary files /dev/null and b/.documentation/dist/static/img/icons/favicon-32x32.png differ
diff --git a/.documentation/dist/static/img/icons/favicon.ico b/.documentation/dist/static/img/icons/favicon.ico
new file mode 100644
index 000000000000..7099a489bfd1
Binary files /dev/null and b/.documentation/dist/static/img/icons/favicon.ico differ
diff --git a/.documentation/dist/static/img/icons/mstile-150x150.png b/.documentation/dist/static/img/icons/mstile-150x150.png
new file mode 100644
index 000000000000..a358208e1c3a
Binary files /dev/null and b/.documentation/dist/static/img/icons/mstile-150x150.png differ
diff --git a/.documentation/dist/static/img/icons/safari-pinned-tab.svg b/.documentation/dist/static/img/icons/safari-pinned-tab.svg
new file mode 100644
index 000000000000..111372abd40d
--- /dev/null
+++ b/.documentation/dist/static/img/icons/safari-pinned-tab.svg
@@ -0,0 +1,37 @@
+
+
+
diff --git a/.documentation/dist/static/img/icons/site.webmanifest b/.documentation/dist/static/img/icons/site.webmanifest
new file mode 100644
index 000000000000..869687bf64fe
--- /dev/null
+++ b/.documentation/dist/static/img/icons/site.webmanifest
@@ -0,0 +1,19 @@
+{
+ "name": "Playbook",
+ "short_name": "Playbook",
+ "icons": [
+ {
+ "src": "/android-chrome-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ },
+ {
+ "src": "/android-chrome-512x512.png",
+ "sizes": "512x512",
+ "type": "image/png"
+ }
+ ],
+ "theme_color": "#ffffff",
+ "background_color": "#ffffff",
+ "display": "standalone"
+}
diff --git a/.documentation/dist/static/js/0.24438708202b6a6a6bcb.js b/.documentation/dist/static/js/0.24438708202b6a6a6bcb.js
new file mode 100644
index 000000000000..d62db8f9c762
--- /dev/null
+++ b/.documentation/dist/static/js/0.24438708202b6a6a6bcb.js
@@ -0,0 +1,8 @@
+webpackJsonp([0],Array(130).concat([function(e,t,r){"use strict";function n(e){r(159)}Object.defineProperty(t,"__esModule",{value:!0});var o=r(145),i=r(267),a=r(27),s=n,l=a(o.a,i.a,!1,s,"data-v-ce781e84",null);t.default=l.exports},,function(e,t,r){"use strict";function n(e){return Object.prototype.toString.call(e)}function o(e){return"[object String]"===n(e)}function i(e,t){return k.call(e,t)}function a(e){return Array.prototype.slice.call(arguments,1).forEach(function(t){if(t){if("object"!=typeof t)throw new TypeError(t+"must be object");Object.keys(t).forEach(function(r){e[r]=t[r]})}}),e}function s(e,t,r){return[].concat(e.slice(0,t),r,e.slice(t+1))}function l(e){return!(e>=55296&&e<=57343)&&(!(e>=64976&&e<=65007)&&(65535!=(65535&e)&&65534!=(65535&e)&&(!(e>=0&&e<=8)&&(11!==e&&(!(e>=14&&e<=31)&&(!(e>=127&&e<=159)&&!(e>1114111)))))))}function u(e){if(e>65535){e-=65536;var t=55296+(e>>10),r=56320+(1023&e);return String.fromCharCode(t,r)}return String.fromCharCode(e)}function c(e,t){var r=0;return i(S,t)?S[t]:35===t.charCodeAt(0)&&C.test(t)&&(r="x"===t[1].toLowerCase()?parseInt(t.slice(2),16):parseInt(t.slice(1),10),l(r))?u(r):e}function p(e){return e.indexOf("\\")<0?e:e.replace(w,"$1")}function h(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(A,function(e,t,r){return t||c(e,r)})}function f(e){return D[e]}function d(e){return E.test(e)?e.replace(z,f):e}function m(e){return e.replace(q,"\\$&")}function g(e){switch(e){case 9:case 32:return!0}return!1}function _(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function b(e){return T.test(e)}function v(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function y(e){return e.trim().replace(/\s+/g," ").toUpperCase()}var k=Object.prototype.hasOwnProperty,w=/\\([!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~])/g,x=/&([a-z#][a-z0-9]{1,31});/gi,A=new RegExp(w.source+"|"+x.source,"gi"),C=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i,S=r(147),E=/[&<>"]/,z=/[&<>"]/g,D={"&":"&","<":"<",">":">",'"':"""},q=/[.?*+^$[\]\\(){}|-]/g,T=r(141);t.lib={},t.lib.mdurl=r(148),t.lib.ucmicro=r(175),t.assign=a,t.isString=o,t.has=i,t.unescapeMd=p,t.unescapeAll=h,t.isValidEntityCode=l,t.fromCodePoint=u,t.escapeHtml=d,t.arrayReplaceAt=s,t.isSpace=g,t.isWhiteSpace=_,t.isMdAsciiPunct=v,t.isPunctChar=b,t.escapeRE=m,t.normalizeReference=y},function(e,t){function r(e){return h[e]}function n(e){return(""+e).replace(f,r)}function o(e){i(e,"")}var i,a=Array.prototype.indexOf,s=function(e,t){if(null==e)return-1;if(a&&e.indexOf===a)return e.indexOf(t);for(var r=0,n=e.length;r":">","<":"<",'"':""","'":"'"},f=/[&><"']/g;if("undefined"!=typeof document){var d=document.createElement("span");i="textContent"in d?function(e,t){e.textContent=t}:function(e,t){e.innerText=t}}e.exports={contains:l,deflt:u,escape:n,hyphenate:p,indexOf:s,setTextContent:i,clearNode:o}},function(e,t){function r(e,t,n){var o="KaTeX parse error: "+e;if(void 0!==t&&void 0!==n){o+=" at position "+n+": ";var i=t._input;i=i.slice(0,n)+"̲"+i.slice(n);var a=Math.max(0,n-15),s=n+15;o+=i.slice(a,s)}var l=new Error(o);return l.name="ParseError",l.__proto__=r.prototype,l.position=n,l}r.prototype.__proto__=Error.prototype,e.exports=r},function(e,t,r){var n=r(138),o={xHeight:.431,quad:1,num1:.677,num2:.394,num3:.444,denom1:.686,denom2:.345,sup1:.413,sup2:.363,sup3:.289,sub1:.15,sub2:.247,supDrop:.386,subDrop:.05,axisHeight:.25,defaultRuleThickness:.04,bigOpSpacing1:.111,bigOpSpacing2:.166,bigOpSpacing3:.2,bigOpSpacing4:.6,bigOpSpacing5:.1,ptPerEm:10,emPerEx:.431,doubleRuleSep:.2,delim1:2.39,getDelim2:function(e){if(e.size===n.TEXT.size)return 1.01;if(e.size===n.SCRIPT.size)return.81;if(e.size===n.SCRIPTSCRIPT.size)return.71;throw new Error("Unexpected style size: "+e.size)}},i=r(251),a=function(e,t){var r=i[t][e.charCodeAt(0)];if(r)return{depth:r[0],height:r[1],italic:r[2],skew:r[3],width:r[4]}};e.exports={metrics:o,getCharacterMetrics:a}},function(e,t,r){"use strict";var n=r(132).isSpace,o=r(132).unescapeAll;e.exports=function(e,t,r){var i,a,s=t,l={ok:!1,pos:0,lines:0,str:""};if(60===e.charCodeAt(t)){for(t++;t1)break;if(41===i&&--a<0)break;t++}return s===t?l:(l.str=o(e.slice(s,t)),l.lines=0,l.pos=t,l.ok=!0,l)}},function(e,t,r){"use strict";var n=r(132).unescapeAll;e.exports=function(e,t,r){var o,i,a=0,s=t,l={ok:!1,pos:0,lines:0,str:""};if(t>=r)return l;if(34!==(i=e.charCodeAt(t))&&39!==i&&40!==i)return l;for(t++,40===i&&(i=41);tt&&(t=e.children[o].height),e.children[o].depth>r&&(r=e.children[o].depth),e.children[o].maxFontSize>n&&(n=e.children[o].maxFontSize);e.height=t,e.depth=r,e.maxFontSize=n},m=function(e,t,r){var o=new n.span(e,t);return d(o),r&&(o.style.color=r),o},g=function(e){var t=new n.documentFragment(e);return d(t),t},_=function(e,t){var r=m([],[new n.symbolNode("")]);return r.style.fontSize=t/e.style.sizeMultiplier+"em",m(["fontsize-ensurer","reset-"+e.size,"size5"],[r])},b=function(e,t,r,o){var i,a,s;if("individualShift"===t){var l=e;for(e=[l[0]],i=-l[0].shift-l[0].elem.depth,a=i,s=1;s",">"),r(n,o,h,":",":"),r(n,o,h,"≈","\\approx"),r(n,o,h,"≅","\\cong"),r(n,o,h,"≥","\\ge"),r(n,o,h,"≥","\\geq"),r(n,o,h,"←","\\gets"),r(n,o,h,">","\\gt"),r(n,o,h,"∈","\\in"),r(n,o,h,"∉","\\notin");r(n,o,h,"⊂","\\subset"),r(n,o,h,"⊃","\\supset"),r(n,o,h,"⊆","\\subseteq"),r(n,o,h,"⊇","\\supseteq"),r(n,i,h,"⊈","\\nsubseteq"),r(n,i,h,"⊉","\\nsupseteq"),r(n,o,h,"⊨","\\models"),r(n,o,h,"←","\\leftarrow"),r(n,o,h,"≤","\\le"),r(n,o,h,"≤","\\leq"),r(n,o,h,"<","\\lt"),r(n,o,h,"≠","\\ne"),r(n,o,h,"≠","\\neq"),r(n,o,h,"→","\\rightarrow"),r(n,o,h,"→","\\to"),r(n,i,h,"≱","\\ngeq"),r(n,i,h,"≰","\\nleq"),r(n,o,f,null,"\\!"),r(n,o,f," ","\\ "),r(n,o,f," ","~"),r(n,o,f,null,"\\,"),r(n,o,f,null,"\\:"),r(n,o,f,null,"\\;"),r(n,o,f,null,"\\enspace"),r(n,o,f,null,"\\qquad"),r(n,o,f,null,"\\quad"),r(n,o,f," ","\\space"),r(n,o,"punct",",",","),r(n,o,"punct",";",";"),r(n,o,"punct",":","\\colon"),r(n,i,s,"⊼","\\barwedge"),r(n,i,s,"⊻","\\veebar"),r(n,o,s,"⊙","\\odot"),r(n,o,s,"⊕","\\oplus"),r(n,o,s,"⊗","\\otimes"),r(n,o,d,"∂","\\partial"),r(n,o,s,"⊘","\\oslash"),r(n,i,s,"⊚","\\circledcirc"),r(n,i,s,"⊡","\\boxdot"),r(n,o,s,"△","\\bigtriangleup"),r(n,o,s,"▽","\\bigtriangledown"),r(n,o,s,"†","\\dagger"),r(n,o,s,"⋄","\\diamond"),r(n,o,s,"⋆","\\star"),r(n,o,s,"◃","\\triangleleft"),r(n,o,s,"▹","\\triangleright"),r(n,o,p,"{","\\{"),r(n,o,l,"}","\\}"),r(n,o,p,"{","\\lbrace"),r(n,o,l,"}","\\rbrace"),r(n,o,p,"[","\\lbrack"),r(n,o,l,"]","\\rbrack"),r(n,o,p,"⌊","\\lfloor"),r(n,o,l,"⌋","\\rfloor"),r(n,o,p,"⌈","\\lceil"),r(n,o,l,"⌉","\\rceil"),r(n,o,d,"\\","\\backslash"),r(n,o,d,"∣","|"),r(n,o,d,"∣","\\vert"),r(n,o,d,"∥","\\|"),r(n,o,d,"∥","\\Vert"),r(n,o,h,"↑","\\uparrow"),r(n,o,h,"⇑","\\Uparrow"),r(n,o,h,"↓","\\downarrow"),r(n,o,h,"⇓","\\Downarrow"),r(n,o,h,"↕","\\updownarrow"),r(n,o,h,"⇕","\\Updownarrow"),r(n,n,c,"∐","\\coprod"),r(n,n,c,"⋁","\\bigvee"),r(n,n,c,"⋀","\\bigwedge"),r(n,n,c,"⨄","\\biguplus"),r(n,n,c,"⋂","\\bigcap"),r(n,n,c,"⋃","\\bigcup"),r(n,n,c,"∫","\\int"),r(n,n,c,"∫","\\intop"),r(n,n,c,"∬","\\iint"),r(n,n,c,"∭","\\iiint"),r(n,n,c,"∏","\\prod"),r(n,n,c,"∑","\\sum"),r(n,n,c,"⨂","\\bigotimes"),r(n,n,c,"⨁","\\bigoplus"),r(n,n,c,"⨀","\\bigodot"),r(n,n,c,"∮","\\oint"),r(n,n,c,"⨆","\\bigsqcup"),r(n,n,c,"∫","\\smallint"),r(n,o,"inner","…","\\ldots"),r(n,o,"inner","⋯","\\cdots"),r(n,o,"inner","⋱","\\ddots"),r(n,o,d,"⋮","\\vdots"),r(n,o,a,"´","\\acute"),r(n,o,a,"`","\\grave"),r(n,o,a,"¨","\\ddot"),r(n,o,a,"~","\\tilde"),r(n,o,a,"¯","\\bar"),r(n,o,a,"˘","\\breve"),r(n,o,a,"ˇ","\\check"),r(n,o,a,"^","\\hat"),r(n,o,a,"⃗","\\vec"),r(n,o,a,"˙","\\dot"),r(n,o,u,"ı","\\imath"),r(n,o,u,"ȷ","\\jmath"),r("text",o,f," ","\\ "),r("text",o,f," "," "),r("text",o,f," ","~");var m,g,_='0123456789/@."';for(m=0;m<_.length;m++)g=_.charAt(m),r(n,o,d,g,g);var b="0123456789`!@*()-=+[]'\";:?/.,";for(m=0;m=0&&(r=this.attrs[t][1]),r},n.prototype.attrJoin=function(e,t){var r=this.attrIndex(e);r<0?this.attrPush([e,t]):this.attrs[r][1]=this.attrs[r][1]+" "+t},e.exports=n},function(e,t,r){"use strict";var n=r(53),o=r.n(n),i=r(146),a=r.n(i),s=r(16),l=r(163),u=r.n(l),c=r(263),p=r(57),h=r.n(p);t.a={components:{VueMarkdown:u.a,Breadcrumb:c.a},data:function(){return{markdown:"",lastModified:"",pageConfig:{},tocItems:s.a.getPages(),isActive:!1,container:null,initialScroll:!1,isCommentOpen:!1,comment:"",likes:0,dislikes:0,topics:null}},mounted:function(){var e=this;this.initialize(this.$router.currentRoute.path),setTimeout(function(){e.scrollTo(e.$route.hash)},150),this.container=document.querySelector("main > .container"),this.container&&this.container.addEventListener("scroll",function(e){}),console.log("this.container",this.container),setTimeout(function(){var e=document.querySelectorAll("iframe");console.log("iframes",e);var t=!0,r=!1,n=void 0;try{for(var o,i=a()(e);!(t=(o=i.next()).done);t=!0){var s=o.value;s.addEventListener("load",function(){console.log("iframe LOADED")}),console.log("iframe",s)}}catch(e){r=!0,n=e}finally{try{!t&&i.return&&i.return()}finally{if(r)throw n}}},150)},watch:{$route:function(e,t){var r=this;e.path!==t.path?(this.pageConfig=e.meta,this.initialize()):setTimeout(function(){e.hash&&(r.scrollTo(e.hash),console.log("to.hash",e.hash),"#toc"===e.hash.toLowerCase()&&(console.log("this.$route",r.$route),r.$router.push({path:e.path})))},10)}},methods:{searchTopic:function(e){var t="topic:"+e,r=o()({},this.$route.query,{search:t});this.$router.push({query:r})},onLoadIFrame:function(e){console.log("onload iframe",e)},getLikes:function(){},getDislikes:function(){},initialize:function(e){var t=this;if(this.topics=null,!this.pageConfig.name){var r=this.$router.currentRoute.path;this.pageConfig=s.a.getMetaById(r)}if(console.log("PAGECONFIG: ",this.topics),this.getLikes(),this.getDislikes(),this.markdown="",void 0!==this.pageConfig.markdown){var n=window.location.pathname,o=""+n.substring(0,n.length-1)+this.pageConfig.markdown;this.topics=this.pageConfig.topics;var i={headers:{"Cache-Control":"no-cache"}};h.a.get(o,i).then(function(e){t.lastModified=e.headers["last-modified"],console.log(t.lastModified),t.markdown=e.data})}},routeTo:function(e){console.log("expects me to route to ",e)},handleScroll:function(e){e.target.scrollTop>=155?this.isActive=!0:this.isActive=!1},scrollTo:function(e){if(e){var t=document.querySelector(".content "+e.toLowerCase());t&&(t.scrollIntoView(!0),this.initialScroll=!0)}else document.querySelector("main > .container").scrollTo(0,0),this.initialScroll=!0}}}},function(e,t,r){e.exports={default:r(161),__esModule:!0}},function(e,t,r){"use strict";e.exports=r(170)},function(e,t,r){"use strict";e.exports.encode=r(171),e.exports.decode=r(172),e.exports.format=r(173),e.exports.parse=r(174)},function(e,t){e.exports=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/},function(e,t){e.exports=/[\0-\x1F\x7F-\x9F]/},function(e,t){e.exports=/[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/},function(e,t,r){"use strict";var n="<[A-Za-z][A-Za-z0-9\\-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^\"'=<>`\\x00-\\x20]+|'[^']*'|\"[^\"]*\"))?)*\\s*\\/?>",o="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",i=new RegExp("^(?:"+n+"|"+o+"|\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e|<[?].*?[?]>|]*>|)"),a=new RegExp("^(?:"+n+"|"+o+")");e.exports.HTML_TAG_RE=i,e.exports.HTML_OPEN_CLOSE_TAG_RE=a},function(e,t,r){"use strict";e.exports.tokenize=function(e,t){var r,n,o,i,a,s=e.pos,l=e.src.charCodeAt(s);if(t)return!1;if(126!==l)return!1;if(n=e.scanDelims(e.pos,!0),i=n.length,a=String.fromCharCode(l),i<2)return!1;for(i%2&&(o=e.push("text","",0),o.content=a,i--),r=0;r=0;t--)e[t]||e.splice(t,1);return e.join(" ")};n.prototype.setAttribute=function(e,t){this.attributes[e]=t},n.prototype.toNode=function(){var e=document.createElement("span");e.className=s(this.classes);for(var t in this.style)Object.prototype.hasOwnProperty.call(this.style,t)&&(e.style[t]=this.style[t]);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);for(var n=0;n";for(var o=0;o"},o.prototype.toNode=function(){for(var e=document.createDocumentFragment(),t=0;t0&&(t=document.createElement("span"),t.style.marginRight=this.italic+"em"),this.classes.length>0&&(t=t||document.createElement("span"),t.className=s(this.classes));for(var r in this.style)this.style.hasOwnProperty(r)&&(t=t||document.createElement("span"),t.style[r]=this.style[r]);return t?(t.appendChild(e),t):e},i.prototype.toMarkup=function(){var e=!1,t="0&&(r+="margin-right:"+this.italic+"em;");for(var n in this.style)this.style.hasOwnProperty(n)&&(r+=a.hyphenate(n)+":"+this.style[n]+";");r&&(e=!0,t+=' style="'+a.escape(r)+'"');var o=a.escape(this.value);return e?(t+=">",t+=o,t+=""):o},e.exports={span:n,documentFragment:o,symbolNode:i}},function(e,t){function r(e,t,r){this.type=e,this.value=t,this.mode=r}e.exports={ParseNode:r}},function(e,t,r){"use strict";var n=r(16);t.a={name:"Breadcrumb",data:function(){return{breadcrumbList:[]}},mounted:function(){this.updateList()},watch:{$route:function(){this.updateList()}},methods:{routeTo:function(e){this.$router.push(e)},updateList:function(){var e=this.$router.currentRoute.path;this.pageConfig=n.a.getMetaById(e),this.breadcrumbList=this.pageConfig.breadCrumb}}}},function(e,t,r){var n=r(160);"string"==typeof n&&(n=[[e.i,n,""]]),n.locals&&(e.exports=n.locals);r(129)("05d3c9b7",n,!0,{})},function(e,t,r){t=e.exports=r(128)(!0),t.push([e.i,".topics[data-v-ce781e84]{margin-left:1rem}.tag[data-v-ce781e84]{display:inline-block;padding:5px;padding-right:10px;padding-left:10px;margin:4px 2px;font-size:14px;color:#fff;text-align:center;text-decoration:none;cursor:pointer;background-color:#888;border:none;border-radius:20px}.tag[data-v-ce781e84]:hover{background-color:#424242}","",{version:3,sources:["/Users/jim/projects/openapi-generator/.documentation/src/views/DefaultPageRenderer.vue"],names:[],mappings:"AACA,yBACE,gBAAkB,CACnB,AACD,sBACE,qBAAsB,AACtB,YAAa,AACb,mBAAoB,AACpB,kBAAmB,AACnB,eAAgB,AAChB,eAAgB,AAChB,WAAa,AACb,kBAAmB,AACnB,qBAAsB,AACtB,eAAgB,AAChB,sBAAuB,AACvB,YAAa,AACb,kBAAoB,CACrB,AACD,4BACE,wBAA0B,CAC3B",file:"DefaultPageRenderer.vue",sourcesContent:["\n.topics[data-v-ce781e84] {\n margin-left: 1rem;\n}\n.tag[data-v-ce781e84] {\n display: inline-block;\n padding: 5px;\n padding-right: 10px;\n padding-left: 10px;\n margin: 4px 2px;\n font-size: 14px;\n color: white;\n text-align: center;\n text-decoration: none;\n cursor: pointer;\n background-color: #888;\n border: none;\n border-radius: 20px;\n}\n.tag[data-v-ce781e84]:hover {\n background-color: #424242;\n}\n"],sourceRoot:""}])},function(e,t,r){r(55),r(54),e.exports=r(162)},function(e,t,r){var n=r(4),o=r(56);e.exports=r(3).getIterator=function(e){var t=o(e);if("function"!=typeof t)throw TypeError(e+" is not iterable!");return n(t.call(e))}},function(e,t,r){!function(t,n){e.exports=n(r(146),r(164),r(168),r(221),r(227),r(228),r(229),r(230),r(231),r(232),r(233),r(234),r(247),r(262))}(0,function(e,t,r,n,o,i,a,s,l,u,c,p,h,f){return function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=r(1),i=n(o),a=r(2),s=n(a),l=r(3),u=n(l),c=r(4),p=n(c),h=r(5),f=n(h),d=r(6),m=n(d),g=r(7),_=n(g),b=r(8),v=n(b),y=r(9),k=n(y),w=r(10),x=n(w),A=r(11),C=n(A),S=r(12),E=n(S),z=r(13),D=n(z),q=r(14),T=n(q);t.default={md:new u.default,template:"
\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// src/components/Breadcrumb.vue","// style-loader: Adds some css to the DOM by adding a \n\n\n\n// WEBPACK FOOTER //\n// src/App.vue","\n \n