172 lines
6.9 KiB
Groovy
172 lines
6.9 KiB
Groovy
/**
|
|
* 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 {
|
|
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(
|
|
'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.glassfish.jersey.media:jersey-media-multipart:2.36',
|
|
|
|
'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.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',
|
|
|
|
'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-ui',
|
|
'org.springdoc:springdoc-openapi-common',
|
|
'org.springdoc:springdoc-openapi-security',
|
|
'org.mapstruct:mapstruct',
|
|
)
|
|
|
|
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-broker') {
|
|
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 ('com.amazonaws:aws-java-sdk-s3') {
|
|
exclude group: 'commons-logging'
|
|
}
|
|
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'
|
|
}
|
|
|
|
implementation ('org.springframework.boot:spring-boot-starter-batch') {
|
|
}
|
|
|
|
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'
|
|
|
|
// 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',
|
|
project(':module:dummy:core'),
|
|
project(':module:dummy:service'),
|
|
project(':module:dummy:starter'),
|
|
project(':custom:foo:service'),
|
|
)
|
|
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:4.6.1')
|
|
|
|
}
|