jimschubert / intellij-openapi-generator

Intellij Plugin for openapi-generator
https://openapi-generator.tech/
Apache License 2.0
77 stars 12 forks source link

reports "swagger file is invalid" for OpenAPI 3.0.0 #10

Closed jjaimon closed 6 years ago

jjaimon commented 7 years ago

I've a yaml confirming to openapi 3.0.0. swagger-editor parses the file and renders it correctly. However, when I click on code->swagger->Generate code from swagger, I get the message that swagger file is invalid when ever I click on code gen.

jimschubert commented 7 years ago

@jjaimon Just wanted to let you know that this project uses Swagger Codegen internally to both dynamically generate the views for each generator and pass to the CodegenConfigurator instance to output code. Swagger Codegen has an unreleased 3.0.0 branch. When that branch is ready, I'll evaluate the feasibility of including in this plugin. There's a tracking issue on the Swagger Codegen project that you may want to subscribe to: swagger-api/swagger-codegen#4669.

I'll go ahead and push an update which bumps to latest Swagger Codegen.

jimschubert commented 7 years ago

I've tagged this as Hacktoberfest. I'm not sure if the Swagger Codegen 3.0 branch will be released by October, but if it is it would be nice to have community contribution to bump the version (in gradle.properties) and test (see README.md). I'll try to get to it, but my mom is on hospice and I've not been doing a lot of active OSS contribution for the past couple of months.

scottgutman commented 6 years ago

Hi. I was wondering if there is an update on this issue?

jimschubert commented 6 years ago

@scottgutmam Swagger-codegen still doesn't support 3.0 fully. The project was updated in a way that would make it difficult for tools like this plug-in to support versions 2.0 and 3.x of the spec in parallel.

Myself and other core contributors have forked the swagger-codegen project from version 2.4.0-SNAPSHOT to a new project: https://github.com/OpenAPITools/openapi-generator. We've done this for a number of reasons which you can view at the repo, but it boils down to allowing the community to drive the project's direction. This fork makes maintenance of my own tools, such as this plug-in and other tools I've customized internally at work, much simpler.

We are targeting a 3.0.0 release by the end of this month. Once the artifacts are released, I plan to migrate this plug-in to the new code. I will likely be moving this repository under the new org, and renaming the plug-in to indicate it's using the openapi-generator.

If you have any questions about the above, let me know.

jjaimon commented 6 years ago

Thanks for the update. I'll be happy to test new code when its ready

jimschubert commented 6 years ago

Just an update... I've begun work on this update, but I'm having issues with swagger-parser finding it's open parser for 2.0 specs. Trying to figure it out so I can get this released.

jimschubert commented 6 years ago

@jjaimon @scottgutman I've just pushed a plugin update to consume the swagger-codegen community fork, OpenAPI Generator, rather than swagger-codegen. This allows for support of OpenAPI 3.x documents using the same built-in templates and user customized templates as before.

We just released the OpenAPI Generator community fork at the beginning of June, and over the past few weeks after the release I've been in the process of transitioning between homes. Sorry for the delay!

Jetbrains usually takes 12-24 hours to approve the plugin, but I figured I'd let you know as it'll likely be published by the time you receive notification. https://plugins.jetbrains.com/plugin/8433-openapi-generator

jimschubert commented 6 years ago

FYI, I messed up the IDE version support in 2.0.0 so that it was hard-coded to 2017.3.3. This was reported in #20, and I've just pushed a fix, which may take a day or two get get approved in the plugin repository.

jimschubert commented 6 years ago

Version 2.1.0, supporting OpenAPI 3.0 specs, and with the fix for supported IDEs of 2016.2+ is now available. Sorry for the confusion with versions in the 2.0.0 release of the plugin.

I'm closing this now. If there are problems, please reopen it submit a new issue.