-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
FINERACT-835: Complete work on automatically generating Swagger docs
- Loading branch information
Showing
5 changed files
with
31 additions
and
55,433 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
{ | ||
"openapi" : "3.0.3", | ||
"info": { | ||
"version": "1.4.0", | ||
"title": "Apache Fineract", | ||
"description": "Apache Fineract is a secure, multi-tenanted microfinance platform\n\nThe goal of the Apache Fineract API is to empower developers to build apps on top of the Apache Fineract Platform<br>The [reference app](https://cui.fineract.dev) (username: mifos, password: password) works on the same demo tenant as the interactive links in this documentation\n\n- The API is organized around [REST](https://en.wikipedia.org/wiki/Representational_state_transfer)\n- Find out more about Apache Fineract [here](/fineract-provider/api-docs/apiLive.htm#top)\n- You can [Try The API From Your Browser](/fineract-provider/api-docs/apiLive.htm#interact)\n- The Generic Options are available [here](/fineract-provider/api-docs/apiLive.htm#genopts)\n- Find out more about [Updating Dates and Numbers](/fineract-provider/api-docs/apiLive.htm#dates_and_numbers)\n- For the Authentication and the Basic of HTTP and HTTPS refer [here](/fineract-provider/api-docs/apiLive.htm#authentication_overview)\n- Check about ERROR codes [here](/fineract-provider/api-docs/apiLive.htm#errors)\n\nPlease refer to the [old documentation](/fineract-provider/api-docs/apiLive.htm) for any documentation queries", | ||
"termsOfService": "https://demo.fineract.dev/fineract-provider/api-docs/apiLive.htm", | ||
"contact": { | ||
"email": "[email protected]" | ||
}, | ||
"license": { | ||
"name": "Apache 2.0", | ||
"url": "http://www.apache.org/licenses/LICENSE-2.0.html" | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
acca72f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi! I am working on a project that aims to build a Fineract Client SDK based on Java and Retrofit as mentioned by @vorburger in this comment.
Here is the link to my project.
I am using Swagger Codegen to generate the client SDK. Here is the script that generates the SDK.
Issue
As you can see, the generator script uses an API Specification JSON file which in my case was fineract-provider/src/main/resources/static/swagger-ui/response.json file.
In this commit, this file was deleted so I am unable to proceed with my project.
For temporary purposes, I used the previous commits and copied the response.json file to my personal Github Gist and will use that for now
Can you please let me know what is the plan for the API Specification response.json file?
Is it going to be permanently removed from the project or was it for a temporary purpose?
Thanks in advance!
acca72f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Grandolf49 it sounds like you have effectively started working on FINERACT-838, right? If that is so, could I suggest that you assign that issue to yourself, and we have this discussion over there, instead of here?
BTW I think it's great that you are experimenting with this in https://github.com/Grandolf49/fineract-client, but IMHO ultimately we (you or someone else, we can help!) should make that part of https://github.com/apache/fineract!
The reason that response.json was deleted from Git is FINERACT-835 - does that make sense? It's now generated at build time, as it should (much better). So you now need to
git clone [email protected]:apache/fineract.git
to grab the latest Fineract sources, build it using./gradlew build
, and you'll find it again in./build/classes/java/main/static/swagger-ui/fineract.json
. Alternatively, you could also just grab the latest live version from (my) https://demo.fineract.dev/fineract-provider/swagger-ui/fineract.json server (but only for your quick local testing; the final "real" solution in FINERACT-838 can't do that, but that would have to be properly fully integrated into the Gradle build - eventually).@thesmallstar @ptuomola FYI...
acca72f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi, @vorburger! Yes, it looks like I am effectively working on FINERACT-838. The task of building the Fineract Client SDK is a part of my GSoC 2020 project. @droidchef is mentoring me on this task. Yes, we can have this discussion on Jira but I am unable to assign this issue to myself on Jira (probably because of permissions). Can you help me with this?
Once the process of SDK generation and creating releases is tested on https://github.com/Grandolf49/fineract-client we can move it to official repositories. The plan is to set up CircleCI on this repo and automate releases from CircleCI using Git Tagging. Here are more details on this: https://circleci.com/blog/publishing-to-github-releases-via-circleci/.
Yes, FINERACT-835 makes sense. Even I was wondering response.json should be created in runtime. Great! Thanks for clearing the process of how to generate the spec file in runtime. I'll update the Client Generator Script accordingly.
acca72f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have just granted Contributor permission on the ASF JIRA to a Grandolf49, I hope that's you there as well (there are several other Chinmay Kulkarni in the system).
I would much prefer if, ultimately (easy, step by step) you would make a contribution for this to https://github.com/apache/fineract/ itself, and we would figure out together how release it from there; much better than a separate new repo just for this.
acca72f
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, I have assigned the issue to myself.