Merge pull request #22 from muellners/spring_boot_2

update to spring boot 2
diff --git a/.gitignore b/.gitignore
index 5b0038d..f6b73a8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,6 +2,10 @@
 .idea
 build/
 target/
+.classpath
+.project
+.settings
+bin
 
 api/out/
 component-test/out/
diff --git a/api/build.gradle b/api/build.gradle
index 9a4d584..be2e6cb 100644
--- a/api/build.gradle
+++ b/api/build.gradle
@@ -21,17 +21,16 @@
     }
 
     dependencies {
-        classpath 'io.spring.gradle:dependency-management-plugin:1.0.8.RELEASE'
         classpath 'nl.javadude.gradle.plugins:license-gradle-plugin:0.10.0'
         classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6'
     }
 }
 
 plugins {
-    id 'com.github.hierynomus.license' version '0.13.1'
-    id("org.nosphere.apache.rat") version "0.5.2"
-    id "com.jfrog.artifactory" version "4.9.5"
-    id "io.spring.dependency-management" version "1.0.8.RELEASE"
+    id 'com.github.hierynomus.license' version '0.15.0'
+    id 'org.nosphere.apache.rat' version '0.6.0'
+    id 'com.jfrog.artifactory' version '4.15.1'
+    id "io.spring.dependency-management" version "1.0.9.RELEASE"
     id 'maven-publish'
     id 'java'
 }
@@ -40,7 +39,7 @@
 
 dependencies {
     compile(
-            [group: 'org.springframework.cloud', name: 'spring-cloud-starter-feign'],
+            [group: 'org.springframework.cloud', name: 'spring-cloud-starter-openfeign'],
             [group: 'org.apache.fineract.cn', name: 'api', version: versions.frameworkapi],
             [group: 'org.hibernate', name: 'hibernate-validator', version: versions.validator],
             [group: 'org.hibernate', name: 'hibernate-validator-annotation-processor', version: versions.validator]
@@ -51,7 +50,9 @@
     )
 }
 
-
+jar {
+    enabled = true
+}
 
 publishing {
     publications {
diff --git a/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/CaseDocumentsManager.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/CaseDocumentsManager.java
index b4f3655..22b9c8e 100644
--- a/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/CaseDocumentsManager.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/CaseDocumentsManager.java
@@ -20,7 +20,7 @@
 
 import org.apache.fineract.cn.individuallending.api.v1.domain.caseinstance.CaseCustomerDocuments;
 import org.apache.fineract.cn.api.util.CustomFeignClientsConfiguration;
-import org.springframework.cloud.netflix.feign.FeignClient;
+import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
diff --git a/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/IndividualLending.java b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/IndividualLending.java
index 1c578e7..8357e8c 100644
--- a/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/IndividualLending.java
+++ b/api/src/main/java/org/apache/fineract/cn/individuallending/api/v1/client/IndividualLending.java
@@ -25,7 +25,7 @@
 import org.apache.fineract.cn.portfolio.api.v1.domain.CasePage;
 import java.util.stream.Stream;
 import org.apache.fineract.cn.api.util.CustomFeignClientsConfiguration;
-import org.springframework.cloud.netflix.feign.FeignClient;
+import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestBody;
diff --git a/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/PortfolioManager.java b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/PortfolioManager.java
index cc78099..6161455 100644
--- a/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/PortfolioManager.java
+++ b/api/src/main/java/org/apache/fineract/cn/portfolio/api/v1/client/PortfolioManager.java
@@ -39,7 +39,7 @@
 import java.util.Set;
 import org.apache.fineract.cn.api.annotation.ThrowsException;
 import org.apache.fineract.cn.api.util.CustomFeignClientsConfiguration;
-import org.springframework.cloud.netflix.feign.FeignClient;
+import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.PathVariable;
diff --git a/component-test/build.gradle b/component-test/build.gradle
index bcae4a9..500a378 100644
--- a/component-test/build.gradle
+++ b/component-test/build.gradle
@@ -30,10 +30,11 @@
 }
 
 plugins {
-    id 'com.github.hierynomus.license' version '0.13.1'
-    id("org.nosphere.apache.rat") version "0.5.2"
-    id "com.jfrog.artifactory" version "4.9.5"
-    id "org.springframework.boot" version "1.4.3.RELEASE"
+    id 'com.github.hierynomus.license' version '0.15.0'
+    id 'org.nosphere.apache.rat' version '0.6.0'
+    id 'com.jfrog.artifactory' version '4.15.1'
+    id "io.spring.dependency-management" version "1.0.9.RELEASE"
+    id 'org.springframework.boot' version '2.2.6.RELEASE'
     id 'maven-publish'
     id 'java'
 }
@@ -43,7 +44,7 @@
 apply plugin: 'org.asciidoctor.convert'
 
 
-bootRepackage {
+bootJar {
     enabled = false
 }
 
@@ -72,6 +73,10 @@
                 'snippets': file('build/doc/generated-snippets/')
 }
 
+jar {
+    enabled = true
+}
+
 publishing {
     publications {
         mavenJava(MavenPublication) {
diff --git a/component-test/src/main/java/org/apache/fineract/cn/portfolio/AbstractPortfolioTest.java b/component-test/src/main/java/org/apache/fineract/cn/portfolio/AbstractPortfolioTest.java
index 5b4e472..c2e7183 100644
--- a/component-test/src/main/java/org/apache/fineract/cn/portfolio/AbstractPortfolioTest.java
+++ b/component-test/src/main/java/org/apache/fineract/cn/portfolio/AbstractPortfolioTest.java
@@ -77,7 +77,7 @@
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.boot.test.mock.mockito.SpyBean;
-import org.springframework.cloud.netflix.feign.EnableFeignClients;
+import org.springframework.cloud.openfeign.EnableFeignClients;
 import org.springframework.cloud.netflix.ribbon.RibbonClient;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 290541c..a4b4429 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-bin.zip
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
diff --git a/service/build.gradle b/service/build.gradle
index b30cd09..b53ce28 100644
--- a/service/build.gradle
+++ b/service/build.gradle
@@ -17,7 +17,7 @@
 
 buildscript {
     ext {
-        springBootVersion = '1.4.1.RELEASE'
+        springBootVersion = '2.2.6.RELEASE'
     }
     repositories {
         jcenter()
@@ -25,10 +25,11 @@
 }
 
 plugins {
-    id 'com.github.hierynomus.license' version '0.13.1'
-    id("org.nosphere.apache.rat") version "0.5.2"
-    id "com.jfrog.artifactory" version "4.9.5"
-    id "org.springframework.boot" version "1.4.3.RELEASE"
+    id 'com.github.hierynomus.license' version '0.15.0'
+    id 'org.nosphere.apache.rat' version '0.6.0'
+    id 'com.jfrog.artifactory' version '4.15.1'
+    id "io.spring.dependency-management" version "1.0.9.RELEASE"
+    id 'org.springframework.boot' version '2.2.6.RELEASE'
     id 'maven-publish'
     id 'java'
     id 'idea'
@@ -36,7 +37,7 @@
 
 apply from: '../shared.gradle'
 
-bootRepackage {
+bootJar {
     enabled = true
     classifier = 'boot'
 }
@@ -44,7 +45,7 @@
 dependencies {
     compile(
             [group: 'org.springframework.cloud', name: 'spring-cloud-starter-config'],
-            [group: 'org.springframework.cloud', name: 'spring-cloud-starter-eureka'],
+            [group: 'org.springframework.cloud', name: 'spring-cloud-starter-netflix-eureka-client'],
             [group: 'org.springframework.cloud', name: 'spring-cloud-spring-service-connector'],
             [group: 'org.springframework.boot', name: 'spring-boot-starter-jetty'],
             [group: 'org.apache.fineract.cn.portfolio', name: 'api', version: project.version],
@@ -67,8 +68,12 @@
     )
 }
 
+jar {
+    enabled = true
+}
+
 tasks.withType(PublishToMavenLocal) { task ->
-    task.dependsOn 'bootRepackage'
+    task.dependsOn 'bootJar'
 }
 
 publishing {
@@ -81,7 +86,7 @@
         }
         bootService(MavenPublication) {
             // "boot" jar
-            artifact(file("$buildDir/libs/$project.name-$project.version-${bootRepackage.classifier}.jar"))
+            artifact(file("$buildDir/libs/$project.name-$project.version-${bootJar.classifier}.jar"))
             groupId project.group
             artifactId ("$project.name-boot")
             version project.findProperty('externalVersion') ?: project.version
diff --git a/service/src/main/java/org/apache/fineract/cn/portfolio/service/config/PortfolioServiceConfiguration.java b/service/src/main/java/org/apache/fineract/cn/portfolio/service/config/PortfolioServiceConfiguration.java
index 1620ab8..d21ead0 100644
--- a/service/src/main/java/org/apache/fineract/cn/portfolio/service/config/PortfolioServiceConfiguration.java
+++ b/service/src/main/java/org/apache/fineract/cn/portfolio/service/config/PortfolioServiceConfiguration.java
@@ -37,7 +37,7 @@
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 import org.springframework.boot.autoconfigure.domain.EntityScan;
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
-import org.springframework.cloud.netflix.feign.EnableFeignClients;
+import org.springframework.cloud.openfeign.EnableFeignClients;
 import org.springframework.cloud.netflix.ribbon.RibbonClient;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
diff --git a/shared.gradle b/shared.gradle
index fda6cd4..e068476 100644
--- a/shared.gradle
+++ b/shared.gradle
@@ -16,21 +16,21 @@
  */
 
 group 'org.apache.fineract.cn.portfolio'
-version '0.1.0-BUILD-SNAPSHOT'
+version 'spring_boot_2-SNAPSHOT'
 
 ext.versions = [
-        frameworkanubis      : '0.1.0-BUILD-SNAPSHOT',
-        frameworkapi         : '0.1.0-BUILD-SNAPSHOT',
-        frameworklang        : '0.1.0-BUILD-SNAPSHOT',
-        frameworkpostgresql  : '0.1.0-BUILD-SNAPSHOT',
-        frameworkcassandra   : '0.1.0-BUILD-SNAPSHOT',
-        frameworkcommand     : '0.1.0-BUILD-SNAPSHOT',
-        frameworktest        : '0.1.0-BUILD-SNAPSHOT',
-        frameworkasync       : '0.1.0-BUILD-SNAPSHOT',
-        fineractcnaccounting : '0.1.0-BUILD-SNAPSHOT',
-        fineractcnrhythm     : '0.1.0-BUILD-SNAPSHOT',
-        fineractcncustomer   : '0.1.0-BUILD-SNAPSHOT',
-        validator            : '5.3.0.Final',
+        frameworkanubis      : 'spring_boot_2-SNAPSHOT',
+        frameworkapi         : 'spring_boot_2-SNAPSHOT',
+        frameworklang        : 'spring_boot_2-SNAPSHOT',
+        frameworkpostgresql  : 'spring_boot_2-SNAPSHOT',
+        frameworkcassandra   : 'spring_boot_2-SNAPSHOT',
+        frameworkcommand     : 'spring_boot_2-SNAPSHOT',
+        frameworktest        : 'spring_boot_2-SNAPSHOT',
+        frameworkasync       : 'spring_boot_2-SNAPSHOT',
+        fineractcnaccounting : 'spring_boot_2-SNAPSHOT',
+        fineractcnrhythm     : 'spring_boot_2-SNAPSHOT',
+        fineractcncustomer   : 'spring_boot_2-SNAPSHOT',
+        validator            : '6.1.4.Final',
         javamoneylib         : '0.9-SNAPSHOT',
         expiringmap          : '0.5.8'
 ]
@@ -62,7 +62,7 @@
 dependencies {
     compile(
             [group: 'com.google.code.findbugs', name: 'jsr305'],
-            [group: 'org.apache.fineract.cn', name: 'postgresql', version: '0.1.0-BUILD-SNAPSHOT']
+            [group: 'org.apache.fineract.cn', name: 'postgresql', version: 'spring_boot_2-SNAPSHOT']
     )
 
     testCompile(
@@ -115,6 +115,10 @@
             "**/build/**",
             "gradlew",
             "gradlew.bat",
-            "README.md"
+            "README.md",
+            ".classpath",
+            ".project",
+            ".settings/**",
+            "**/bin/**"
     ]
 }