clean up dependencies.gradle and clarify scopes (FINERACT-777)

This also solves this Gradle messages:  Deprecated Gradle features were
used in this build, making it incompatible with Gradle 7.0. Use
'--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.4/userguide/command_line_interface.html#sec:command_line_warnings
This commit is contained in:
Michael Vorburger
2020-05-09 05:47:13 +02:00
committed by Michael Vorburger ⛑️
parent 6c3598535b
commit fa74e77e7e
2 changed files with 52 additions and 63 deletions
+1 -1
View File
@@ -495,7 +495,7 @@ sourceSets {
} }
configurations { configurations {
integrationTestCompile.extendsFrom testCompile integrationTestCompile.extendsFrom testImplementation
integrationTestRuntime.extendsFrom testRuntime integrationTestRuntime.extendsFrom testRuntime
} }
+51 -62
View File
@@ -21,47 +21,20 @@ dependencies {
spotbugsPlugins "jp.skypencil.findbugs.slf4j:bug-pattern:1.4.2@jar" spotbugsPlugins "jp.skypencil.findbugs.slf4j:bug-pattern:1.4.2@jar"
compile ('org.springframework.boot:spring-boot-starter-data-jpa') { // Never use "compile" scope, but make all dependencies either 'implementation', 'runtimeOnly' or 'testCompile'.
exclude group: 'org.hibernate' // 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'.
compile ('com.amazonaws:aws-java-sdk-s3') {
exclude group: 'commons-logging'
}
compile ('org.mnode.ical4j:ical4j') {
exclude group: 'commons-logging'
}
api(
'com.google.code.gson:gson',
'org.springframework:spring-jms',
'joda-time:joda-time',
'com.google.guava:guava',
'org.springframework:spring-context-support',
'org.springframework.security.oauth:spring-security-oauth2',
'com.sun.jersey:jersey-core',
'com.squareup.retrofit:retrofit',
'jakarta.jms:jakarta.jms-api',
'jakarta.management.j2ee:jakarta.management.j2ee-api'
)
api ('org.apache.openjpa:openjpa') {
exclude group: 'org.eclipse.persistence'
exclude group: 'org.apache.geronimo.specs'
}
api('org.quartz-scheduler:quartz') {
exclude group: 'com.zaxxer', module: 'HikariCP-java7'
}
// implementation dependencies are directly used (compiled against) in src/main (and src/test)
//
implementation( implementation(
//'ch.vorburger.mariaDB4j:mariaDB4j:2.4.0', //'ch.vorburger.mariaDB4j:mariaDB4j:2.4.0',
'org.springframework.boot:spring-boot-starter-web', 'org.springframework.boot:spring-boot-starter-web',
'org.springframework.boot:spring-boot-starter-security', 'org.springframework.boot:spring-boot-starter-security',
'org.springframework.boot:spring-boot-starter-actuator',
'org.springframework:spring-jms',
'org.springframework:spring-context-support',
'org.springframework.security.oauth:spring-security-oauth2', 'org.springframework.security.oauth:spring-security-oauth2',
'com.sun.jersey:jersey-servlet', 'com.sun.jersey:jersey-servlet',
@@ -70,6 +43,13 @@ dependencies {
'com.sun.jersey.contribs:jersey-spring', 'com.sun.jersey.contribs:jersey-spring',
'com.sun.jersey.contribs:jersey-multipart', 'com.sun.jersey.contribs:jersey-multipart',
'joda-time:joda-time',
'com.google.guava:guava',
'com.google.code.gson:gson',
'com.sun.jersey:jersey-core',
'com.squareup.retrofit:retrofit',
'jakarta.jms:jakarta.jms-api',
'jakarta.management.j2ee:jakarta.management.j2ee-api',
'com.squareup.okhttp:okhttp', 'com.squareup.okhttp:okhttp',
'com.squareup.okhttp:okhttp-urlconnection', 'com.squareup.okhttp:okhttp-urlconnection',
@@ -77,32 +57,22 @@ dependencies {
'org.apache.commons:commons-email', 'org.apache.commons:commons-email',
'org.apache.commons:commons-lang3', 'org.apache.commons:commons-lang3',
'org.apache.commons:commons-io', 'org.apache.commons:commons-io',
'org.drizzle.jdbc:drizzle-jdbc',
'org.apache.poi:poi', 'org.apache.poi:poi',
'org.apache.poi:poi-ooxml', 'org.apache.poi:poi-ooxml',
'org.apache.poi:poi-ooxml-schemas', 'org.apache.poi:poi-ooxml-schemas',
'org.apache.tika:tika-core',
'com.lowagie:itext', 'org.drizzle.jdbc:drizzle-jdbc',
'com.googlecode.flyway:flyway-core', 'com.googlecode.flyway:flyway-core',
'net.sf.ehcache:ehcache', 'net.sf.ehcache:ehcache',
'com.lowagie:itext',
'com.github.spullara.mustache.java:compiler', 'com.github.spullara.mustache.java:compiler',
'com.jayway.jsonpath:json-path', 'com.jayway.jsonpath:json-path',
'org.apache.tika:tika-core',
// Although fineract (at the time of writing) doesn't have any compile time dep. on this,
// 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',
'org.apache.bval:org.apache.bval.bundle',
// JAX-B dependencies for JDK 9+ // JAX-B dependencies for JDK 9+
"jakarta.xml.bind:jakarta.xml.bind-api", "jakarta.xml.bind:jakarta.xml.bind-api",
"org.dom4j:dom4j" "org.dom4j:dom4j"
) )
implementation ('io.swagger:swagger-jersey-jaxrs') { implementation ('io.swagger:swagger-jersey-jaxrs') {
exclude group: 'javax.validation' exclude group: 'javax.validation'
@@ -110,30 +80,49 @@ dependencies {
implementation ('org.apache.activemq:activemq-broker') { implementation ('org.apache.activemq:activemq-broker') {
exclude group: 'org.apache.geronimo.specs' exclude group: 'org.apache.geronimo.specs'
} }
implementation ('org.springframework.boot:spring-boot-starter-data-jpa') {
exclude group: 'org.hibernate'
}
implementation ('org.apache.openjpa:openjpa') {
exclude group: 'org.eclipse.persistence'
exclude group: 'org.apache.geronimo.specs'
}
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'
}
testCompile 'junit:junit', // 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',
'org.springframework.boot:spring-boot-starter-actuator',
// 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',
)
// testCompile dependencies are ONLY used in src/test and/or src/integrationTest, not src/main.
// Do NOT repeat dependencies which are ALREADY in implementation or runtimeOnly!
//
testImplementation( 'junit:junit',
'org.junit.platform:junit-platform-runner', // FINERACT-943 'org.junit.platform:junit-platform-runner', // FINERACT-943
'org.mockito:mockito-core', 'org.mockito:mockito-core',
'io.github.classgraph:classgraph', 'io.github.classgraph:classgraph',
'com.google.code.gson:gson', )
'org.springframework:spring-jms', testImplementation ('io.rest-assured:rest-assured') {
'joda-time:joda-time',
'com.google.guava:guava',
'org.apache.poi:poi-ooxml',
'org.springframework:spring-context-support',
'com.sun.jersey:jersey-core'
testCompile ('io.rest-assured:rest-assured') {
exclude group: 'commons-logging' exclude group: 'commons-logging'
exclude group: 'org.apache.sling' exclude group: 'org.apache.sling'
} }
testCompile ('com.mockrunner:mockrunner-jms') { testImplementation ('com.mockrunner:mockrunner-jms') {
exclude group: 'regexp' exclude group: 'regexp'
} }
testCompile ('org.springframework.boot:spring-boot-starter-test') { testImplementation ('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'com.jayway.jsonpath', module: 'json-path' exclude group: 'com.jayway.jsonpath', module: 'json-path'
} }
testCompile ('org.mnode.ical4j:ical4j') {
exclude group: 'commons-logging'
}
} }