FINERACT-1758: Improve custom module example
This commit is contained in:
committed by
Aleksandar Vidakovic
parent
388612b1ae
commit
ba765f9b7a
+77
-3
@@ -23,6 +23,7 @@ buildscript {
|
||||
retrofitVersion = '2.9.0'
|
||||
okhttpVersion = '4.9.3'
|
||||
oltuVersion = '1.0.1'
|
||||
fineractCustomProjects = []
|
||||
fineractJavaProjects = subprojects.findAll{
|
||||
[
|
||||
'fineract-api',
|
||||
@@ -31,9 +32,6 @@ buildscript {
|
||||
'twofactor-tests',
|
||||
'oauth2-tests',
|
||||
'fineract-client',
|
||||
'core',
|
||||
'service',
|
||||
'starter',
|
||||
'fineract-avro-schemas'
|
||||
].contains(it.name)
|
||||
}
|
||||
@@ -257,6 +255,22 @@ allprojects {
|
||||
}
|
||||
}
|
||||
|
||||
// NOTE: dynamically load all custom modules
|
||||
file("${rootDir}/custom").eachDir { companyDir ->
|
||||
if('build' != companyDir.name && 'docker' != companyDir.name) {
|
||||
file("${rootDir}/custom/${companyDir.name}").eachDir { categoryDir ->
|
||||
if('build' != categoryDir.name) {
|
||||
file("${rootDir}/custom/${companyDir.name}/${categoryDir.name}").eachDir { moduleDir ->
|
||||
if('build' != moduleDir.name) {
|
||||
project.fineractJavaProjects.add(project(":custom:${companyDir.name}:${categoryDir.name}:${moduleDir.name}"))
|
||||
project.fineractCustomProjects.add(project(":custom:${companyDir.name}:${categoryDir.name}:${moduleDir.name}"))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
configure(project.fineractJavaProjects) {
|
||||
// NOTE: order matters!
|
||||
|
||||
@@ -522,6 +536,9 @@ configure(project.fineractJavaProjects) {
|
||||
exclude(module: "slf4j-api")
|
||||
}
|
||||
|
||||
compileOnly 'org.projectlombok:lombok'
|
||||
annotationProcessor 'org.projectlombok:lombok'
|
||||
|
||||
testImplementation( 'org.mockito:mockito-core',
|
||||
'org.mockito:mockito-junit-jupiter',
|
||||
'org.junit.jupiter:junit-jupiter-api',
|
||||
@@ -596,6 +613,63 @@ configure(project.fineractJavaProjects) {
|
||||
}
|
||||
}
|
||||
|
||||
configure(project.fineractCustomProjects) {
|
||||
compileJava {
|
||||
dependsOn = []
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation (
|
||||
'org.springframework:spring-context',
|
||||
'ch.qos.logback:logback-core',
|
||||
'org.slf4j:slf4j-api',
|
||||
'org.slf4j:log4j-over-slf4j',
|
||||
'org.slf4j:jul-to-slf4j',
|
||||
)
|
||||
implementation ("ch.qos.logback:logback-classic") {
|
||||
exclude(module: "slf4j-api")
|
||||
}
|
||||
|
||||
compileOnly('org.projectlombok:lombok')
|
||||
annotationProcessor('org.projectlombok:lombok')
|
||||
annotationProcessor('org.mapstruct:mapstruct-processor')
|
||||
annotationProcessor('org.springframework.boot:spring-boot-autoconfigure-processor')
|
||||
annotationProcessor('org.springframework.boot:spring-boot-configuration-processor')
|
||||
|
||||
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-core',
|
||||
'org.mockito:mockito-inline',
|
||||
'org.mockito:mockito-junit-jupiter',
|
||||
'org.junit.jupiter:junit-jupiter-api',
|
||||
'org.junit.jupiter:junit-jupiter-engine',
|
||||
'org.junit.platform:junit-platform-runner', // required to be able to run tests directly under Eclipse, see FINERACT-943 & FINERACT-1021
|
||||
'org.bouncycastle:bcpkix-jdk15to18',
|
||||
'org.bouncycastle:bcprov-jdk15to18',
|
||||
'org.awaitility:awaitility',
|
||||
'com.google.truth:truth',
|
||||
'com.google.truth.extensions:truth-java8-extension',
|
||||
'io.github.classgraph:classgraph',
|
||||
'io.cucumber:cucumber-core',
|
||||
'io.cucumber:cucumber-java',
|
||||
'io.cucumber:cucumber-java8',
|
||||
'io.cucumber:cucumber-junit-platform-engine',
|
||||
'io.cucumber:cucumber-spring',
|
||||
)
|
||||
|
||||
testCompileOnly('org.projectlombok:lombok')
|
||||
testAnnotationProcessor('org.projectlombok:lombok')
|
||||
testAnnotationProcessor('org.mapstruct:mapstruct-processor')
|
||||
testAnnotationProcessor('org.springframework.boot:spring-boot-autoconfigure-processor')
|
||||
testAnnotationProcessor('org.springframework.boot:spring-boot-configuration-processor')
|
||||
}
|
||||
}
|
||||
|
||||
configure(project.fineractPublishProjects) {
|
||||
apply plugin: 'maven-publish'
|
||||
apply plugin: 'signing'
|
||||
|
||||
Reference in New Issue
Block a user