| /** |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| |
| dependencies { |
| modules { |
| module("io.swagger.core.v3:swagger-annotations") { |
| replacedBy("io.swagger.core.v3:swagger-annotations-jakarta") |
| } |
| } |
| |
| implementation(project(path: ':fineract-core')) |
| implementation(project(path: ':fineract-accounting')) |
| implementation(project(path: ':fineract-investor')) |
| implementation(project(path: ':fineract-loan')) |
| implementation(project(path: ':fineract-savings')) |
| providedRuntime("org.springframework.boot:spring-boot-starter-tomcat") |
| |
| // Never use "compile" scope, but make all dependencies either 'implementation', 'runtimeOnly' or 'testCompile'. |
| // Note that we never use 'api', because Fineract at least currently is a simple monolithic application ("WAR"), not a library. |
| // We also (normally should have) no need to ever use 'compileOnly'. |
| |
| // implementation dependencies are directly used (compiled against) in src/main (and src/test) |
| // |
| implementation( |
| project(path: ':fineract-avro-schemas') |
| ) |
| implementation( |
| 'org.springframework.boot:spring-boot-starter-web', |
| 'org.springframework.boot:spring-boot-starter-security', |
| 'org.springframework.boot:spring-boot-starter-cache', |
| 'org.springframework.boot:spring-boot-starter-oauth2-resource-server', |
| 'org.springframework.boot:spring-boot-starter-actuator', |
| 'org.springframework.boot:spring-boot-starter-batch', |
| 'org.springframework.batch:spring-batch-integration', |
| 'org.springframework.boot:spring-boot-starter-integration', |
| 'org.springframework.integration:spring-integration-event', |
| 'org.springframework.integration:spring-integration-jms', |
| 'org.springframework.integration:spring-integration-kafka', |
| 'org.springframework.kafka:spring-kafka', |
| |
| 'io.micrometer:micrometer-registry-prometheus', |
| 'io.micrometer:micrometer-registry-otlp', |
| 'io.micrometer:micrometer-registry-cloudwatch2', |
| |
| 'io.awspring.cloud:spring-cloud-aws-starter', |
| |
| 'org.apache.avro:avro', |
| 'jakarta.ws.rs:jakarta.ws.rs-api', |
| 'org.glassfish.jersey.media:jersey-media-multipart', |
| |
| 'org.springframework:spring-jms', |
| 'org.springframework:spring-context-support', |
| |
| 'com.google.guava:guava', |
| 'com.google.code.gson:gson', |
| |
| 'jakarta.jms:jakarta.jms-api', |
| 'jakarta.management.j2ee:jakarta.management.j2ee-api', |
| |
| 'com.squareup.retrofit2:retrofit', |
| 'com.squareup.okhttp3:okhttp', |
| 'com.squareup.okhttp3:okhttp-urlconnection', |
| |
| 'org.apache.commons:commons-lang3', |
| 'commons-io:commons-io', |
| 'org.apache.poi:poi', |
| 'org.apache.poi:poi-ooxml', |
| 'org.apache.tika:tika-core', |
| 'org.apache.tika:tika-parser-microsoft-module', |
| 'org.apache.tika:tika-parser-miscoffice-module', |
| |
| 'org.liquibase:liquibase-core', |
| |
| 'com.github.librepdf:openpdf', |
| 'com.github.spullara.mustache.java:compiler', |
| 'com.jayway.jsonpath:json-path', |
| |
| 'javax.cache:cache-api', |
| |
| 'com.github.spotbugs:spotbugs-annotations', |
| 'io.swagger.core.v3:swagger-annotations-jakarta', |
| |
| 'com.google.cloud.sql:mysql-socket-factory-connector-j-8', |
| 'com.squareup.retrofit2:converter-gson', |
| 'com.sun.activation:jakarta.activation', |
| 'com.sun.mail:jakarta.mail', |
| |
| 'org.springdoc:springdoc-openapi-starter-webmvc-ui', |
| 'org.mapstruct:mapstruct', |
| |
| 'io.github.resilience4j:resilience4j-spring-boot3', |
| ) |
| |
| implementation ('software.amazon.msk:aws-msk-iam-auth:2.0.3') { |
| exclude group: 'commons-logging' |
| } |
| |
| implementation 'io.swagger.core.v3:swagger-jaxrs2-jakarta:2.2.19' |
| |
| implementation ('org.apache.commons:commons-email') { |
| exclude group: 'com.sun.mail', module: 'javax.mail' |
| exclude group: 'javax.activation', module: 'activation' |
| } |
| |
| implementation('org.springframework.boot:spring-boot-starter-jersey') { |
| exclude group: 'org.glassfish.hk2.external', module: 'aopalliance-repackaged' |
| exclude group: 'org.glassfish.hk2', module: 'hk2-runlevel' |
| exclude group: 'org.hibernate.validator', module: 'hibernate-validator' |
| exclude group: 'jakarta.activation', module: 'jakarta.activation-api' |
| } |
| implementation('org.dom4j:dom4j') { |
| exclude group: 'javax.xml.bind' |
| } |
| implementation ('jakarta.xml.bind:jakarta.xml.bind-api') { |
| exclude group: 'jakarta.activation' |
| } |
| implementation ('org.apache.activemq:activemq-client-jakarta') { |
| exclude group: 'org.apache.geronimo.specs' |
| exclude group: 'javax.annotation', module: 'javax.annotation-api' |
| } |
| implementation ('org.springframework.boot:spring-boot-starter-data-jpa') { |
| exclude group: 'org.hibernate' |
| } |
| implementation('org.eclipse.persistence:org.eclipse.persistence.jpa') { |
| exclude group: 'org.eclipse.persistence', module: 'jakarta.persistence' |
| } |
| implementation ('org.quartz-scheduler:quartz') { |
| exclude group: 'com.zaxxer', module: 'HikariCP-java7' |
| } |
| implementation('org.apache.commons:commons-csv'){} |
| implementation ('software.amazon.awssdk:s3') { |
| } |
| implementation ('software.amazon.awssdk:auth') { |
| } |
| |
| implementation ('org.mnode.ical4j:ical4j') { |
| exclude group: 'commons-logging' |
| exclude group: 'javax.activation' |
| exclude group: 'com.sun.mail', module: 'javax.mail' |
| } |
| |
| implementation ('org.ehcache:ehcache') { |
| exclude group: 'com.sun.activation' |
| } |
| |
| implementation('org.owasp.esapi:esapi') { |
| exclude group: 'org.slf4j' |
| exclude group: 'log4j' |
| exclude group: 'commons-logging' |
| exclude group: 'commons-collections' |
| exclude group: 'commons-lang' |
| exclude group: 'spotbugs-annotations' |
| exclude group: 'xml-apis' |
| } |
| |
| runtimeOnly('org.glassfish.jaxb:jaxb-runtime') { |
| exclude group: 'com.sun.activation' |
| } |
| |
| // runtimeOnly dependencies are things that Fineract code has no direct compile time dependency on, but which must be present at run-time |
| runtimeOnly( |
| 'org.apache.bval:org.apache.bval.bundle', |
| |
| // Although fineract (at the time of writing) doesn't have any compile time dep. on httpclient, |
| // it's useful to have this for the Spring Boot TestRestTemplate http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-features-rest-templates-test-utility |
| 'org.apache.httpcomponents:httpclient' |
| ) |
| |
| compileOnly 'org.projectlombok:lombok' |
| annotationProcessor 'org.projectlombok:lombok' |
| annotationProcessor 'org.mapstruct:mapstruct-processor' |
| |
| implementation 'ch.qos.logback.contrib:logback-json-classic' |
| implementation 'ch.qos.logback.contrib:logback-jackson' |
| implementation 'org.codehaus.janino:janino' |
| |
| implementation 'org.apache.commons:commons-math3' |
| |
| implementation 'io.github.classgraph:classgraph' |
| |
| // testCompile dependencies are ONLY used in src/test, not src/main. |
| // Do NOT repeat dependencies which are ALREADY in implementation or runtimeOnly! |
| // |
| testImplementation( 'io.cucumber:cucumber-spring', |
| 'io.github.classgraph:classgraph', |
| 'io.cucumber:cucumber-core', |
| 'io.cucumber:cucumber-java', |
| 'io.cucumber:cucumber-java8', |
| 'io.cucumber:cucumber-junit-platform-engine', |
| ) |
| testImplementation ('org.springframework.boot:spring-boot-starter-test') { |
| exclude group: 'com.jayway.jsonpath', module: 'json-path' |
| exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' |
| exclude group: 'jakarta.activation' |
| exclude group: 'javax.activation' |
| exclude group: 'org.skyscreamer' |
| } |
| testImplementation ('org.mockito:mockito-inline') |
| } |