Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Eiffel] Add Eiffel API client generator #6036

Merged
merged 14 commits into from
Jul 13, 2017
Merged

[Eiffel] Add Eiffel API client generator #6036

merged 14 commits into from
Jul 13, 2017

Conversation

jvelilla
Copy link
Contributor

@jvelilla jvelilla commented Jul 12, 2017

PR checklist

  • Read the contribution guidelines.
  • Ran the shell/batch script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh and ./bin/security/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates)
  • Filed the PR against the correct branch: master for non-breaking changes and 2.3.0 branch for breaking (non-backward compatible) changes.

Description of the PR

Initial code of a functional Eiffel API client code generator, which has been tested with Petstore.
There are still some features pending to be added, for example, improve unit tests and more.

TODO API and Domain model
Added mustaches templates for models and apis.
The last one still under development.
Added client request template.
Added test case generation, clean code.
Updated API client to support by default a basic json (de)serializer and let
the user customize then if needed.
Updated templates to follow Eiffel style.
Improved feature descriptions.
Removed unused code.
Added Eiffel sample in samples/client/petstore/eiffel.
Added TestCases for EfiffelClientOption and ModelTest cases.
Updated sample code to use the lastest changes.
@@ -56,8 +56,7 @@ public GoClientCodegen() {
"case", "defer", "go", "map", "struct",
"chan", "else", "goto", "package", "switch",
"const", "fallthrough", "if", "range", "type",
"continue", "for", "import", "return", "var", "error", "ApiResponse",
"nil")
"continue", "for", "import", "return", "var", "error", "ApiResponse")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jvelilla did you intend to remove "nil" as a keyword in Go client generator?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@wing328 no, It's my fault I was using that code to get inspired and write the Eiffel one.
I will fix it ASAP.
Thanks

@wing328
Copy link
Contributor

wing328 commented Jul 13, 2017

@jvelilla overall it looks good. I'll create a separate ticket to track several enhancements that I can think of.

@wing328 wing328 merged commit 9f711ae into swagger-api:master Jul 13, 2017
@jvelilla jvelilla deleted the swagger-eiffel branch July 13, 2017 18:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants