From b05162f60ba13be3f9a520960e8e224e5cb154e9 Mon Sep 17 00:00:00 2001 From: Petri Tuomola Date: Thu, 30 Apr 2020 22:39:46 +0300 Subject: [PATCH] FINERACT-730: Fixed dependencies, SSL config and main class etc to get bootRun to work. Migrated from Gradle Tomcat plugin to Cargo plugin to fix integration test --- Dockerfile | 5 +- README.md | 5 +- docker/server.xml | 7 +- fineract-provider/build.gradle | 86 ++++++++----------- fineract-provider/dependencies.gradle | 36 ++++---- .../common/SchedulerJobHelper.java | 2 +- .../apache/fineract/ServerApplication.java | 32 ++++--- .../EmbeddedTomcatWithSSLConfiguration.java | 10 +-- .../boot/WarWebApplicationInitializer.java | 53 ------------ 9 files changed, 94 insertions(+), 142 deletions(-) delete mode 100644 fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/boot/WarWebApplicationInitializer.java diff --git a/Dockerfile b/Dockerfile index 27f4e688f..b01953a3a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -37,14 +37,15 @@ RUN ./gradlew clean -x rat -x test war # ========================================= -FROM bitnami/tomcat:7.0.94 as fineract +FROM bitnami/tomcat:9.0 as fineract -ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/jre +ENV JAVA_HOME /usr/local/openjdk-8/jre USER root RUN apt-get update -qq && apt-get install -y wget COPY --from=builder /fineract/build/libs/fineract-provider.war /opt/bitnami/tomcat/webapps +COPY --from=builder /usr/local/openjdk-8/jre /usr/local/openjdk-8/jre RUN keytool -genkey -keyalg RSA -alias tomcat -keystore /opt/bitnami/tomcat/tomcat.keystore -keypass xyz123 -storepass xyz123 -noprompt -dname "CN=Fineract, OU=Fineract, O=Fineract, L=Unknown, ST=Unknown, C=Unknown" COPY ./docker/server.xml /opt/bitnami/tomcat/conf diff --git a/README.md b/README.md index 0618a0fa5..cbc630e48 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ Requirements ============ * Java >= 1.8 (Oracle JVMs have been tested) * MySQL 5.5 +* Tomcat 9, if deploying to a separate servlet container. Until FINERACT-730, Tomcat 7/8 were also supported, but now Tomcat 9 is required. You can run the required version of the database server in a container, instead of having to install it, like this: @@ -38,7 +39,7 @@ Instructions how to run for local development Run the following commands: 1. `./gradlew createDB -PdbName=fineract_tenants` 1. `./gradlew createDB -PdbName=fineract_default` -1. `./gradlew tomcatRunWAR` +1. `./gradlew bootRun` Instructions to download gradle wrapper @@ -63,7 +64,7 @@ Instructions to run Apache RAT (Release Audit Tool) Instructions to build a WAR file ============ 1. Extract the archive file to your local directory. -2. Run `./gradlew clean war` or `./gradlew build` to build a deployable war file which will be created at build/libs directory. +2. Run `./gradlew clean bootWar` or `./gradlew build` to build a deployable war file which will be created at build/libs directory. Instructions to execute Integration tests diff --git a/docker/server.xml b/docker/server.xml index 58887b59f..3968e887e 100644 --- a/docker/server.xml +++ b/docker/server.xml @@ -70,7 +70,7 @@ Either JSSE or OpenSSL style configuration may be used regardless of the SSLImplementation selected. JSSE style configuration is used below. --> - - - +