blob: 75353e1679d0cdd4681a4f3339ef39cc37d2f518 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-112407000-2"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'UA-112407000-2');
</script>
<!-- Google Tag Manager -->
<script>
(function (w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({
'gtm.start': new Date().getTime(),
event: 'gtm.js'
});
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s),
dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src =
'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', 'GTM-KS8HHSF');
</script>
<!-- End Google Tag Manager -->
<head>
<title>Codewind OpenAPI Tools for VS Code | Codewind</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="How to work with the OpenAPI tools in VS Code">
<meta name="keywords" content="install, run, open, import, show, restart, edit, build, logs, tools, eclipse, Codewind OpenAPI tools for VS Code"/>
<link rel="icon" type="image/png" sizes="16x16" href="images/favicon/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="images/favicon/favicon-32x32.png">
<link href="https://fonts.googleapis.com/css?family=IBM+Plex+Sans:300,400,600&display=swap" rel="stylesheet">
<!-- Bootstrap CSS CDN -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
<link rel="stylesheet" href="css/styles.css">
<link rel="stylesheet" href="css/docs.css">
<link rel="stylesheet" href="css/blog.css">
<link rel="stylesheet" href="css/guides.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/themes/prism.min.css">
</head>
<body data-spy="scroll" data-target="#toc">
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KS8HHSF"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<div class="main">
<!-- Bootstrap NavBar -->
<nav class="navbar navbar-expand-lg navbar-light cw-banner fixed-top" aria-label="topnav">
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse"
data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<a class="navbar-brand" href="/codewind/">
<img alt="Codewind logo image" title="Codewind logo image" src="images/header/header-logo.svg" class="cw-header-logo" alt="">
</a>
<div class="collapse navbar-collapse justify-content-end cw-navbar-padding" id="navbarNavDropdown">
<ul class="navbar-nav cw-navbar-nav">
<li class="nav-item cw-navbar-item cw-header-link-docs">
<a class="nav-link cw-nav-link cw-header-link-text" href="overview.html">Docs</a>
</li>
<li class="nav-item cw-navbar-item cw-header-link-news">
<a class="nav-link cw-nav-link cw-header-link-text" href="news.html">News</a>
</li>
<li class="nav-item cw-navbar-item cw-header-link-blog">
<a class="nav-link cw-nav-link cw-header-link-text" href="blog.html">Blog</a>
</li>
<li class="nav-item cw-navbar-item cw-header-link-guides">
<a class="nav-link cw-nav-link cw-header-link-text" href="guides.html">Guides</a>
</li>
<li class="nav-item cw-navbar-item cw-header-link">
<a class="nav-link cw-nav-link" href="https://github.com/eclipse/codewind"><img alt="Codewind Github" class="banner-image" title="Codewind Github" data-toggle="tooltip" data-placement="top" id="cw_github_stars" title="..." src="images/header/github.svg"/></a>
</li>
<li class="nav-item cw-navbar-item cw-header-link">
<a class="nav-link cw-nav-link" href="https://twitter.com/EclipseCodewind"><img alt="Codewind Twitter" class="banner-image" title="Codewind Twitter" src="images/header/twitter.png"/></a>
</li>
<li class="nav-item cw-navbar-item cw-header-link">
<a class="nav-link cw-nav-link" href="https://mattermost.eclipse.org/eclipse/channels/eclipse-codewind"><img alt="Codewind Mattermost" class="banner-image" title="Codewind Mattermost" src="images/header/mattermost.png"/></a>
</li>
<li class="nav-item cw-navbar-item cw-header-link">
<a class="nav-link cw-nav-link" href="https://www.youtube.com/channel/UCnKCVK6RFDyHFqUmXlAhCHQ"><img alt="Codewind YouTube" class="banner-image" title="Codewind YouTube" src="images/header/youtube.png"/></a>
</li>
<!-- li class="nav-item cw-navbar-item" id="download-li">
<button onClick="window.location.href='https://microclimate.dev/download/codewind';" type="button" class="btn cw-download-button">Download</button>
<a href="https://microclimate.dev/download/codewind" class="nav-link cw-nav-link cw-download-link" href="#">Download</a>
</li> -->
<!-- Smaller devices menu END -->
</ul>
</div>
</nav>
<!-- End Bootstrap NavBar -->
<!-- Bootstrap row -->
<div class="row" id="body-row">
<!-- Sidebar -->
<div id="sidebar-container" class="bg-light" role="navigation" aria-label="sidebar">
<!-- Bootstrap List Group -->
<ul class="list-group sticky-top bg-light cw-sticky-offset">
<a href="overview.html" class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-url="overview.html">
What is Codewind?
</a>
<a href="#getting_started" id="#getting_started" class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse" aria-expanded="false">Getting started<span class="submenu-icon"></span></a>
<div class="cw-sidebar-div cw-sidebar-submenu collapse" id="getting_started">
<a href="gettingstarted.html" class="bg-light list-group-item" data-parent="#getting_started" data-url="gettingstarted.html">Overview: Getting started</a>
<a href="#vs_code" id="#vs_code" class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse" data-parent="#getting_started" aria-expanded="false">VS Code<span class="submenu-icon"></span></a>
<div class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" id="vs_code">
<a href="vsc-getting-started.html" class="bg-light list-group-item" data-parent="#vs_code" data-url="vsc-getting-started.html">Installing Codewind for VS Code</a>
<a href="vsc-firstproject.html" class="bg-light list-group-item" data-parent="#vs_code" data-url="vsc-firstproject.html">Creating your first Codewind project with Codewind for VS Code</a>
<a href="vsc-codechange.html" class="bg-light list-group-item" data-parent="#vs_code" data-url="vsc-codechange.html">Making a code change with VS Code</a>
</div>
<a href="#eclipse" id="#eclipse" class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse" data-parent="#getting_started" aria-expanded="false">Eclipse<span class="submenu-icon"></span></a>
<div class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" id="eclipse">
<a href="eclipse-getting-started.html" class="bg-light list-group-item" data-parent="#eclipse" data-url="eclipse-getting-started.html">Installing Codewind for Eclipse</a>
<a href="eclipse-firstproject.html" class="bg-light list-group-item" data-parent="#eclipse" data-url="eclipse-firstproject.html">Creating your first Codewind project with Codewind for Eclipse</a>
<a href="eclipse-codechange.html" class="bg-light list-group-item" data-parent="#eclipse" data-url="eclipse-codechange.html">Making a code change with Eclipse</a>
</div>
<a href="#intellij" id="#intellij" class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse" data-parent="#getting_started" aria-expanded="false">IntelliJ<span class="submenu-icon"></span></a>
<div class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" id="intellij">
<a href="intellij-getting-started.html" class="bg-light list-group-item" data-parent="#intellij" data-url="intellij-getting-started.html">Installing Codewind for IntelliJ</a>
<a href="intellij-firstproject.html" class="bg-light list-group-item" data-parent="#intellij" data-url="intellij-firstproject.html">Creating your first Codewind project with Codewind for IntelliJ</a>
<a href="intellij-codechange.html" class="bg-light list-group-item" data-parent="#intellij" data-url="intellij-codechange.html">Making a code change with IntelliJ</a>
</div>
</div>
<a href="#using_codewind_as_a_hosted_application_on_the_cloud" id="#using_codewind_as_a_hosted_application_on_the_cloud" class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse" aria-expanded="false">Using Codewind as a hosted application on the cloud<span class="submenu-icon"></span></a>
<div class="cw-sidebar-div cw-sidebar-submenu collapse" id="using_codewind_as_a_hosted_application_on_the_cloud">
<a href="eclipseche-codewind-overview.html" class="bg-light list-group-item" data-parent="#using_codewind_as_a_hosted_application_on_the_cloud" data-url="eclipseche-codewind-overview.html">Overview: Using Codewind as a hosted application on the cloud</a>
<a href="#eclipse_che" id="#eclipse_che" class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse" data-parent="#using_codewind_as_a_hosted_application_on_the_cloud" aria-expanded="false">Eclipse Che<span class="submenu-icon"></span></a>
<div class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" id="eclipse_che">
<a href="che-installinfo.html" class="bg-light list-group-item" data-parent="#eclipse_che" data-url="che-installinfo.html">Installing Eclipse Che for Codewind</a>
<a href="che-createcodewindworkspace.html" class="bg-light list-group-item" data-parent="#eclipse_che" data-url="che-createcodewindworkspace.html">Creating a Codewind workspace in Che</a>
<a href="che-setupregistries.html" class="bg-light list-group-item" data-parent="#eclipse_che" data-url="che-setupregistries.html">Adding an image registry in Codewind in Che</a>
<a href="che-codechange.html" class="bg-light list-group-item" data-parent="#eclipse_che" data-url="che-codechange.html">Making a code change with Codewind for Eclipse Che</a>
<a href="che-createfirstproject.html" class="bg-light list-group-item" data-parent="#eclipse_che" data-url="che-createfirstproject.html">Creating your first Codewind project with Codewind for Eclipse Che</a>
<a href="che-tektonpipelines.html" class="bg-light list-group-item" data-parent="#eclipse_che" data-url="che-tektonpipelines.html">Configuring Codewind for Tekton pipelines</a>
<a href="che-odo-support.html" class="bg-light list-group-item" data-parent="#eclipse_che" data-url="che-odo-support.html">OpenShift Do (odo) support in Codewind</a>
<a href="openshiftregistry.html" class="bg-light list-group-item" data-parent="#eclipse_che" data-url="openshiftregistry.html">Adding the OpenShift internal registry with Codewind</a>
<a href="che-uninstall.html" class="bg-light list-group-item" data-parent="#eclipse_che" data-url="che-uninstall.html">Uninstalling Codewind for Eclipse Che</a>
</div>
</div>
<a href="remote-deploying-codewind.html" class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-url="remote-deploying-codewind.html">
Deploying Codewind remotely
</a>
<a href="#using_codewind_remotely" id="#using_codewind_remotely" class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse" aria-expanded="false">Using Codewind remotely<span class="submenu-icon"></span></a>
<div class="cw-sidebar-div cw-sidebar-submenu collapse" id="using_codewind_remotely">
<a href="remote-codewind-overview.html" class="bg-light list-group-item" data-parent="#using_codewind_remotely" data-url="remote-codewind-overview.html">Overview: Using Codewind remotely</a>
<a href="#connecting_your_ide_to_remote_codewind" id="#connecting_your_ide_to_remote_codewind" class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse" data-parent="#using_codewind_remotely" aria-expanded="false">Connecting your IDE to remote Codewind<span class="submenu-icon"></span></a>
<div class="cw-sidebar-div cw-sidebar-submenu-submenu collapse" id="connecting_your_ide_to_remote_codewind">
<a href="remotedeploy-vscode.html" class="bg-light list-group-item" data-parent="#connecting_your_ide_to_remote_codewind" data-url="remotedeploy-vscode.html">Connecting VS Code to remote Codewind</a>
<a href="remotedeploy-eclipse.html" class="bg-light list-group-item" data-parent="#connecting_your_ide_to_remote_codewind" data-url="remotedeploy-eclipse.html">Connecting Eclipse to remote Codewind</a>
</div>
<a href="remote-setupregistries.html" class="bg-light list-group-item" data-parent="#using_codewind_remotely" data-url="remote-setupregistries.html">Adding an image registry in remote Codewind</a>
<a href="remotedeploy-projects-vscode.html" class="bg-light list-group-item" data-parent="#using_codewind_remotely" data-url="remotedeploy-projects-vscode.html">Creating and importing projects</a>
</div>
<a href="workingwithtemplates.html" class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-url="workingwithtemplates.html">
Working with templates
</a>
<a href="#developing_projects" id="#developing_projects" class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse" aria-expanded="false">Developing projects<span class="submenu-icon"></span></a>
<div class="cw-sidebar-div cw-sidebar-submenu collapse" id="developing_projects">
<a href="checkingstatuses.html" class="bg-light list-group-item" data-parent="#developing_projects" data-url="checkingstatuses.html">Understanding application and build statuses</a>
<a href="importing-existing-projects.html" class="bg-light list-group-item" data-parent="#developing_projects" data-url="importing-existing-projects.html">Importing existing projects</a>
<a href="project-actions.html" class="bg-light list-group-item" data-parent="#developing_projects" data-url="project-actions.html">Project actions</a>
<a href="project-settings.html" class="bg-light list-group-item" data-parent="#developing_projects" data-url="project-settings.html">Project settings</a>
<a href="referencing-files.html" class="bg-light list-group-item" data-parent="#developing_projects" data-url="referencing-files.html">Referencing files external to a project</a>
<a href="private-registries.html" class="bg-light list-group-item" data-parent="#developing_projects" data-url="private-registries.html">Developing with packages from private registries and repositories</a>
<a href="offline-codewind.html" class="bg-light list-group-item" data-parent="#developing_projects" data-url="offline-codewind.html">Using Codewind offline</a>
<a href="debugging.html" class="bg-light list-group-item" data-parent="#developing_projects" data-url="debugging.html">Debugging in Codewind</a>
</div>
<a href="#performance_monitoring" id="#performance_monitoring" class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse" aria-expanded="false">Performance monitoring<span class="submenu-icon"></span></a>
<div class="cw-sidebar-div cw-sidebar-submenu collapse" id="performance_monitoring">
<a href="metrics-dashboard.html" class="bg-light list-group-item" data-parent="#performance_monitoring" data-url="metrics-dashboard.html">Understanding the Metrics Dashboard</a>
<a href="performance.html" class="bg-light list-group-item" data-parent="#performance_monitoring" data-url="performance.html">Monitoring applications with the Performance Dashboard</a>
</div>
<a href="#openapi_tools" id="#openapi_tools" class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-toggle="collapse" aria-expanded="false">OpenAPI Tools<span class="submenu-icon"></span></a>
<div class="cw-sidebar-div cw-sidebar-submenu collapse" id="openapi_tools">
<a href="open-api-tools-for-vscode.html" class="bg-light list-group-item" data-parent="#openapi_tools" data-url="open-api-tools-for-vscode.html">Codewind OpenAPI Tools for VS Code</a>
<a href="open-api-tools-for-eclipse.html" class="bg-light list-group-item" data-parent="#openapi_tools" data-url="open-api-tools-for-eclipse.html">Codewind OpenAPI Tools for Eclipse</a>
</div>
<a href="troubleshooting.html" class="bg-light list-group-item list-group-item-action flex-column align-items-start" data-url="troubleshooting.html">
Troubleshooting
</a>
</ul>
<!-- List Group END-->
</div>
<!-- sidebar-container END -->
<!-- MAIN -->
<div id="content-container">
<div class="py-5 px-5">
<div class="cw-docs-spacer"></div>
<div role="main"><h1 id="codewind-openapi-tools-for-vs-code">Codewind OpenAPI Tools for VS Code</h1>
<p>The Codewind OpenAPI Tools for VS Code provides commands that invoke the OpenAPI Generator to create API clients, server stubs, and HTML documentation from OpenAPI definitions. The tools are integrated and customized to work with Codewind for VS Code, but they can also work without the Codewind extension.</p>
<h2 id="prerequisites">Prerequisites</h2>
<ul>
<li>Install Docker before you run the generator. In VS Code, the plug-in pulls in the OpenAPI generator image from <a href="https://github.com/OpenAPITools/openapi-generator#16---docker">Docker</a>.</li>
</ul>
<h2 id="installing">Installing</h2>
<ol>
<li>Install <a href="https://code.visualstudio.com/download">VS Code version 1.27 or later</a>.</li>
<li>(OPTIONAL) Install Codewind for VS Code from the <a href="https://marketplace.visualstudio.com/items?itemName=IBM.codewind">VS Code Marketplace</a> or by searching for <code class="highlighter-rouge">Codewind</code> in the <a href="https://code.visualstudio.com/docs/editor/extension-gallery#_browse-for-extensions">VS Code Extensions view</a>.</li>
<li>This extension pulls the <a href="https://github.com/OpenAPITools/openapi-generator#16---docker">OpenAPI Generator CLI Docker Image</a> and runs the OpenAPI Generator in a Docker container. Install Docker if necessary.</li>
<li>Install the Codewind OpenAPI Tools from the <a href="https://marketplace.visualstudio.com/items?itemName=IBM.codewind-openapi-tools">VS Code Marketplace</a> or by searching for <code class="highlighter-rouge">Codewind OpenAPI</code> in the <a href="https://code.visualstudio.com/docs/editor/extension-gallery#_browse-for-extensions">VS Code Extensions view</a>.</li>
</ol>
<h2 id="generating-and-building-client-and-server-stubs-by-using-the-openapi-tools">Generating and building client and server stubs by using the OpenAPI tools</h2>
<ol>
<li>Right-click your Codewind project from the Codewind view and select either the <strong>Generate Server from OpenAPI Definition</strong> menu or <strong>Generate Client from OpenAPI Definition</strong> action. You are then prompted to provide options to the OpenAPI generator.</li>
<li>Select your OpenAPI document file. The file must be a valid OpenAPI 3.0 <code class="highlighter-rouge">.yaml</code> or <code class="highlighter-rouge">.json</code> file that is in the project.</li>
<li>Select the client or server generator type.</li>
<li>When you’re prompted to select the output folder, keep the default selection. The project root, which is the parent of the source folder, is selected by default.</li>
<li>Click <strong>Select As Output Folder</strong>.</li>
<li>When prompted with the warning message, click <strong>Yes</strong> to merge the generated <code class="highlighter-rouge">.pom</code> file with the existing <code class="highlighter-rouge">.pom</code> file. The existing <code class="highlighter-rouge">pom.xml</code> file is backed up as <code class="highlighter-rouge">pom-backup.xml</code> or as a variation of this name. The new <code class="highlighter-rouge">pom.xml</code> file is a merged version of the original <code class="highlighter-rouge">.pom</code> file and the <code class="highlighter-rouge">.pom</code> file that is generated. The merge attempts to include all necessary dependencies for the project to build properly. Because of limitations in the merge process, XML comments, such as <code class="highlighter-rouge">&lt;!-- example comment --&gt;</code>, from the original <code class="highlighter-rouge">.pom</code> file are removed. For any Codewind project, if autobuild is turned on, the project builds automatically.</li>
<li>See that your <code class="highlighter-rouge">src</code> folder shows the newly generated code. Depending on the generator type that you chose, a <code class="highlighter-rouge">gen</code> package is created. Your Codewind project state returns to the <code class="highlighter-rouge">[Running]</code> state. The target source folders, <code class="highlighter-rouge">src/main/java</code> and <code class="highlighter-rouge">src/test/java</code>, are not customizable.</li>
<li>Now, you can customize the application logic. Choose one of the two methods in the <strong>Generating and building code in an existing Java Spring project</strong> section.</li>
</ol>
<h2 id="generating-and-building-code-in-an-existing-java-spring-project">Generating and building code in an existing Java Spring project</h2>
<p>When you generate a Spring server stub into a Spring project, the OpenAPI tools for VS Code don’t override the main class that is already implicitly or explicitly configured in the project. Complete one of the following steps to expose the OpenAPI endpoints:</p>
<ul>
<li>To use the generated class, uncomment the main method in the <code class="highlighter-rouge">OpenAPI2SpringBoot.java</code> Java class file and explicitly configure the project to use this main class.</li>
<li>To continue to use the currently configured main class, copy the base packages that are listed in the <code class="highlighter-rouge">@ComponentScan</code> component scan annotation from the <code class="highlighter-rouge">OpenAPI2SpringBoot.java</code> file. Then, add the packages to the currently configured main class. For example, if you use the Codewind Spring Boot project, the implicit main class is the <code class="highlighter-rouge">SBApplication.java</code> file.</li>
</ul>
<h2 id="running-commands">Running commands</h2>
<ol>
<li>Before you run a command, ensure the OpenAPI definition is in the folder or project.</li>
<li>If you have <strong>Codewind</strong> installed, go to the <strong>Explorer</strong> view group and open the <strong>Codewind</strong> view.
<ul>
<li>Access the context menu commands from the Codewind view, go to the context menu on a project and select one of the <strong>Generate</strong> actions.</li>
</ul>
</li>
<li>The commands are also available from the <strong>Command Palette</strong> .
<ul>
<li>Open the <a href="https://code.visualstudio.com/docs/getstarted/userinterface#_command-palette">Command Palette</a> and type <code class="highlighter-rouge">OpenAPI</code> to see the actions available.</li>
</ul>
</li>
<li>After you generate code, edit the <code class="highlighter-rouge">.openapi-generator-ignore</code> file to ensure that subsequent code generation does not overwrite custom code.</li>
</ol>
<h2 id="generator-options">Generator options</h2>
<p>The following command line equivalent options are available for client and server generation:
<code class="highlighter-rouge">-i &lt;OpenAPI definition&gt;</code>
<code class="highlighter-rouge">-g &lt;generator name&gt;</code>
<code class="highlighter-rouge">-o &lt;output directory&gt;</code></p>
<p>The following command line equivalent options are available for HTML generation:
<code class="highlighter-rouge">-i &lt;OpenAPI definition&gt;</code>
<code class="highlighter-rouge">-g html2</code>
<code class="highlighter-rouge">-o &lt;output directory&gt;</code></p>
<h2 id="features">Features</h2>
<ul>
<li>Generate API clients in any of the supported <a href="https://github.com/OpenAPITools/openapi-generator#overview">languages/frameworks</a>.</li>
<li>Generate server stubs in any of the supported <a href="https://github.com/OpenAPITools/openapi-generator#overview">languages/frameworks</a>.</li>
<li>Generate HTML documentation from an OpenAPI definition file.</li>
</ul>
</div>
</div>
<div class="py-5 px-5 text-right">
Last update: Nov 12, 2019
</div>
</div>
</div>
<!-- footer row -->
<footer>
<div id="footer-div-mobile">
<div class="row">
<div class="col-sm-12 text-center">
<span>Useful Links:</span>
<br/><br/>
<a class="cw-footer-links" href="http://www.eclipse.org">Eclipse Foundation</a><br/>
<a class="cw-footer-links" href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a><br/>
<a class="cw-footer-links" href="http://www.eclipse.org/legal/termsofuse.php">Website Terms of Use</a><br/>
<a class="cw-footer-links" href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a><br/>
<a class="cw-footer-links" href="http://www.eclipse.org/legal">Legal</a><br/>
</div>
</div>
<div class="cw_footer_display_flex cw-footer-same-height cw-footer-center">
<div class="cw_footer_display_icons row">
<div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
<div>
<div>
<a href="mailto:codewind-dev@eclipse.org"><img alt="Send us an email" title="Send us an email" src="images/footer/email-icon.svg" class="cw-logo" /></a>
</div>
</div>
</div>
<div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
<div>
<div>
<a href="https://twitter.com/EclipseCodewind"><img alt="Codewind Twitter" title="Codewind Twitter" src="images/footer/twitter-logo.svg" class="cw-logo" /></a>
</div>
</div>
</div>
<div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
<div>
<div>
<a href="https://github.com/eclipse/codewind"><img alt="Codewind Github" title="Codewind Github" src="images/footer/github-logo.svg"
class="cw-logo" /></a>
</div>
</div>
</div>
<div class=" cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
<div>
<div>
<a href="https://mattermost.eclipse.org/eclipse/channels/eclipse-codewind"><img alt="Codewind Mattermost" title="Codewind Mattermost" src="images/footer/mattermost-logo.png" class="cw-logo-mm" /></a>
</div>
</div>
</div>
<div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
<div>
<div>
<a href="https://www.youtube.com/channel/UCnKCVK6RFDyHFqUmXlAhCHQ"><img alt="Codewind YouTube" title="Codewind YouTube" src="images/footer/youtube-logo-dark.svg"
class="cw-logo" /></a>
</div>
</div>
</div>
<div class="cw-footer-col text-center col-md-3 col-sm-6 col-xs-12">
<div>
<div>
<a href="http://www.eclipse.org"><img class="cw-logo-eclipse-mobile" alt="Eclipse" title="Eclipse" src="images/footer/eclipse.svg"/></a>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row cw-footer-desktop" id="footer-div">
<div class="cw-footer-left">
<div class="px-5 cw-font-12>
<span class="cw-font-14">Useful Links:</span>
<br/><br/>
<a class="cw-footer-links" href="http://www.eclipse.org">Eclipse Foundation</a><br/>
<a class="cw-footer-links" href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a><br/>
<a class="cw-footer-links" href="http://www.eclipse.org/legal/termsofuse.php">Website Terms of Use</a><br/>
<a class="cw-footer-links" href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a><br/>
<a class="cw-footer-links" href="http://www.eclipse.org/legal">Legal</a><br/>
</div>
</div>
<div class="cw-footer-border-right"></div>
<div class="cw_footer_display_flex cw-footer-same-height cw-footer-center">
<div class="cw_footer_display_icons">
<div class="cw-footer-col text-center">
<div>
<div>
<a href="mailto:codewind-dev@eclipse.org"><img alt="Send us an email" title="Send us an email" src="images/footer/email-icon.svg" class="cw-logo" /></a>
</div>
</div>
</div>
<div class="cw-footer-col text-center">
<div>
<div>
<a href="https://twitter.com/EclipseCodewind"><img alt="Codewind Twitter" title="Codewind Twitter" src="images/footer/twitter-logo.svg" class="cw-logo" /></a>
</div>
</div>
</div>
<div class="cw-footer-col text-center">
<div>
<div>
<a href="https://github.com/eclipse/codewind"><img alt="Codewind Github" title="Codewind Github" src="images/footer/github-logo.svg"
class="cw-logo" /></a>
</div>
</div>
</div>
<div class=" cw-footer-col text-center">
<div class="cw-logo-mm" >
<div class="cw-logo-mm" >
<a href="https://mattermost.eclipse.org/eclipse/channels/eclipse-codewind"><img alt="Codewind Mattermost" title="Codewind Mattermost" src="images/footer/mattermost-logo.png" class="cw-logo-mm" /></a>
</div>
</div>
</div>
<div class="cw-footer-col text-center">
<div>
<div>
<a href="https://www.youtube.com/channel/UCnKCVK6RFDyHFqUmXlAhCHQ"><img alt="Codewind YouTube" title="Codewind YouTube" src="images/footer/youtube-logo-dark.svg"
class="cw-logo" /></a>
</div>
</div>
</div>
</div>
</div>
<div class="cw-footer-border-right"></div>
<div class="cw-footer-right cw-footer-same-height cw-footer-vcenter">
<div class="cw-footer-eclipse-img cw-footer-same-height px-5 ">
<a href="http://www.eclipse.org">
<img alt="Eclipse" title="Eclipse" src="images/footer/eclipse.svg"/>
</a>
</div>
</div>
</div>
</footer>
<!-- footer row END -->
<!-- Main Col END -->
<!-- Jquery -->
<script
src="https://code.jquery.com/jquery-3.4.1.min.js"
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"
integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous">
</script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous">
</script>
<!-- Font Awesome JS -->
<script defer src="https://use.fontawesome.com/releases/v5.0.13/js/solid.js"
integrity="sha384-tzzSw1/Vo+0N5UhStP3bvwWPq+uvzCMfrN1fEFe+xBmv1C/AtVX5K0uZtmcHitFZ" crossorigin="anonymous">
</script>
<script defer src="https://use.fontawesome.com/releases/v5.0.13/js/fontawesome.js"
integrity="sha384-6OIrr52G08NpOFSZdxxz1xdNSndlD4vdcf/q2myIUVO0VsqaGHJsB0RaBE01VTOY" crossorigin="anonymous">
</script>
<script src="js/jquery.matchHeight-min.js"></script>
<script src="js/index.js"></script>
<script src="js/docs.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/prism.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/components/prism-docker.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.17.1/components/prism-json.min.js"></script>
</div>
</body>
</html>
<script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/4.2.0/anchor.min.js"></script>
<script>
$(document).ready(function(){
anchors.options.placement = 'left';
anchors.add('h1');
anchors.add('h2');
anchors.add('h3');
anchors.add('h4');
});
</script>