OpenAPITools / openapi-generator

OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
https://openapi-generator.tech
Apache License 2.0
20.71k stars 6.32k forks source link

Swagger-Parser state #68

Open jmini opened 6 years ago

jmini commented 6 years ago

This issue is to discuss the state of one of our upstream dependency Swagger-Parser.

Original project: https://github.com/swagger-api/swagger-parser/pulls

Our fork: https://github.com/OpenAPITools/swagger-parser/pulls In our fork, we have started to do some fixes on the 2.0-OpenAPITools branch.


Personally I would prefer to have the issues fixed in the original project. Otherwise this means that we will have to publish a release of OpenAPITools/swagger-parser under new maven coordinates (using our groupId)

I would prefer not fragmenting the swagger-parser project.

I am using other tools like openapi-diff and I would like all project to use the same version of swagger-parser. Otherwise this means that we will have a dependency management hell.


I propose that we still open issue and file PRs in the original swagger-parser project. I know there is little reaction at the moment, but it would be better on the long term.

We can also add all the PRs we have created on the original project to our 2.0-OpenAPITools

If they do not integrate our fixes we will be forced to create a release of org.openapitools:swagger-parser based on the 2.0-OpenAPITools. But I hope this will not be necessary.

jmini commented 6 years ago

PR that we do not manage to get in:

I have also opened two issues this morning (I did not investigate them yet):

frantuma commented 6 years ago

@jmini thanks for opening this ticket and sharing your thoughts and current status.

I am also convinced that fragmenting swagger-parser is not a great idea, and I feel we can overcome any blocks and concerns, again thank you for allowing an open discussion.

In this case, it seems that swagger-parser response/review time is the issue, and I understand its impact on dependent projects.

As immediate action we have switched focus to the open PRs linked above, and we are addressing them and will keep you posted.

It would possibly help to have a list of prioritized PRs if it makes sense, maybe as a ticket in swagger-parser project.

Please let me know what you think

jmini commented 6 years ago

@frantuma thank you for this reply! This is encouraging.

Please notice that I can only speak for myself, and other members of this community might have other opinion.

I will do my best to make this project continue to use the official version of Swagger-Parser. In my opinion this requires:

I do not see a reason to publish an alternative release or to use https://jitpack.io/ if the described mindset is present. At the end I think that we can all work together...

frantuma commented 6 years ago

@jmini thanks for your feedback. As for your second point we are considering this and will get back to you and the community.

jmini commented 6 years ago

Just for tracking:

PR:

Issues:

jmini commented 6 years ago

2018-05-17: both branches 2.0-OpenAPITools and 2.0 are aligned. No pending PR from our side. Thank you to everyone involved. We keep this issue open for additional discussion.

One point needs to be answered:

@jmini thanks for your feedback. As for your second point (a clear process to ask for a release) we are considering this and will get back to you and the community.

jmini commented 6 years ago

(tracking)

PR:

jmini commented 6 years ago

@frantuma: I took the liberty to open https://github.com/swagger-api/swagger-parser/issues/717 to discuss it. I am not sure it is the appropriate process.

jmini commented 6 years ago

Dear Swagger-Parser maintainers,

I have noticed a lot of activity around the project with great patches contributed over the few days. Some of them are patches for issues that were raised by OpenAPI-Generator users.

We also got one patch submitted directly to our fork. I have asked the contributor to also contribute its change against the official project.

I have started to review some of them. During my review I have suggested to add Unit Tests.

I think it would be great to have them integrated into the official project. Let me know what I can do additionally to help you in this task.


In Parallel to the review I have also integrated the patch in the alternative branch (2.0-OpenAPITools) we maintain in the OpenAPITools/swagger-parser fork.

This allows to perform some tests.


I will try to keep a list up to date of the changes: (If you follow the same review and merge order, you will be able to have the same conflict resolution I did on the 2.0-OpenAPITools branch)

cc: @frantuma

jmini commented 5 years ago

2.0.2 has been released but contains a regression that prevent us to use this version. See #787 for more detail. We will stay to 2.0.2-OpenAPITools.org-1 until a 2.0.3 is published.


I track here the changes we are interested in for a 2.0.3 release. We might come up with a 2.0.3-OpenAPITools.org-1 for our 3.3.0 release (due to end August 2018 / first week of September 2018).

jmini commented 5 years ago

Version 2.0.3-OpenAPITools.org-1 of Swagger-Parser was published on maven central:

<dependency>
  <groupId>org.openapitools.swagger.parser</groupId>
  <artifactId>swagger-parser</artifactId>
  <version>2.0.3-OpenAPITools.org-1</version>
</dependency>

In https://github.com/swagger-api/swagger-parser/pull/806#issuecomment-415559341, the timeline for 2.0.3 was given:

hi @douglasbgray the current plan is to release in a couple of weeks.

This might be to late for our 3.3.0 release. So we will use 2.0.3-OpenAPITools.org-1 until the official version is published. => Change made with PR https://github.com/OpenAPITools/openapi-generator/pull/951

jmini commented 5 years ago

I track here the changes we are interested in for a 2.0.6 release.

jmini commented 5 years ago

I track here the changes we are interested in for a 2.0.8 release.