Hi everyone! I created a new thread for Spring Boot 2 update in Fineract-Cn as it is a large topic on its own. I understand Rohit would be willing to work on this as in the fork of his team they have already managed to update the versions to Spring Boot 2.2 and to Spring 5.
I try to help along the way and hopefully this thread will be a good reference for the future how to get such big changes done without affecting the current version until everything is completed and tested. The issue is already there in Jira: https://issues.apache.org/jira/browse/FINCN-172 (Apache projects don't use Github issues). Rohit, please create a user to that system and assign the issue to yourself. I think the first goal would be to get fineract-cn-identity running on new Spring Boot version 2.2 since Identity doesn't depend on any other fineract project (it only depends on libraries). Once we have accomplished that then getting rest of the services moved is mostly just a lot of copy-paste work. For this we have to include in the spring boot update the list of Fineract libraries Identity depends on. These are (taken from fineract-cn-identity/shared.gradle): frameworkcrypto : '0.1.0-BUILD-SNAPSHOT', frameworkanubis : '0.1.0-BUILD-SNAPSHOT', frameworkapi : '0.1.0-BUILD-SNAPSHOT', frameworktest : '0.1.0-BUILD-SNAPSHOT', frameworklang : '0.1.0-BUILD-SNAPSHOT', frameworkasync : '0.1.0-BUILD-SNAPSHOT', frameworkcassandra : '0.1.0-BUILD-SNAPSHOT', frameworkcommand : '0.1.0-BUILD-SNAPSHOT', But if we just update those libraries then it would break everything that is currently working. For this I created branch "spring_boot_2" for each of the libraries and declared their version to be "spring_boot_2-SNAPSHOT". For example: https://github.com/apache/fineract-cn-lang/blob/spring_boot_2/build.gradle#L51 So if we push something to branch "spring_boot_2" in apache/fineract-cn-lang then the artifact that is built and deployed by travis-ch will have verison number "spring_boot_2-SNAPSHOT". And 0.1.0-BUILD-SNAPSHOT remains unaffected. So I did that and now you see that the fineract-cn-identity in branch "spring_boot_2" depends on these versions: https://github.com/apache/fineract-cn-identity/blob/spring_boot_2/shared.gradle#L19 Rohit. As step #2 please make sure you get Idenity woring with Spring Boot 2 and create pull requests to all of the needed libraries Identity depends + a pull request to Identity itself and please make your pull requests point branch "spring_boot_2" (and not "develop"): In order not to send your other changes, please frirst create clean branches to all of your local forks (or even better - create new forks under your personal github name for this). I know creating all these pull requests is pain (and also they depend on each other so some of the pull request builds won't pass at first - ignore that). There is a cure for that but please bare with me on this one and once this is luckily done we might find a way where you can push code directly. Kind regards Juhan