diff --git a/build.gradle b/build.gradle index 645fab84b9f..e26ef48673a 100644 --- a/build.gradle +++ b/build.gradle @@ -108,6 +108,7 @@ plugins { id 'se.thinkcode.cucumber-runner' version '0.0.11' apply false id "com.github.davidmc24.gradle.plugin.avro-base" version "1.9.1" apply false id 'org.openapi.generator' version '7.8.0' apply false + id 'io.freefair.lombok' version '8.4' apply false } apply from: "${rootDir}/buildSrc/src/main/groovy/org.apache.fineract.release.gradle" diff --git a/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle b/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle index 2e4b1c5a479..d6225b8fa42 100644 --- a/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle +++ b/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle @@ -154,7 +154,8 @@ dependencyManagement { dependency "io.gsonfire:gson-fire:1.9.0" dependency "com.google.code.findbugs:jsr305:3.0.2" dependency "commons-codec:commons-codec:1.17.1" - dependency "org.projectlombok:lombok:1.18.34" + // Lombok is now managed by the Lombok Gradle plugin + dependency 'org.projectlombok:lombok:1.18.30' dependency 'org.bouncycastle:bcpkix-jdk15to18:1.79' dependency 'org.bouncycastle:bcprov-jdk15to18:1.79' diff --git a/custom/acme/event/externalevent/build.gradle b/custom/acme/event/externalevent/build.gradle index bb703fb8a34..20869e1fefe 100644 --- a/custom/acme/event/externalevent/build.gradle +++ b/custom/acme/event/externalevent/build.gradle @@ -16,10 +16,27 @@ * specific language governing permissions and limitations * under the License. */ -description = 'ACME Corp.: Fineract external events' +description = 'Fineract Custom ACME Event External Event' group = 'com.acme.fineract.event' archivesBaseName = 'acme-fineract-event-externalevent' apply from: 'dependencies.gradle' + +apply plugin: 'java' +apply plugin: 'org.springframework.boot' +apply plugin: 'io.freefair.lombok' + +dependencies { + implementation( + project(':fineract-core'), + project(':custom:acme:event:starter') + ) + + testImplementation( + 'org.junit.jupiter:junit-jupiter', + 'org.mockito:mockito-core', + 'org.mockito:mockito-junit-jupiter' + ) +} diff --git a/custom/acme/loan/cob/build.gradle b/custom/acme/loan/cob/build.gradle index 04ca760dcc3..381b71a6627 100644 --- a/custom/acme/loan/cob/build.gradle +++ b/custom/acme/loan/cob/build.gradle @@ -16,10 +16,28 @@ * specific language governing permissions and limitations * under the License. */ -description = 'ACME Corp.: Fineract COB Loan' +description = 'Fineract Custom ACME Loan COB' group = 'com.acme.fineract' archivesBaseName = 'acme-fineract-loan-cob' apply from: 'dependencies.gradle' + +apply plugin: 'java' +apply plugin: 'org.springframework.boot' +apply plugin: 'io.freefair.lombok' + +dependencies { + implementation( + project(':fineract-core'), + project(':fineract-loan'), + project(':custom:acme:loan:starter') + ) + + testImplementation( + 'org.junit.jupiter:junit-jupiter', + 'org.mockito:mockito-core', + 'org.mockito:mockito-junit-jupiter' + ) +} diff --git a/custom/acme/loan/job/build.gradle b/custom/acme/loan/job/build.gradle index 235711ad777..35f713795da 100644 --- a/custom/acme/loan/job/build.gradle +++ b/custom/acme/loan/job/build.gradle @@ -16,10 +16,28 @@ * specific language governing permissions and limitations * under the License. */ -description = 'ACME Corp.: Fineract Loan Job' +description = 'Fineract Custom ACME Loan Job' group = 'com.acme.fineract' archivesBaseName = 'acme-fineract-loan-job' +apply plugin: 'java' +apply plugin: 'org.springframework.boot' +apply plugin: 'io.freefair.lombok' + +dependencies { + implementation( + project(':fineract-core'), + project(':fineract-loan'), + project(':custom:acme:loan:starter') + ) + + testImplementation( + 'org.junit.jupiter:junit-jupiter', + 'org.mockito:mockito-core', + 'org.mockito:mockito-junit-jupiter' + ) +} + apply from: 'dependencies.gradle' diff --git a/custom/acme/loan/processor/build.gradle b/custom/acme/loan/processor/build.gradle index c693255c9aa..6350ffb6d1b 100644 --- a/custom/acme/loan/processor/build.gradle +++ b/custom/acme/loan/processor/build.gradle @@ -16,10 +16,28 @@ * specific language governing permissions and limitations * under the License. */ -description = 'ACME Corp.: Fineract Loan Transaction Processors' +description = 'Fineract Custom ACME Loan Processor' group = 'com.acme.fineract' archivesBaseName = 'acme-fineract-loan-processor' apply from: 'dependencies.gradle' + +apply plugin: 'java' +apply plugin: 'org.springframework.boot' +apply plugin: 'io.freefair.lombok' + +dependencies { + implementation( + project(':fineract-core'), + project(':fineract-loan'), + project(':custom:acme:loan:starter') + ) + + testImplementation( + 'org.junit.jupiter:junit-jupiter', + 'org.mockito:mockito-core', + 'org.mockito:mockito-junit-jupiter' + ) +} diff --git a/custom/acme/loan/starter/build.gradle b/custom/acme/loan/starter/build.gradle index 8620f5bfdc3..433eb765c35 100644 --- a/custom/acme/loan/starter/build.gradle +++ b/custom/acme/loan/starter/build.gradle @@ -16,10 +16,27 @@ * specific language governing permissions and limitations * under the License. */ -description = 'ACME Corp.: Fineract COB Starter' +description = 'Fineract Custom ACME Loan Starter' group = 'com.acme.fineract' archivesBaseName = 'acme-fineract-loan-starter' apply from: 'dependencies.gradle' + +apply plugin: 'java' +apply plugin: 'org.springframework.boot' +apply plugin: 'io.freefair.lombok' + +dependencies { + implementation( + project(':fineract-core'), + project(':fineract-loan') + ) + + testImplementation( + 'org.junit.jupiter:junit-jupiter', + 'org.mockito:mockito-core', + 'org.mockito:mockito-junit-jupiter' + ) +} diff --git a/custom/acme/note/service/build.gradle b/custom/acme/note/service/build.gradle index 90fdb314feb..ecc3cde35df 100644 --- a/custom/acme/note/service/build.gradle +++ b/custom/acme/note/service/build.gradle @@ -16,10 +16,27 @@ * specific language governing permissions and limitations * under the License. */ -description = 'ACME Corp.: Fineract Note Service' +description = 'Fineract Custom ACME Note Service' group = 'com.acme.fineract.portfolio.note' archivesBaseName = 'acme-fineract-note-service' apply from: 'dependencies.gradle' + +apply plugin: 'java' +apply plugin: 'org.springframework.boot' +apply plugin: 'io.freefair.lombok' + +dependencies { + implementation( + project(':fineract-core'), + project(':custom:acme:note:starter') + ) + + testImplementation( + 'org.junit.jupiter:junit-jupiter', + 'org.mockito:mockito-core', + 'org.mockito:mockito-junit-jupiter' + ) +} diff --git a/custom/acme/note/starter/build.gradle b/custom/acme/note/starter/build.gradle index 49bf235b51d..f36a60ee539 100644 --- a/custom/acme/note/starter/build.gradle +++ b/custom/acme/note/starter/build.gradle @@ -16,10 +16,26 @@ * specific language governing permissions and limitations * under the License. */ -description = 'ACME Corp.: Fineract Note Starter' +description = 'Fineract Custom ACME Note Starter' group = 'com.acme.fineract.portfolio.note' archivesBaseName = 'acme-fineract-note-starter' +apply plugin: 'java' +apply plugin: 'org.springframework.boot' +apply plugin: 'io.freefair.lombok' + +dependencies { + implementation( + project(':fineract-core') + ) + + testImplementation( + 'org.junit.jupiter:junit-jupiter', + 'org.mockito:mockito-core', + 'org.mockito:mockito-junit-jupiter' + ) +} + apply from: 'dependencies.gradle' diff --git a/fineract-accounting/build.gradle b/fineract-accounting/build.gradle index 3018795aaca..cfde64873a0 100644 --- a/fineract-accounting/build.gradle +++ b/fineract-accounting/build.gradle @@ -20,6 +20,7 @@ description = 'Fineract Accounting' apply plugin: 'java' apply plugin: 'eclipse' +apply plugin: 'io.freefair.lombok' compileJava.doLast { def mainSS = sourceSets.main diff --git a/fineract-avro-schemas/build.gradle b/fineract-avro-schemas/build.gradle index ea2051dd38a..742aa420641 100644 --- a/fineract-avro-schemas/build.gradle +++ b/fineract-avro-schemas/build.gradle @@ -22,7 +22,9 @@ import com.github.davidmc24.gradle.plugin.avro.GenerateAvroJavaTask // TODO: @vidakovic we should publish this lib to Maven Central; do in separate PR description = 'Fineract Avro Schemas' +apply plugin: 'java' apply plugin: 'com.github.davidmc24.gradle.plugin.avro-base' +apply plugin: 'io.freefair.lombok' apply from: 'dependencies.gradle' diff --git a/fineract-client/build.gradle b/fineract-client/build.gradle index 485493e1829..2f9278161f8 100644 --- a/fineract-client/build.gradle +++ b/fineract-client/build.gradle @@ -16,7 +16,10 @@ * specific language governing permissions and limitations * under the License. */ +apply plugin: 'java' apply plugin: 'org.openapi.generator' +apply plugin: 'io.freefair.lombok' + description = 'Fineract Client' apply from: 'dependencies.gradle' diff --git a/fineract-core/dependencies.gradle b/fineract-core/dependencies.gradle index b7bab1d2c78..b0736f874ff 100644 --- a/fineract-core/dependencies.gradle +++ b/fineract-core/dependencies.gradle @@ -84,6 +84,29 @@ dependencies { exclude group: 'com.sun.activation' } + implementation( + 'com.google.guava:guava', + 'com.jayway.jsonpath:json-path', + 'commons-io:commons-io', + 'jakarta.annotation:jakarta.annotation-api', + 'jakarta.validation:jakarta.validation-api', + 'org.apache.commons:commons-lang3', + 'org.apache.commons:commons-text', + 'org.springframework:spring-context', + 'org.springframework.boot:spring-boot', + 'org.springframework.security:spring-security-core' + ) + + annotationProcessor( + 'org.springframework.boot:spring-boot-configuration-processor' + ) + + testImplementation( + 'org.junit.jupiter:junit-jupiter', + 'org.mockito:mockito-core', + 'org.mockito:mockito-junit-jupiter' + ) + // 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', @@ -93,10 +116,6 @@ dependencies { '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' diff --git a/fineract-e2e-tests-core/build.gradle b/fineract-e2e-tests-core/build.gradle index e1b03644ca9..e70e03cf954 100644 --- a/fineract-e2e-tests-core/build.gradle +++ b/fineract-e2e-tests-core/build.gradle @@ -51,9 +51,6 @@ dependencies { testImplementation 'org.junit.jupiter:junit-jupiter-api:5.11.3' testImplementation 'org.junit.jupiter:junit-jupiter:5.11.3' - testCompileOnly 'org.projectlombok:lombok:1.18.34' - testAnnotationProcessor 'org.projectlombok:lombok:1.18.34' - testImplementation "ch.qos.logback:logback-core:1.5.12" testImplementation "ch.qos.logback:logback-classic:1.5.12" diff --git a/fineract-e2e-tests-runner/build.gradle b/fineract-e2e-tests-runner/build.gradle index 1fb7143dba2..13ea415e04d 100644 --- a/fineract-e2e-tests-runner/build.gradle +++ b/fineract-e2e-tests-runner/build.gradle @@ -30,42 +30,59 @@ repositories { } dependencies { - testImplementation(project(':fineract-avro-schemas')) - testImplementation(project(':fineract-client')) - testImplementation(project(':fineract-e2e-tests-core').sourceSets.test.output) - - testImplementation 'org.springframework:spring-context' - implementation 'org.springframework:spring-test' - testImplementation 'org.springframework:spring-jms' - - testImplementation 'com.squareup.retrofit2:retrofit:2.11.0' - testImplementation 'commons-httpclient:commons-httpclient:3.1' - testImplementation 'org.apache.commons:commons-lang3:3.17.0' - testImplementation 'com.googlecode.json-simple:json-simple:1.1.1' - testImplementation 'com.google.code.gson:gson:2.11.0' - - testImplementation 'io.cucumber:cucumber-java:7.20.1' - testImplementation 'io.cucumber:cucumber-junit:7.20.1' - testImplementation 'io.cucumber:cucumber-spring:7.20.1' - - testImplementation 'io.qameta.allure:allure-cucumber7-jvm:2.29.0' - - testImplementation 'org.assertj:assertj-core:3.26.3' - testImplementation 'org.junit.jupiter:junit-jupiter-api:5.11.3' - testImplementation 'org.junit.jupiter:junit-jupiter:5.11.3' - - testCompileOnly 'org.projectlombok:lombok:1.18.34' - testAnnotationProcessor 'org.projectlombok:lombok:1.18.34' - - testImplementation "ch.qos.logback:logback-core:1.5.12" - testImplementation "ch.qos.logback:logback-classic:1.5.12" - - testImplementation 'org.apache.activemq:activemq-client:6.1.3' - testImplementation "org.apache.avro:avro:1.12.0" - testImplementation "org.awaitility:awaitility:4.2.2" - testImplementation 'io.github.classgraph:classgraph:4.8.177' - - testImplementation 'org.apache.commons:commons-collections4:4.4' + implementation( + 'com.google.guava:guava', + 'com.jayway.jsonpath:json-path', + 'commons-io:commons-io', + 'jakarta.annotation:jakarta.annotation-api', + 'jakarta.validation:jakarta.validation-api', + 'org.apache.commons:commons-lang3', + 'org.apache.commons:commons-text', + 'org.springframework:spring-context', + 'org.springframework.boot:spring-boot', + 'org.springframework.security:spring-security-core', + project(':fineract-e2e-tests-core') + ) + + testImplementation( + 'org.junit.jupiter:junit-jupiter', + 'org.mockito:mockito-core', + 'org.mockito:mockito-junit-jupiter', + 'io.cucumber:cucumber-java', + 'io.cucumber:cucumber-junit', + 'io.cucumber:cucumber-spring', + 'io.rest-assured:rest-assured', + 'io.rest-assured:json-schema-validator', + 'org.awaitility:awaitility', + 'org.mock-server:mockserver-client-java', + 'org.mock-server:mockserver-junit-jupiter', + 'org.springframework.batch:spring-batch-test', + 'org.springframework.boot:spring-boot-starter-test', + 'org.springframework.security:spring-security-test', + 'org.testcontainers:junit-jupiter', + 'org.testcontainers:mariadb', + 'org.testcontainers:mockserver', + 'org.testcontainers:postgresql', + project(':fineract-avro-schemas'), + project(':fineract-client'), + project(':fineract-e2e-tests-core').sourceSets.test.output, + 'org.springframework:spring-test', + 'org.springframework:spring-jms', + 'com.squareup.retrofit2:retrofit:2.11.0', + 'commons-httpclient:commons-httpclient:3.1', + 'org.apache.commons:commons-lang3:3.17.0', + 'com.googlecode.json-simple:json-simple:1.1.1', + 'com.google.code.gson:gson:2.11.0', + 'io.qameta.allure:allure-cucumber7-jvm:2.29.0', + 'org.assertj:assertj-core:3.26.3', + 'org.junit.jupiter:junit-jupiter-api:5.11.3', + 'ch.qos.logback:logback-core:1.5.12', + 'ch.qos.logback:logback-classic:1.5.12', + 'org.apache.activemq:activemq-client:6.1.3', + 'org.apache.avro:avro:1.12.0', + 'io.github.classgraph:classgraph:4.8.177', + 'org.apache.commons:commons-collections4:4.4' + ) } tasks.named('test') { diff --git a/fineract-investor/dependencies.gradle b/fineract-investor/dependencies.gradle index c39bee8640e..58f7a5e4353 100644 --- a/fineract-investor/dependencies.gradle +++ b/fineract-investor/dependencies.gradle @@ -56,9 +56,26 @@ dependencies { 'io.github.resilience4j:resilience4j-spring-boot3', ) - compileOnly 'org.projectlombok:lombok' - annotationProcessor 'org.projectlombok:lombok' - annotationProcessor 'org.mapstruct:mapstruct-processor' + implementation( + 'com.google.guava:guava', + 'com.jayway.jsonpath:json-path', + 'commons-io:commons-io', + 'jakarta.annotation:jakarta.annotation-api', + 'jakarta.validation:jakarta.validation-api', + 'org.apache.commons:commons-lang3', + 'org.apache.commons:commons-text', + 'org.springframework:spring-context', + 'org.springframework.boot:spring-boot', + 'org.springframework.security:spring-security-core', + project(':fineract-core'), + project(':fineract-loan') + ) + + annotationProcessor( + 'org.springframework.boot:spring-boot-configuration-processor', + 'org.mapstruct:mapstruct-processor' + ) + implementation ('org.springframework.boot:spring-boot-starter-data-jpa') { exclude group: 'org.hibernate' } @@ -69,6 +86,11 @@ dependencies { // Do NOT repeat dependencies which are ALREADY in implementation or runtimeOnly! // testImplementation( 'io.github.classgraph:classgraph' ) + testImplementation( + 'org.junit.jupiter:junit-jupiter', + 'org.mockito:mockito-core', + 'org.mockito:mockito-junit-jupiter' + ) 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' diff --git a/fineract-loan/dependencies.gradle b/fineract-loan/dependencies.gradle index 5d439e7088c..f1c859537b5 100644 --- a/fineract-loan/dependencies.gradle +++ b/fineract-loan/dependencies.gradle @@ -56,7 +56,14 @@ dependencies { 'io.github.resilience4j:resilience4j-spring-boot3', 'org.apache.httpcomponents:httpcore', - 'org.apache.commons:commons-collections4' + 'org.apache.commons:commons-collections4', + 'commons-io:commons-io', + 'jakarta.annotation:jakarta.annotation-api', + 'jakarta.validation:jakarta.validation-api', + 'org.apache.commons:commons-text', + 'org.springframework:spring-context', + 'org.springframework.boot:spring-boot', + 'org.springframework.security:spring-security-core' ) implementation ('org.mnode.ical4j:ical4j') { @@ -64,15 +71,16 @@ dependencies { exclude group: 'javax.activation' exclude group: 'com.sun.mail', module: 'javax.mail' } - compileOnly 'org.projectlombok:lombok' - annotationProcessor 'org.projectlombok:lombok' - annotationProcessor 'org.mapstruct:mapstruct-processor' 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' } + annotationProcessor( + 'org.springframework.boot:spring-boot-configuration-processor', + '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! // @@ -85,4 +93,9 @@ dependencies { exclude group: 'org.skyscreamer' } testImplementation ('org.mockito:mockito-inline') + testImplementation( + 'org.junit.jupiter:junit-jupiter', + 'org.mockito:mockito-core', + 'org.mockito:mockito-junit-jupiter' + ) } diff --git a/fineract-provider/dependencies.gradle b/fineract-provider/dependencies.gradle index 7af3a59982e..226c18ab94c 100644 --- a/fineract-provider/dependencies.gradle +++ b/fineract-provider/dependencies.gradle @@ -188,10 +188,6 @@ dependencies { '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' diff --git a/fineract-savings/dependencies.gradle b/fineract-savings/dependencies.gradle index c4dd82a0d86..c0d33bb2729 100644 --- a/fineract-savings/dependencies.gradle +++ b/fineract-savings/dependencies.gradle @@ -53,10 +53,15 @@ dependencies { 'io.github.resilience4j:resilience4j-spring-boot3', 'org.apache.httpcomponents:httpcore', + 'commons-io:commons-io', + 'jakarta.annotation:jakarta.annotation-api', + 'jakarta.validation:jakarta.validation-api', + 'org.apache.commons:commons-text', + 'org.springframework:spring-context', + 'org.springframework.boot:spring-boot', + 'org.springframework.security:spring-security-core', ) - compileOnly 'org.projectlombok:lombok' - annotationProcessor 'org.projectlombok:lombok' - annotationProcessor 'org.mapstruct:mapstruct-processor' + implementation ('org.springframework.boot:spring-boot-starter-data-jpa') { exclude group: 'org.hibernate' } @@ -75,4 +80,14 @@ dependencies { exclude group: 'org.skyscreamer' } testImplementation ('org.mockito:mockito-inline') + testImplementation( + 'org.junit.jupiter:junit-jupiter', + 'org.mockito:mockito-core', + 'org.mockito:mockito-junit-jupiter' + ) + + annotationProcessor( + 'org.springframework.boot:spring-boot-configuration-processor', + 'org.mapstruct:mapstruct-processor' + ) } diff --git a/fineract-war/build.gradle b/fineract-war/build.gradle index 41c79e0ffe6..abf77ae97a1 100644 --- a/fineract-war/build.gradle +++ b/fineract-war/build.gradle @@ -18,7 +18,10 @@ */ description = 'Fineract WAR' +apply plugin: 'java' apply plugin: 'war' +apply plugin: 'org.springframework.boot' +apply plugin: 'io.freefair.lombok' apply plugin: 'distribution' apply from: "${rootDir}/buildSrc/src/main/groovy/org.apache.fineract.dependencies.gradle" @@ -48,6 +51,10 @@ war { } dependencies { + implementation(project(':fineract-provider')) { + exclude module: 'mariadb-java-client' + exclude module: 'postgresql' + } implementation project(':fineract-core') implementation project(':fineract-accounting') implementation project(':fineract-investor') @@ -58,7 +65,14 @@ dependencies { implementation project(':fineract-loan') implementation project(':fineract-progressive-loan') implementation project(':fineract-savings') - implementation project(':fineract-provider') +} + +bootWar { + mainClass = 'org.apache.fineract.ServerApplication' + manifest { + attributes('Implementation-Title': project.name, + 'Implementation-Version': project.version) + } } tasks.withType(Tar) { diff --git a/integration-tests/dependencies.gradle b/integration-tests/dependencies.gradle index f153eacf2ff..00f03cf3471 100644 --- a/integration-tests/dependencies.gradle +++ b/integration-tests/dependencies.gradle @@ -51,8 +51,6 @@ dependencies { testImplementation 'org.apache.groovy:groovy-json' testImplementation 'org.awaitility:awaitility' - testCompileOnly 'org.projectlombok:lombok' - testAnnotationProcessor 'org.projectlombok:lombok' testImplementation 'org.assertj:assertj-core' testImplementation 'org.mapstruct:mapstruct' diff --git a/oauth2-tests/build.gradle b/oauth2-tests/build.gradle index 936c10a2216..dbb196e593e 100644 --- a/oauth2-tests/build.gradle +++ b/oauth2-tests/build.gradle @@ -16,9 +16,12 @@ * specific language governing permissions and limitations * under the License. */ -description = 'Fineract Integration Tests for OAuth2' +description = 'Fineract OAuth2 Integration Tests' apply plugin: 'com.bmuschko.cargo' +apply plugin: 'java' +apply plugin: 'org.springframework.boot' +apply plugin: 'io.freefair.lombok' // Configuration for the Gradle Cargo plugin // https://github.com/bmuschko/gradle-cargo-plugin @@ -35,6 +38,21 @@ configurations { } dependencies { driver 'mysql:mysql-connector-java:8.0.33' + implementation( + project(':fineract-core'), + project(':fineract-provider') + ) + + testImplementation( + 'org.junit.jupiter:junit-jupiter', + 'org.mockito:mockito-core', + 'org.mockito:mockito-junit-jupiter', + 'io.rest-assured:rest-assured', + 'io.rest-assured:json-schema-validator', + 'org.testcontainers:junit-jupiter', + 'org.testcontainers:mariadb', + 'org.testcontainers:postgresql' + ) } cargo { @@ -88,6 +106,10 @@ cargoStartLocal.dependsOn ':fineract-war:war' cargoStartLocal.mustRunAfter 'testClasses' test { + useJUnitPlatform() + testLogging { + events "passed", "skipped", "failed" + } dependsOn(cargoStartLocal) finalizedBy cargoStopLocal } diff --git a/twofactor-tests/build.gradle b/twofactor-tests/build.gradle index 8a4ccb58f18..3ead44c3af1 100644 --- a/twofactor-tests/build.gradle +++ b/twofactor-tests/build.gradle @@ -16,9 +16,12 @@ * specific language governing permissions and limitations * under the License. */ -description = 'Fineract Integration Tests' +description = 'Fineract Two-Factor Integration Tests' apply plugin: 'com.bmuschko.cargo' +apply plugin: 'java' +apply plugin: 'org.springframework.boot' +apply plugin: 'io.freefair.lombok' // Configuration for the Gradle Cargo plugin // https://github.com/bmuschko/gradle-cargo-plugin @@ -35,6 +38,21 @@ configurations { } dependencies { driver 'mysql:mysql-connector-java:8.0.33' + implementation( + project(':fineract-core'), + project(':fineract-provider') + ) + + testImplementation( + 'org.junit.jupiter:junit-jupiter', + 'org.mockito:mockito-core', + 'org.mockito:mockito-junit-jupiter', + 'io.rest-assured:rest-assured', + 'io.rest-assured:json-schema-validator', + 'org.testcontainers:junit-jupiter', + 'org.testcontainers:mariadb', + 'org.testcontainers:postgresql' + ) } cargo { @@ -88,6 +106,10 @@ cargoStartLocal.dependsOn ':fineract-war:war' cargoStartLocal.mustRunAfter 'testClasses' test { + useJUnitPlatform() + testLogging { + events "passed", "skipped", "failed" + } dependsOn(cargoStartLocal) finalizedBy cargoStopLocal }