[ 
https://issues.apache.org/jira/browse/FINERACT-1189?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17211775#comment-17211775
 ] 

Chinmay Kulkarni commented on FINERACT-1189:
--------------------------------------------

[~vorburger] I'm not sure if we should add the generated code as a module. 
Swagger Codegen is designed to generate a client library which is in itself a 
complete project and should ideally be published to a separate repository.

To address this and FINERACT-1102 I had the following way in my mind (Your 
feedback is welcome! :)) The aim is to automate a few things but still some 
manual work is required.

***Constraints:*
 # Generated code should be in sync with the latest build of Apache Fineract
 # Along with further releases of Apache Fineract, Fineract Client Library 
should be available for the previous releases also. (If anyone is using 
previous versions of Fineract, at lease some version of the client library must 
support that)
 # Development of Apache Fineract and Fineract Client Library may NOT be 
tightly coupled. Means fineract client library release a patch even if any 
release of apache finerect is not currently planned. This will be helpful in 
cases where some issue in Client Library needs to be addressed on priority but 
the users have to wait until next version of fineract is released.

*Solution:*
 # Create a separate repository to host the generated code. The purpose of this 
(new) repository would be just for creating releases.
 # If at all the client library needs some manual changes which are not 
possible with Mustache Templates, this repository will help us achieve that.
 # Whenever any commit is pushed to Apache Fineract, we would configure 
TravisCI to:
 ## Generate the client library with new code
 ## Push this generated code to the new repository (This has some pros and cons 
as well)
 # We would also configure Finreact Project such that whenever we release a 
version of Fineract, a version of Fineract Client is also released along with 
it.
 # If any issue arises in the client library, users won;t have to wait until 
the next release of Apache Fineract. We would fix the issue and push the code 
to new repository.

We can discuss more on additional constraints and come up with a better 
solution for this. I know this might not be the best way to do it but this is 
what I could come up with.

[~vorburger] [~aleks] Would love your feedbacks on this!

> fineract-client as separate module
> ----------------------------------
>
>                 Key: FINERACT-1189
>                 URL: https://issues.apache.org/jira/browse/FINERACT-1189
>             Project: Apache Fineract
>          Issue Type: Sub-task
>            Reporter: Michael Vorburger
>            Assignee: Aleksandar Vidakovic
>            Priority: Major
>
> Would it be possible to extract JUST the work related to making 
> fineract-client as separate module from 
> [https://github.com/apache/fineract/compare/develop...vidakovic:feature/FINERACT-1171]?
> In terms of logical sequencing, perhaps this would be simplest to do after 
> FINERACT-1188, with fineract-client as the 1st of more to come modules, but 
> not yet including fineract-api and fineract-doc?
> I imagine that this would help with later making FINERACT-1102 possible?
> If it's possible, it's perhaps easier if you do not yet include any 
> improvements to fineract-client - JUST the build changes, and then raise a 
> separate PR after for changes such as adding 
> src/main/templates/java/retrofit2/CollectionFormats.mustache and all those 
> things? Create a separate JIRA, as a subtask here or standalone Improvement, 
> about whatever all those changes are required for.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to