Revert "FINERACT-2181: Some tweaks in the gradle build to ensure correct task processing"
This reverts commit 6cb60f48
This commit is contained in:
committed by
Arnold Gálovics
parent
1ebfad230c
commit
a76c189a04
+49
-51
@@ -365,12 +365,12 @@ configure(project.fineractJavaProjects) {
|
|||||||
withJavadocJar()
|
withJavadocJar()
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.withType(ProcessResources).configureEach {
|
tasks.withType(ProcessResources) {
|
||||||
destinationDir = layout.buildDirectory.dir('classes/java/main').get().asFile
|
destinationDir = layout.buildDirectory.dir('classes/java/main').get().asFile
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add performance optimizations
|
// Add performance optimizations
|
||||||
configurations.configureEach {
|
configurations.all {
|
||||||
resolutionStrategy {
|
resolutionStrategy {
|
||||||
cacheChangingModulesFor 0, 'seconds'
|
cacheChangingModulesFor 0, 'seconds'
|
||||||
cacheDynamicVersionsFor 0, 'seconds'
|
cacheDynamicVersionsFor 0, 'seconds'
|
||||||
@@ -422,40 +422,40 @@ configure(project.fineractJavaProjects) {
|
|||||||
configurations {
|
configurations {
|
||||||
api.setCanBeResolved(true)
|
api.setCanBeResolved(true)
|
||||||
}
|
}
|
||||||
tasks.withType(Copy).configureEach {
|
tasks.withType(Copy) {
|
||||||
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
||||||
}
|
}
|
||||||
tasks.withType(JavaCompile).configureEach {
|
tasks.withType(JavaCompile) {
|
||||||
options.compilerArgs += [
|
options.compilerArgs += [
|
||||||
"-Xlint:cast",
|
"-Xlint:cast",
|
||||||
"-Xlint:auxiliaryclass",
|
"-Xlint:auxiliaryclass",
|
||||||
"-Xlint:dep-ann",
|
"-Xlint:dep-ann",
|
||||||
"-Xlint:divzero",
|
"-Xlint:divzero",
|
||||||
"-Xlint:empty",
|
"-Xlint:empty",
|
||||||
"-Xlint:exports",
|
"-Xlint:exports",
|
||||||
"-Xlint:fallthrough",
|
"-Xlint:fallthrough",
|
||||||
"-Xlint:finally",
|
"-Xlint:finally",
|
||||||
"-Xlint:module",
|
"-Xlint:module",
|
||||||
"-Xlint:opens",
|
"-Xlint:opens",
|
||||||
"-Xlint:options",
|
"-Xlint:options",
|
||||||
"-Xlint:overloads",
|
"-Xlint:overloads",
|
||||||
"-Xlint:overrides",
|
"-Xlint:overrides",
|
||||||
"-Xlint:path",
|
"-Xlint:path",
|
||||||
"-Xlint:processing",
|
"-Xlint:processing",
|
||||||
"-Xlint:removal",
|
"-Xlint:removal",
|
||||||
"-Xlint:requires-automatic",
|
"-Xlint:requires-automatic",
|
||||||
"-Xlint:requires-transitive-automatic",
|
"-Xlint:requires-transitive-automatic",
|
||||||
"-Xlint:try",
|
"-Xlint:try",
|
||||||
"-Xlint:varargs",
|
"-Xlint:varargs",
|
||||||
"-Xlint:preview",
|
"-Xlint:preview",
|
||||||
"-Xlint:static",
|
"-Xlint:static",
|
||||||
// -Werror needs to be disabled because EclipseLink's static weaving doesn't generate warning-free code
|
// -Werror needs to be disabled because EclipseLink's static weaving doesn't generate warning-free code
|
||||||
// and during an IntelliJ recompilation, it fails
|
// and during an IntelliJ recompilation, it fails
|
||||||
//"-Werror",
|
//"-Werror",
|
||||||
"-Xmaxwarns",
|
"-Xmaxwarns",
|
||||||
"1500",
|
"1500",
|
||||||
"-Xmaxerrs",
|
"-Xmaxerrs",
|
||||||
"1500"
|
"1500"
|
||||||
]
|
]
|
||||||
// TODO FINERACT-959 (gradually) enable -Xlint:all (see "javac -help -X")
|
// TODO FINERACT-959 (gradually) enable -Xlint:all (see "javac -help -X")
|
||||||
|
|
||||||
@@ -738,13 +738,11 @@ configure(project.fineractJavaProjects) {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.withType(Javadoc).tap {
|
tasks.withType(Javadoc) {
|
||||||
configureEach {
|
options.addStringOption('Xdoclint:none', '-quiet')
|
||||||
options.addStringOption('Xdoclint:none', '-quiet')
|
options.encoding = 'UTF-8'
|
||||||
options.encoding = 'UTF-8'
|
// Ignore any errors during javadoc generation
|
||||||
// Ignore any errors during javadoc generation
|
failOnError = false
|
||||||
failOnError = false
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -870,17 +868,17 @@ configure(project.fineractPublishProjects) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register('printSourceSetInformation') {
|
task printSourceSetInformation() {
|
||||||
doLast {
|
doLast{
|
||||||
sourceSets.each { srcSet ->
|
sourceSets.each { srcSet ->
|
||||||
println "[" + srcSet.name + "]"
|
println "["+srcSet.name+"]"
|
||||||
print "-->Source directories: " + srcSet.allJava.srcDirs + "\n"
|
print "-->Source directories: "+srcSet.allJava.srcDirs+"\n"
|
||||||
print "-->Output directories: " + srcSet.output.classesDirs.files + "\n"
|
print "-->Output directories: "+srcSet.output.classesDirs.files+"\n"
|
||||||
print "-->Compile classpath:\n"
|
print "-->Compile classpath:\n"
|
||||||
srcSet.compileClasspath.files.each {
|
srcSet.compileClasspath.files.each {
|
||||||
print " " + it.path + "\n"
|
print " "+it.path+"\n"
|
||||||
}
|
|
||||||
println ""
|
|
||||||
}
|
}
|
||||||
|
println ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -21,35 +21,23 @@ description = 'Fineract Accounting'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
tasks.register('staticWeaveJpa', JavaExec) {
|
compileJava.doLast {
|
||||||
group = "build"
|
def mainSS = sourceSets.main
|
||||||
description = "Performs EclipseLink static weaving of entity classes"
|
def source = mainSS.java.classesDirectory.get()
|
||||||
|
copy {
|
||||||
dependsOn classes
|
from file("src/main/resources/jpa/accounting/persistence.xml")
|
||||||
|
into "${source}/META-INF/"
|
||||||
def classesDir = file("$buildDir/classes/java/main")
|
}
|
||||||
|
javaexec {
|
||||||
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
description = 'Performs EclipseLink static weaving of entity classes'
|
||||||
classpath = sourceSets.main.runtimeClasspath
|
def target = source
|
||||||
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
mainClass = 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
||||||
}
|
args '-persistenceinfo', source, source, target
|
||||||
|
classpath sourceSets.main.runtimeClasspath
|
||||||
staticWeaveJpa.doLast {
|
}
|
||||||
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
delete {
|
||||||
}
|
delete "${source}/META-INF/persistence.xml"
|
||||||
|
}
|
||||||
tasks.named('classes') {
|
|
||||||
finalizedBy staticWeaveJpa
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.named('processResources') {
|
|
||||||
from('src/main/resources')
|
|
||||||
into sourceSets.main.java.classesDirectory
|
|
||||||
outputs.upToDateWhen { false }
|
|
||||||
}
|
|
||||||
|
|
||||||
compileJava {
|
|
||||||
dependsOn ':fineract-avro-schemas:buildJavaSdk'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
configurations {
|
configurations {
|
||||||
@@ -97,6 +85,10 @@ eclipse {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* http://stackoverflow.com/questions/19653311/jpa-repository-works-in-idea-and-production-but-not-in-gradle */
|
||||||
|
sourceSets.main.output.resourcesDir = sourceSets.main.java.classesDirectory
|
||||||
|
sourceSets.test.output.resourcesDir = sourceSets.test.java.classesDirectory
|
||||||
|
|
||||||
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
||||||
sourceSets {
|
sourceSets {
|
||||||
test {
|
test {
|
||||||
|
|||||||
@@ -57,11 +57,9 @@ tasks.register('preprocessAvroSchemas', PreprocessAvroSchemasTask) {
|
|||||||
inputDir = file("$projectDir/src/main/avro")
|
inputDir = file("$projectDir/src/main/avro")
|
||||||
bigDecimalTemplate = file("$projectDir/src/main/resources/avro-templates/bigdecimal.avsc")
|
bigDecimalTemplate = file("$projectDir/src/main/resources/avro-templates/bigdecimal.avsc")
|
||||||
outputDir = file("$buildDir/generated/avro/src/main/avro")
|
outputDir = file("$buildDir/generated/avro/src/main/avro")
|
||||||
finalizedBy buildJavaSdk
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register('buildJavaSdk', GenerateAvroJavaTask) {
|
task buildJavaSdk(type: GenerateAvroJavaTask) {
|
||||||
dependsOn preprocessAvroSchemas, spotlessJsonApply
|
|
||||||
source("$buildDir/generated/avro/src/main/avro")
|
source("$buildDir/generated/avro/src/main/avro")
|
||||||
outputDir = file("$buildDir/generated/java/src/main/java")
|
outputDir = file("$buildDir/generated/java/src/main/java")
|
||||||
templateDirectory = "$projectDir/src/main/resources/avro-generator-templates/"
|
templateDirectory = "$projectDir/src/main/resources/avro-generator-templates/"
|
||||||
@@ -75,10 +73,12 @@ spotless {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
buildJavaSdk.dependsOn(preprocessAvroSchemas, spotlessJsonApply)
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
main {
|
main {
|
||||||
java {
|
java {
|
||||||
srcDirs += "$buildDir/generated/java/src/main/java"
|
srcDir file("$buildDir/generated/java/src/main/java")
|
||||||
}
|
}
|
||||||
resources {
|
resources {
|
||||||
srcDir file("$projectDir/src/main/resources")
|
srcDir file("$projectDir/src/main/resources")
|
||||||
@@ -97,7 +97,7 @@ jar {
|
|||||||
}
|
}
|
||||||
|
|
||||||
compileJava {
|
compileJava {
|
||||||
dependsOn buildJavaSdk, processResources
|
dependsOn buildJavaSdk
|
||||||
source = sourceSets.main.java.srcDirs
|
source = sourceSets.main.java.srcDirs
|
||||||
options.compilerArgs += ['-parameters']
|
options.compilerArgs += ['-parameters']
|
||||||
}
|
}
|
||||||
@@ -131,9 +131,3 @@ tasks.named('sourcesJar') {
|
|||||||
dependsOn tasks.named('buildJavaSdk')
|
dependsOn tasks.named('buildJavaSdk')
|
||||||
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.named('processResources') {
|
|
||||||
from('src/main/resources')
|
|
||||||
into sourceSets.main.java.classesDirectory
|
|
||||||
outputs.upToDateWhen { false }
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -21,35 +21,23 @@ description = 'Fineract Branch'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
tasks.register('staticWeaveJpa', JavaExec) {
|
compileJava.doLast {
|
||||||
group = "build"
|
def mainSS = sourceSets.main
|
||||||
description = "Performs EclipseLink static weaving of entity classes"
|
def source = mainSS.java.classesDirectory.get()
|
||||||
|
copy {
|
||||||
dependsOn classes
|
from file("src/main/resources/jpa/branch/persistence.xml")
|
||||||
|
into "${source}/META-INF/"
|
||||||
def classesDir = file("$buildDir/classes/java/main")
|
}
|
||||||
|
javaexec {
|
||||||
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
description = 'Performs EclipseLink static weaving of entity classes'
|
||||||
classpath = sourceSets.main.runtimeClasspath
|
def target = source
|
||||||
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
||||||
}
|
args '-persistenceinfo', source, source, target
|
||||||
|
classpath sourceSets.main.runtimeClasspath
|
||||||
staticWeaveJpa.doLast {
|
}
|
||||||
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
delete {
|
||||||
}
|
delete "${source}/META-INF/persistence.xml"
|
||||||
|
}
|
||||||
tasks.named('classes') {
|
|
||||||
finalizedBy staticWeaveJpa
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.named('processResources') {
|
|
||||||
from('src/main/resources')
|
|
||||||
into sourceSets.main.java.classesDirectory
|
|
||||||
outputs.upToDateWhen { false }
|
|
||||||
}
|
|
||||||
|
|
||||||
compileJava {
|
|
||||||
dependsOn ':fineract-avro-schemas:buildJavaSdk'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Configuration for Swagger documentation generation task
|
// Configuration for Swagger documentation generation task
|
||||||
@@ -103,6 +91,10 @@ eclipse {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* http://stackoverflow.com/questions/19653311/jpa-repository-works-in-idea-and-production-but-not-in-gradle */
|
||||||
|
sourceSets.main.output.resourcesDir = sourceSets.main.java.classesDirectory
|
||||||
|
sourceSets.test.output.resourcesDir = sourceSets.test.java.classesDirectory
|
||||||
|
|
||||||
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
||||||
sourceSets {
|
sourceSets {
|
||||||
test {
|
test {
|
||||||
|
|||||||
@@ -21,35 +21,23 @@ description = 'Fineract Charge'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
tasks.register('staticWeaveJpa', JavaExec) {
|
compileJava.doLast {
|
||||||
group = "build"
|
def mainSS = sourceSets.main
|
||||||
description = "Performs EclipseLink static weaving of entity classes"
|
def source = mainSS.java.classesDirectory.get()
|
||||||
|
copy {
|
||||||
dependsOn classes
|
from file("src/main/resources/jpa/charge/persistence.xml")
|
||||||
|
into "${source}/META-INF/"
|
||||||
def classesDir = file("$buildDir/classes/java/main")
|
}
|
||||||
|
javaexec {
|
||||||
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
description = 'Performs EclipseLink static weaving of entity classes'
|
||||||
classpath = sourceSets.main.runtimeClasspath
|
def target = source
|
||||||
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
||||||
}
|
args '-persistenceinfo', source, source, target
|
||||||
|
classpath sourceSets.main.runtimeClasspath
|
||||||
staticWeaveJpa.doLast {
|
}
|
||||||
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
delete {
|
||||||
}
|
delete "${source}/META-INF/persistence.xml"
|
||||||
|
}
|
||||||
tasks.named('classes') {
|
|
||||||
finalizedBy staticWeaveJpa
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.named('processResources') {
|
|
||||||
from('src/main/resources')
|
|
||||||
into sourceSets.main.java.classesDirectory
|
|
||||||
outputs.upToDateWhen { false }
|
|
||||||
}
|
|
||||||
|
|
||||||
compileJava {
|
|
||||||
dependsOn ':fineract-avro-schemas:buildJavaSdk'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Configuration for Swagger documentation generation task
|
// Configuration for Swagger documentation generation task
|
||||||
@@ -103,6 +91,10 @@ eclipse {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* http://stackoverflow.com/questions/19653311/jpa-repository-works-in-idea-and-production-but-not-in-gradle */
|
||||||
|
sourceSets.main.output.resourcesDir = sourceSets.main.java.classesDirectory
|
||||||
|
sourceSets.test.output.resourcesDir = sourceSets.test.java.classesDirectory
|
||||||
|
|
||||||
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
||||||
sourceSets {
|
sourceSets {
|
||||||
test {
|
test {
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
import org.openapitools.generator.gradle.plugin.tasks.GenerateTask
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
* or more contributor license agreements. See the NOTICE file
|
* or more contributor license agreements. See the NOTICE file
|
||||||
@@ -37,7 +35,7 @@ openApiValidate {
|
|||||||
recommend = true
|
recommend = true
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register('buildJavaSdk', GenerateTask) {
|
task buildJavaSdk(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask) {
|
||||||
generatorName = 'java'
|
generatorName = 'java'
|
||||||
verbose = false
|
verbose = false
|
||||||
validateSpec = false
|
validateSpec = false
|
||||||
@@ -50,11 +48,11 @@ tasks.register('buildJavaSdk', GenerateTask) {
|
|||||||
invokerPackage = 'org.apache.fineract.client'
|
invokerPackage = 'org.apache.fineract.client'
|
||||||
modelPackage = 'org.apache.fineract.client.models'
|
modelPackage = 'org.apache.fineract.client.models'
|
||||||
configOptions = [
|
configOptions = [
|
||||||
dateLibrary : 'java8',
|
dateLibrary: 'java8',
|
||||||
useRxJava2 : 'false',
|
useRxJava2: 'false',
|
||||||
library : 'retrofit2',
|
library: 'retrofit2',
|
||||||
hideGenerationTimestamp: 'true',
|
hideGenerationTimestamp: 'true',
|
||||||
containerDefaultToNull : 'true'
|
containerDefaultToNull: 'true'
|
||||||
]
|
]
|
||||||
generateModelTests = false
|
generateModelTests = false
|
||||||
generateApiTests = false
|
generateApiTests = false
|
||||||
@@ -62,7 +60,7 @@ tasks.register('buildJavaSdk', GenerateTask) {
|
|||||||
dependsOn(':fineract-provider:resolve')
|
dependsOn(':fineract-provider:resolve')
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register('buildTypescriptAngularSdk', GenerateTask) {
|
task buildTypescriptAngularSdk(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask){
|
||||||
generatorName = 'typescript-angular'
|
generatorName = 'typescript-angular'
|
||||||
verbose = false
|
verbose = false
|
||||||
validateSpec = false
|
validateSpec = false
|
||||||
@@ -73,16 +71,16 @@ tasks.register('buildTypescriptAngularSdk', GenerateTask) {
|
|||||||
invokerPackage = 'apache-fineract-client/invoker'
|
invokerPackage = 'apache-fineract-client/invoker'
|
||||||
modelPackage = 'apache-fineract-client/models'
|
modelPackage = 'apache-fineract-client/models'
|
||||||
configOptions = [
|
configOptions = [
|
||||||
apiModulePrefix : 'apacheFineractClient',
|
apiModulePrefix: 'apacheFineractClient',
|
||||||
configurationPrefix: 'apacheFineractClient',
|
configurationPrefix: 'apacheFineractClient',
|
||||||
ngVersion : '12.0.0',
|
ngVersion: '12.0.0',
|
||||||
npmName : '@apache/fineract-client',
|
npmName: '@apache/fineract-client',
|
||||||
npmRepository : "${npmRepository}"
|
npmRepository: "${npmRepository}"
|
||||||
]
|
]
|
||||||
dependsOn(':fineract-provider:resolve')
|
dependsOn(':fineract-provider:resolve')
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register('buildAsciidoc', GenerateTask) {
|
task buildAsciidoc(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask){
|
||||||
generatorName = 'asciidoc'
|
generatorName = 'asciidoc'
|
||||||
verbose = false
|
verbose = false
|
||||||
validateSpec = false
|
validateSpec = false
|
||||||
@@ -93,18 +91,18 @@ tasks.register('buildAsciidoc', GenerateTask) {
|
|||||||
invokerPackage = 'org.apache.fineract.client'
|
invokerPackage = 'org.apache.fineract.client'
|
||||||
modelPackage = 'org.apache.fineract.client.models'
|
modelPackage = 'org.apache.fineract.client.models'
|
||||||
configOptions = [
|
configOptions = [
|
||||||
appName : 'Apache Fineract REST API',
|
appName: 'Apache Fineract REST API',
|
||||||
appDescription : '''Apache Fineract is a secure, multi-tenanted microfinance platform.
|
appDescription: '''Apache Fineract is a secure, multi-tenanted microfinance platform.
|
||||||
The goal of the Apache Fineract API is to empower developers to build apps on top of the Apache Fineract Platform.
|
The goal of the Apache Fineract API is to empower developers to build apps on top of the Apache Fineract Platform.
|
||||||
The [reference app](https://cui.fineract.dev) (username: mifos, password: password) works on the same demo tenant as the interactive links in this documentation.
|
The https://cui.fineract.dev[reference app] (username: mifos, password: password) works on the same demo tenant as the interactive links in this documentation.
|
||||||
Until we complete the new REST API documentation you still have the legacy documentation available [here](https://fineract.apache.org/docs/legacy/).
|
Until we complete the new REST API documentation you still have the legacy documentation available https://fineract.apache.org/legacy-docs/apiLive.htm[here].
|
||||||
Please check [the Fineract documentation](https://fineract.apache.org/docs/current/) for more information.''',
|
Please check https://fineract.apache.org/docs/current[the Fineract documentation] for more information.''',
|
||||||
headerAttributes: 'false',
|
headerAttributes: 'false',
|
||||||
infoEmail : 'dev@fineract.apache.org',
|
infoEmail: 'dev@fineract.apache.org',
|
||||||
infoUrl : 'https://fineract.apache.org',
|
infoUrl: 'https://fineract.apache.org',
|
||||||
licenseInfo : 'Apache 2.0',
|
licenseInfo: 'Apache 2.0',
|
||||||
licenseUrl : 'http://www.apache.org/licenses/LICENSE-2.0.html',
|
licenseUrl: 'http://www.apache.org/licenses/LICENSE-2.0.html',
|
||||||
useMethodAndPath: 'true'
|
useMethodAndPath: 'true'
|
||||||
]
|
]
|
||||||
dependsOn(':fineract-provider:resolve')
|
dependsOn(':fineract-provider:resolve')
|
||||||
}
|
}
|
||||||
@@ -133,7 +131,7 @@ tasks.withType(Jar).configureEach {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Improve the cleanup task to track inputs and outputs
|
// Improve the cleanup task to track inputs and outputs
|
||||||
tasks.register('cleanupGeneratedJavaFiles') {
|
task cleanupGeneratedJavaFiles() {
|
||||||
def tempDir = file("$buildDir/generated/temp-java")
|
def tempDir = file("$buildDir/generated/temp-java")
|
||||||
def targetDir = file("$buildDir/generated/java")
|
def targetDir = file("$buildDir/generated/java")
|
||||||
|
|
||||||
@@ -146,10 +144,10 @@ tasks.register('cleanupGeneratedJavaFiles') {
|
|||||||
into targetDir
|
into targetDir
|
||||||
filter { line ->
|
filter { line ->
|
||||||
line
|
line
|
||||||
.replaceAll("import org\\.joda\\.time\\.\\*;", "")
|
.replaceAll("import org\\.joda\\.time\\.\\*;", "")
|
||||||
.replaceAll(", \\)", ")")
|
.replaceAll(", \\)", ")")
|
||||||
.replaceAll(", , @HeaderMap", ", @HeaderMap")
|
.replaceAll(", , @HeaderMap", ", @HeaderMap")
|
||||||
.replaceAll("\\(, ", "(")
|
.replaceAll("\\(, ", "(")
|
||||||
}
|
}
|
||||||
// Also set duplicates strategy for the copy task
|
// Also set duplicates strategy for the copy task
|
||||||
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
||||||
|
|||||||
+18
-26
@@ -21,31 +21,23 @@ description = 'Fineract Core'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
tasks.register('staticWeaveJpa', JavaExec) {
|
compileJava.doLast {
|
||||||
group = "build"
|
def mainSS = sourceSets.main
|
||||||
description = "Performs EclipseLink static weaving of entity classes"
|
def source = mainSS.java.classesDirectory.get()
|
||||||
|
copy {
|
||||||
dependsOn classes, processResources
|
from file("src/main/resources/jpa/core/persistence.xml")
|
||||||
|
into "${source}/META-INF/"
|
||||||
def classesDir = file(sourceSets.main.output.classesDirs.asPath)
|
}
|
||||||
|
javaexec {
|
||||||
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
description = 'Performs EclipseLink static weaving of entity classes'
|
||||||
classpath = sourceSets.main.runtimeClasspath
|
def target = source
|
||||||
args '-persistenceinfo', classesDir, classesDir, classesDir
|
main = 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
||||||
}
|
args '-persistenceinfo', source, source, target
|
||||||
|
classpath sourceSets.main.runtimeClasspath
|
||||||
staticWeaveJpa.doLast {
|
}
|
||||||
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
delete {
|
||||||
}
|
delete "${source}/META-INF/persistence.xml"
|
||||||
|
}
|
||||||
tasks.named('classes') {
|
|
||||||
finalizedBy staticWeaveJpa
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.named('processResources') {
|
|
||||||
from('src/main/resources')
|
|
||||||
into sourceSets.main.java.classesDirectory
|
|
||||||
outputs.upToDateWhen { false }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
configurations {
|
configurations {
|
||||||
@@ -72,7 +64,7 @@ configurations {
|
|||||||
apply from: 'dependencies.gradle'
|
apply from: 'dependencies.gradle'
|
||||||
|
|
||||||
compileJava {
|
compileJava {
|
||||||
dependsOn ':fineract-avro-schemas:compileJava', processResources
|
dependsOn ':fineract-avro-schemas:jar'
|
||||||
options.compilerArgs += ['-parameters']
|
options.compilerArgs += ['-parameters']
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -60,12 +60,12 @@ asciidoctor {
|
|||||||
dependsOn(':fineract-client:clean', ':fineract-client:buildAsciidoc')
|
dependsOn(':fineract-client:clean', ':fineract-client:buildAsciidoc')
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register('copyImages', Copy) {
|
task copyImages(type: Copy) {
|
||||||
from "${projectDir}/src/docs/en/images"
|
from "${projectDir}/src/docs/en/images"
|
||||||
into "${buildDir}/generated/images"
|
into "${buildDir}/generated/images"
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register('copyDiagrams', Copy) {
|
task copyDiagrams(type: Copy) {
|
||||||
from "${projectDir}/src/docs/en/diagrams"
|
from "${projectDir}/src/docs/en/diagrams"
|
||||||
into "${buildDir}/generated/diagrams"
|
into "${buildDir}/generated/diagrams"
|
||||||
}
|
}
|
||||||
@@ -95,7 +95,7 @@ asciidoctorPdf {
|
|||||||
dependsOn(':fineract-client:clean', ':fineract-client:buildAsciidoc')
|
dependsOn(':fineract-client:clean', ':fineract-client:buildAsciidoc')
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register('doc', Zip) {
|
task doc(type: Zip) {
|
||||||
dependsOn(asciidoctor, asciidoctorPdf)
|
dependsOn(asciidoctor, asciidoctorPdf)
|
||||||
|
|
||||||
into("fineract-${project.version}/html") {
|
into("fineract-${project.version}/html") {
|
||||||
|
|||||||
@@ -21,35 +21,23 @@ description = 'Fineract Document'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
tasks.register('staticWeaveJpa', JavaExec) {
|
compileJava.doLast {
|
||||||
group = "build"
|
def mainSS = sourceSets.main
|
||||||
description = "Performs EclipseLink static weaving of entity classes"
|
def source = mainSS.java.classesDirectory.get()
|
||||||
|
copy {
|
||||||
dependsOn classes
|
from file("src/main/resources/jpa/document/persistence.xml")
|
||||||
|
into "${source}/META-INF/"
|
||||||
def classesDir = file("$buildDir/classes/java/main")
|
}
|
||||||
|
javaexec {
|
||||||
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
description = 'Performs EclipseLink static weaving of entity classes'
|
||||||
classpath = sourceSets.main.runtimeClasspath
|
def target = source
|
||||||
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
||||||
}
|
args '-persistenceinfo', source, '-classpath', sourceSets.main.runtimeClasspath, source, target
|
||||||
|
classpath sourceSets.main.runtimeClasspath
|
||||||
staticWeaveJpa.doLast {
|
}
|
||||||
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
delete {
|
||||||
}
|
delete "${source}/META-INF/persistence.xml"
|
||||||
|
}
|
||||||
tasks.named('classes') {
|
|
||||||
finalizedBy staticWeaveJpa
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.named('processResources') {
|
|
||||||
from('src/main/resources')
|
|
||||||
into sourceSets.main.java.classesDirectory
|
|
||||||
outputs.upToDateWhen { false }
|
|
||||||
}
|
|
||||||
|
|
||||||
compileJava {
|
|
||||||
dependsOn ':fineract-avro-schemas:buildJavaSdk'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
configurations {
|
configurations {
|
||||||
|
|||||||
@@ -21,35 +21,23 @@ description = 'Fineract Investor'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
tasks.register('staticWeaveJpa', JavaExec) {
|
compileJava.doLast {
|
||||||
group = "build"
|
def mainSS = sourceSets.main
|
||||||
description = "Performs EclipseLink static weaving of entity classes"
|
def source = mainSS.java.classesDirectory.get()
|
||||||
|
copy {
|
||||||
dependsOn classes
|
from file("src/main/resources/jpa/investor/persistence.xml")
|
||||||
|
into "${source}/META-INF/"
|
||||||
def classesDir = file("$buildDir/classes/java/main")
|
}
|
||||||
|
javaexec {
|
||||||
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
description = 'Performs EclipseLink static weaving of entity classes'
|
||||||
classpath = sourceSets.main.runtimeClasspath
|
def target = source
|
||||||
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
||||||
}
|
args '-persistenceinfo', source, source, target
|
||||||
|
classpath sourceSets.main.runtimeClasspath
|
||||||
staticWeaveJpa.doLast {
|
}
|
||||||
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
delete {
|
||||||
}
|
delete "${source}/META-INF/persistence.xml"
|
||||||
|
}
|
||||||
tasks.named('classes') {
|
|
||||||
finalizedBy staticWeaveJpa
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.named('processResources') {
|
|
||||||
from('src/main/resources')
|
|
||||||
into sourceSets.main.java.classesDirectory
|
|
||||||
outputs.upToDateWhen { false }
|
|
||||||
}
|
|
||||||
|
|
||||||
compileJava {
|
|
||||||
dependsOn ':fineract-avro-schemas:buildJavaSdk'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
configurations {
|
configurations {
|
||||||
@@ -97,6 +85,10 @@ eclipse {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* http://stackoverflow.com/questions/19653311/jpa-repository-works-in-idea-and-production-but-not-in-gradle */
|
||||||
|
sourceSets.main.output.resourcesDir = sourceSets.main.java.classesDirectory
|
||||||
|
sourceSets.test.output.resourcesDir = sourceSets.test.java.classesDirectory
|
||||||
|
|
||||||
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
||||||
sourceSets {
|
sourceSets {
|
||||||
test {
|
test {
|
||||||
|
|||||||
+19
-34
@@ -21,36 +21,23 @@ description = 'Fineract Loan'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
tasks.register('staticWeaveJpa', JavaExec) {
|
compileJava.doLast {
|
||||||
group = "build"
|
def mainSS = sourceSets.main
|
||||||
description = "Performs EclipseLink static weaving of entity classes"
|
def source = mainSS.java.classesDirectory.get()
|
||||||
|
|
||||||
dependsOn classes
|
|
||||||
|
|
||||||
def classesDir = file("$buildDir/classes/java/main")
|
|
||||||
def metaInf = new File(classesDir, "META-INF")
|
|
||||||
metaInf.mkdirs()
|
|
||||||
|
|
||||||
copy {
|
copy {
|
||||||
from "src/main/resources/jpa/loan/persistence.xml"
|
from file("src/main/resources/jpa/loan/persistence.xml")
|
||||||
into "$buildDir/classes/java/main/META-INF"
|
into "${source}/META-INF/"
|
||||||
|
}
|
||||||
|
javaexec {
|
||||||
|
description = 'Performs EclipseLink static weaving of entity classes'
|
||||||
|
def target = source
|
||||||
|
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
||||||
|
args '-persistenceinfo', source, source, target
|
||||||
|
classpath sourceSets.main.runtimeClasspath
|
||||||
|
}
|
||||||
|
delete {
|
||||||
|
delete "${source}/META-INF/persistence.xml"
|
||||||
}
|
}
|
||||||
|
|
||||||
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
|
||||||
classpath = sourceSets.main.runtimeClasspath
|
|
||||||
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
|
||||||
}
|
|
||||||
|
|
||||||
staticWeaveJpa.doLast {
|
|
||||||
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.named('classes') {
|
|
||||||
finalizedBy staticWeaveJpa
|
|
||||||
}
|
|
||||||
|
|
||||||
compileJava {
|
|
||||||
dependsOn ':fineract-avro-schemas:buildJavaSdk'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Configuration for Swagger documentation generation task
|
// Configuration for Swagger documentation generation task
|
||||||
@@ -104,6 +91,10 @@ eclipse {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* http://stackoverflow.com/questions/19653311/jpa-repository-works-in-idea-and-production-but-not-in-gradle */
|
||||||
|
sourceSets.main.output.resourcesDir = sourceSets.main.java.classesDirectory
|
||||||
|
sourceSets.test.output.resourcesDir = sourceSets.test.java.classesDirectory
|
||||||
|
|
||||||
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
||||||
sourceSets {
|
sourceSets {
|
||||||
test {
|
test {
|
||||||
@@ -113,9 +104,3 @@ if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.named('processResources') {
|
|
||||||
from('src/main/resources')
|
|
||||||
into sourceSets.main.java.classesDirectory
|
|
||||||
outputs.upToDateWhen { false }
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -21,35 +21,23 @@ description = 'Fineract Progressive Loan'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
tasks.register('staticWeaveJpa', JavaExec) {
|
compileJava.doLast {
|
||||||
group = "build"
|
def mainSS = sourceSets.main
|
||||||
description = "Performs EclipseLink static weaving of entity classes"
|
def source = mainSS.java.classesDirectory.get()
|
||||||
|
copy {
|
||||||
dependsOn classes
|
from file("src/main/resources/jpa/progressiveloan/persistence.xml")
|
||||||
|
into "${source}/META-INF/"
|
||||||
def classesDir = file("$buildDir/classes/java/main")
|
}
|
||||||
|
javaexec {
|
||||||
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
description = 'Performs EclipseLink static weaving of entity classes'
|
||||||
classpath = sourceSets.main.runtimeClasspath
|
def target = source
|
||||||
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
||||||
}
|
args '-persistenceinfo', source, source, target
|
||||||
|
classpath sourceSets.main.runtimeClasspath
|
||||||
staticWeaveJpa.doLast {
|
}
|
||||||
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
delete {
|
||||||
}
|
delete "${source}/META-INF/persistence.xml"
|
||||||
|
}
|
||||||
tasks.named('classes') {
|
|
||||||
finalizedBy staticWeaveJpa
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.named('processResources') {
|
|
||||||
from('src/main/resources')
|
|
||||||
into sourceSets.main.java.classesDirectory
|
|
||||||
outputs.upToDateWhen { false }
|
|
||||||
}
|
|
||||||
|
|
||||||
compileJava {
|
|
||||||
dependsOn ':fineract-avro-schemas:buildJavaSdk'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
configurations {
|
configurations {
|
||||||
@@ -97,6 +85,10 @@ eclipse {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* http://stackoverflow.com/questions/19653311/jpa-repository-works-in-idea-and-production-but-not-in-gradle */
|
||||||
|
sourceSets.main.output.resourcesDir = sourceSets.main.java.classesDirectory
|
||||||
|
sourceSets.test.output.resourcesDir = sourceSets.test.java.classesDirectory
|
||||||
|
|
||||||
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
||||||
sourceSets {
|
sourceSets {
|
||||||
test {
|
test {
|
||||||
|
|||||||
@@ -30,46 +30,30 @@ apply plugin: 'se.thinkcode.cucumber-runner'
|
|||||||
|
|
||||||
check.dependsOn('cucumber')
|
check.dependsOn('cucumber')
|
||||||
|
|
||||||
tasks.register('staticWeaveJpa', JavaExec) {
|
compileJava.doLast {
|
||||||
group = "build"
|
def mainSS = sourceSets.main
|
||||||
description = "Performs EclipseLink static weaving of entity classes"
|
def source = mainSS.java.classesDirectory.get()
|
||||||
|
copy {
|
||||||
dependsOn classes
|
from file("src/main/resources/jpa/persistence.xml")
|
||||||
|
into "${source}/META-INF/"
|
||||||
def classesDir = file("$buildDir/classes/java/main")
|
}
|
||||||
|
javaexec {
|
||||||
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
description = 'Performs EclipseLink static weaving of entity classes'
|
||||||
classpath = sourceSets.main.runtimeClasspath
|
def target = source
|
||||||
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
||||||
}
|
args '-persistenceinfo', source, source, target
|
||||||
|
classpath sourceSets.main.runtimeClasspath
|
||||||
staticWeaveJpa.doLast {
|
}
|
||||||
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
delete {
|
||||||
}
|
delete "${source}/META-INF/persistence.xml"
|
||||||
|
}
|
||||||
tasks.named('classes') {
|
|
||||||
finalizedBy staticWeaveJpa
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.named('processResources') {
|
|
||||||
from('src/main/resources')
|
|
||||||
into sourceSets.main.java.classesDirectory
|
|
||||||
outputs.upToDateWhen { false }
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.named('staticWeaveJpa') {
|
|
||||||
mustRunAfter tasks.named('resolve')
|
|
||||||
}
|
|
||||||
|
|
||||||
compileJava {
|
|
||||||
dependsOn ':fineract-avro-schemas:buildJavaSdk'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Configuration for Swagger documentation generation task
|
// Configuration for Swagger documentation generation task
|
||||||
// https://github.com/swagger-api/swagger-core/tree/master/modules/swagger-gradle-plugin
|
// https://github.com/swagger-api/swagger-core/tree/master/modules/swagger-gradle-plugin
|
||||||
import org.apache.tools.ant.filters.ReplaceTokens
|
import org.apache.tools.ant.filters.ReplaceTokens
|
||||||
|
|
||||||
tasks.register('prepareInputYaml') {
|
task prepareInputYaml {
|
||||||
outputs.file("${buildDir}/tmp/swagger/fineract-input.yaml")
|
outputs.file("${buildDir}/tmp/swagger/fineract-input.yaml")
|
||||||
|
|
||||||
doLast {
|
doLast {
|
||||||
@@ -155,6 +139,10 @@ eclipse {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* http://stackoverflow.com/questions/19653311/jpa-repository-works-in-idea-and-production-but-not-in-gradle */
|
||||||
|
sourceSets.main.output.resourcesDir = sourceSets.main.java.classesDirectory
|
||||||
|
sourceSets.test.output.resourcesDir = sourceSets.test.java.classesDirectory
|
||||||
|
|
||||||
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
||||||
sourceSets {
|
sourceSets {
|
||||||
test {
|
test {
|
||||||
@@ -188,57 +176,57 @@ configurations.driver.each {File file ->
|
|||||||
loader.addURL(file.toURL())
|
loader.addURL(file.toURL())
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register('createDB') {
|
task createDB {
|
||||||
description = "Creates the MariaDB Database. Needs database name to be passed (like: -PdbName=someDBname)"
|
description= "Creates the MariaDB Database. Needs database name to be passed (like: -PdbName=someDBname)"
|
||||||
doLast {
|
doLast {
|
||||||
def sql = Sql.newInstance('jdbc:mariadb://localhost:3306/', mysqlUser, mysqlPassword, 'org.mariadb.jdbc.Driver')
|
def sql = Sql.newInstance( 'jdbc:mariadb://localhost:3306/', mysqlUser, mysqlPassword, 'org.mariadb.jdbc.Driver' )
|
||||||
sql.execute('CREATE DATABASE ' + "`$dbName` CHARACTER SET utf8mb4")
|
sql.execute( 'CREATE DATABASE '+"`$dbName` CHARACTER SET utf8mb4" )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register('dropDB') {
|
task dropDB {
|
||||||
description = "Drops the specified MariaDB database. The database name has to be passed (like: -PdbName=someDBname)"
|
description= "Drops the specified MariaDB database. The database name has to be passed (like: -PdbName=someDBname)"
|
||||||
doLast {
|
doLast {
|
||||||
def sql = Sql.newInstance('jdbc:mariadb://localhost:3306/', mysqlUser, mysqlPassword, 'org.mariadb.jdbc.Driver')
|
def sql = Sql.newInstance( 'jdbc:mariadb://localhost:3306/', mysqlUser, mysqlPassword, 'org.mariadb.jdbc.Driver' )
|
||||||
sql.execute('DROP DATABASE ' + "`$dbName`")
|
sql.execute( 'DROP DATABASE '+"`$dbName`")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register('createPGDB') {
|
task createPGDB {
|
||||||
description = "Creates the PostgreSQL Database. Needs database name to be passed (like: -PdbName=someDBname)"
|
description= "Creates the PostgreSQL Database. Needs database name to be passed (like: -PdbName=someDBname)"
|
||||||
doLast {
|
doLast {
|
||||||
def sql = Sql.newInstance('jdbc:postgresql://localhost:5432/', pgUser, pgPassword, 'org.postgresql.Driver')
|
def sql = Sql.newInstance( 'jdbc:postgresql://localhost:5432/', pgUser, pgPassword, 'org.postgresql.Driver' )
|
||||||
sql.execute('create database ' + "$dbName")
|
sql.execute( 'create database '+"$dbName" )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register('dropPGDB') {
|
task dropPGDB {
|
||||||
description = "Drops the specified PostgreSQL database. The database name has to be passed (like: -PdbName=someDBname)"
|
description= "Drops the specified PostgreSQL database. The database name has to be passed (like: -PdbName=someDBname)"
|
||||||
doLast {
|
doLast {
|
||||||
def sql = Sql.newInstance('jdbc:postgresql://localhost:5432/', pgUser, pgPassword, 'org.postgresql.Driver')
|
def sql = Sql.newInstance( 'jdbc:postgresql://localhost:5432/', pgUser, pgPassword, 'org.postgresql.Driver' )
|
||||||
sql.execute('DROP DATABASE ' + "$dbName")
|
sql.execute( 'DROP DATABASE '+ "$dbName")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register('createMySQLDB') {
|
task createMySQLDB {
|
||||||
description = "Creates the MySQL Database. Needs database name to be passed (like: -PdbName=someDBname)"
|
description= "Creates the MySQL Database. Needs database name to be passed (like: -PdbName=someDBname)"
|
||||||
doLast {
|
doLast {
|
||||||
def sql = Sql.newInstance('jdbc:mysql://localhost:3306/', mysqlUser, mysqlPassword, 'com.mysql.cj.jdbc.Driver')
|
def sql = Sql.newInstance( 'jdbc:mysql://localhost:3306/', mysqlUser, mysqlPassword, 'com.mysql.cj.jdbc.Driver' )
|
||||||
sql.execute('CREATE DATABASE ' + "`$dbName` CHARACTER SET utf8mb4")
|
sql.execute( 'CREATE DATABASE '+"`$dbName` CHARACTER SET utf8mb4" )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register('dropMySQLDB') {
|
task dropMySQLDB {
|
||||||
description = "Drops the specified MySQL database. The database name has to be passed (like: -PdbName=someDBname)"
|
description= "Drops the specified MySQL database. The database name has to be passed (like: -PdbName=someDBname)"
|
||||||
doLast {
|
doLast {
|
||||||
def sql = Sql.newInstance('jdbc:mysql://localhost:3306/', mysqlUser, mysqlPassword, 'com.mysql.cj.jdbc.Driver')
|
def sql = Sql.newInstance( 'jdbc:mysql://localhost:3306/', mysqlUser, mysqlPassword, 'com.mysql.cj.jdbc.Driver' )
|
||||||
sql.execute('DROP DATABASE ' + "`$dbName`")
|
sql.execute( 'DROP DATABASE '+"`$dbName`")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register('setBlankPassword') {
|
task setBlankPassword {
|
||||||
doLast {
|
doLast {
|
||||||
def sql = Sql.newInstance('jdbc:mariadb://localhost:3306/', mysqlUser, mysqlPassword, 'org.mariadb.jdbc.Driver')
|
def sql = Sql.newInstance( 'jdbc:mariadb://localhost:3306/', mysqlUser, mysqlPassword, 'org.mariadb.jdbc.Driver' )
|
||||||
sql.execute('USE `fineract_tenants`')
|
sql.execute('USE `fineract_tenants`')
|
||||||
sql.execute('UPDATE fineract_tenants.tenants SET schema_server = \'localhost\', schema_server_port = \'3306\', schema_username = \'mifos\', schema_password = \'mysql\' WHERE id=1;')
|
sql.execute('UPDATE fineract_tenants.tenants SET schema_server = \'localhost\', schema_server_port = \'3306\', schema_username = \'mifos\', schema_password = \'mysql\' WHERE id=1;')
|
||||||
}
|
}
|
||||||
@@ -323,12 +311,12 @@ jib {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register('migrateDatabase') {
|
task migrateDatabase {
|
||||||
doFirst {
|
doFirst {
|
||||||
println 'Executing liquibase database migration to version ' + "$dbVersion"
|
println 'Executing liquibase database migration to version '+"$dbVersion"
|
||||||
|
|
||||||
def dbUrl = 'jdbc:' + "$dbType" + '://' + "$dbHost" + ':' + "$dbPort" + '/' + "$dbName"
|
def dbUrl='jdbc:'+"$dbType"+'://'+"$dbHost"+':'+"$dbPort"+'/'+"$dbName"
|
||||||
def changeLogFilePath = 'fineract-provider/src/main/resources/db/changelog/tenant/upgrades/0000_upgrade_to_' + "$dbVersion" + '.xml'
|
def changeLogFilePath='fineract-provider/src/main/resources/db/changelog/tenant/upgrades/0000_upgrade_to_'+"$dbVersion"+'.xml'
|
||||||
|
|
||||||
liquibase {
|
liquibase {
|
||||||
activities {
|
activities {
|
||||||
@@ -384,7 +372,7 @@ javadoc {
|
|||||||
dependsOn resolve
|
dependsOn resolve
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.register('devRun', org.springframework.boot.gradle.tasks.run.BootRun) {
|
task devRun(type: org.springframework.boot.gradle.tasks.run.BootRun) {
|
||||||
description = 'Runs the application quickly for development by skipping quality checks'
|
description = 'Runs the application quickly for development by skipping quality checks'
|
||||||
group = 'Application'
|
group = 'Application'
|
||||||
|
|
||||||
@@ -393,11 +381,11 @@ tasks.register('devRun', org.springframework.boot.gradle.tasks.run.BootRun) {
|
|||||||
if (graph.hasTask(devRun)) {
|
if (graph.hasTask(devRun)) {
|
||||||
tasks.matching { task ->
|
tasks.matching { task ->
|
||||||
task.name in ['checkstyle', 'checkstyleMain', 'checkstyleTest',
|
task.name in ['checkstyle', 'checkstyleMain', 'checkstyleTest',
|
||||||
'spotlessCheck', 'spotlessApply',
|
'spotlessCheck', 'spotlessApply',
|
||||||
'spotbugsMain', 'spotbugsTest',
|
'spotbugsMain', 'spotbugsTest',
|
||||||
'javadoc', 'javadocJar',
|
'javadoc', 'javadocJar',
|
||||||
'modernizer',
|
'modernizer',
|
||||||
'testClasses']
|
'testClasses']
|
||||||
}.configureEach {
|
}.configureEach {
|
||||||
enabled = false
|
enabled = false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -434,7 +434,7 @@ springdoc.pathsToMatch=/api/**
|
|||||||
springdoc.use-management-port=${SPRINGDOC_USE_MANAGEMENT_PORT:false}
|
springdoc.use-management-port=${SPRINGDOC_USE_MANAGEMENT_PORT:false}
|
||||||
springdoc.show-actuator=${SPRINGDOC_SHOW_ACTUATOR:false}
|
springdoc.show-actuator=${SPRINGDOC_SHOW_ACTUATOR:false}
|
||||||
|
|
||||||
spring.web.resources.static-locations=classpath:/static/, /swagger/
|
spring.web.resources.static-locations=classpath:/static/
|
||||||
|
|
||||||
spring.main.allow-bean-definition-overriding=true
|
spring.main.allow-bean-definition-overriding=true
|
||||||
spring.task.scheduling.pool.size=4
|
spring.task.scheduling.pool.size=4
|
||||||
|
|||||||
+21
-29
@@ -21,35 +21,23 @@ description = 'Fineract Rates'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
tasks.register('staticWeaveJpa', JavaExec) {
|
compileJava.doLast {
|
||||||
group = "build"
|
def mainSS = sourceSets.main
|
||||||
description = "Performs EclipseLink static weaving of entity classes"
|
def source = mainSS.java.classesDirectory.get()
|
||||||
|
copy {
|
||||||
dependsOn classes
|
from file("src/main/resources/jpa/rates/persistence.xml")
|
||||||
|
into "${source}/META-INF/"
|
||||||
def classesDir = file("$buildDir/classes/java/main")
|
}
|
||||||
|
javaexec {
|
||||||
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
description = 'Performs EclipseLink static weaving of entity classes'
|
||||||
classpath = sourceSets.main.runtimeClasspath
|
def target = source
|
||||||
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
||||||
}
|
args '-persistenceinfo', source, source, target
|
||||||
|
classpath sourceSets.main.runtimeClasspath
|
||||||
staticWeaveJpa.doLast {
|
}
|
||||||
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
delete {
|
||||||
}
|
delete "${source}/META-INF/persistence.xml"
|
||||||
|
}
|
||||||
tasks.named('classes') {
|
|
||||||
finalizedBy staticWeaveJpa
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.named('processResources') {
|
|
||||||
from('src/main/resources')
|
|
||||||
into sourceSets.main.java.classesDirectory
|
|
||||||
outputs.upToDateWhen { false }
|
|
||||||
}
|
|
||||||
|
|
||||||
compileJava {
|
|
||||||
dependsOn ':fineract-avro-schemas:buildJavaSdk'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Configuration for Swagger documentation generation task
|
// Configuration for Swagger documentation generation task
|
||||||
@@ -103,6 +91,10 @@ eclipse {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* http://stackoverflow.com/questions/19653311/jpa-repository-works-in-idea-and-production-but-not-in-gradle */
|
||||||
|
sourceSets.main.output.resourcesDir = sourceSets.main.java.classesDirectory
|
||||||
|
sourceSets.test.output.resourcesDir = sourceSets.test.java.classesDirectory
|
||||||
|
|
||||||
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
||||||
sourceSets {
|
sourceSets {
|
||||||
test {
|
test {
|
||||||
|
|||||||
@@ -21,35 +21,23 @@ description = 'Fineract Report'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
tasks.register('staticWeaveJpa', JavaExec) {
|
compileJava.doLast {
|
||||||
group = "build"
|
def mainSS = sourceSets.main
|
||||||
description = "Performs EclipseLink static weaving of entity classes"
|
def source = mainSS.java.classesDirectory.get()
|
||||||
|
copy {
|
||||||
dependsOn classes
|
from file("src/main/resources/jpa/report/persistence.xml")
|
||||||
|
into "${source}/META-INF/"
|
||||||
def classesDir = file("$buildDir/classes/java/main")
|
}
|
||||||
|
javaexec {
|
||||||
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
description = 'Performs EclipseLink static weaving of entity classes'
|
||||||
classpath = sourceSets.main.runtimeClasspath
|
def target = source
|
||||||
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
||||||
}
|
args '-persistenceinfo', source, source, target
|
||||||
|
classpath sourceSets.main.runtimeClasspath
|
||||||
staticWeaveJpa.doLast {
|
}
|
||||||
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
delete {
|
||||||
}
|
delete "${source}/META-INF/persistence.xml"
|
||||||
|
}
|
||||||
tasks.named('classes') {
|
|
||||||
finalizedBy staticWeaveJpa
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.named('processResources') {
|
|
||||||
from('src/main/resources')
|
|
||||||
into sourceSets.main.java.classesDirectory
|
|
||||||
outputs.upToDateWhen { false }
|
|
||||||
}
|
|
||||||
|
|
||||||
compileJava {
|
|
||||||
dependsOn ':fineract-avro-schemas:buildJavaSdk'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Configuration for Swagger documentation generation task
|
// Configuration for Swagger documentation generation task
|
||||||
@@ -103,6 +91,10 @@ eclipse {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* http://stackoverflow.com/questions/19653311/jpa-repository-works-in-idea-and-production-but-not-in-gradle */
|
||||||
|
sourceSets.main.output.resourcesDir = sourceSets.main.java.classesDirectory
|
||||||
|
sourceSets.test.output.resourcesDir = sourceSets.test.java.classesDirectory
|
||||||
|
|
||||||
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
||||||
sourceSets {
|
sourceSets {
|
||||||
test {
|
test {
|
||||||
|
|||||||
@@ -21,35 +21,23 @@ description = 'Fineract Savings'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
tasks.register('staticWeaveJpa', JavaExec) {
|
compileJava.doLast {
|
||||||
group = "build"
|
def mainSS = sourceSets.main
|
||||||
description = "Performs EclipseLink static weaving of entity classes"
|
def source = mainSS.java.classesDirectory.get()
|
||||||
|
copy {
|
||||||
dependsOn classes
|
from file("src/main/resources/jpa/savings/persistence.xml")
|
||||||
|
into "${source}/META-INF/"
|
||||||
def classesDir = file("$buildDir/classes/java/main")
|
}
|
||||||
|
javaexec {
|
||||||
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
description = 'Performs EclipseLink static weaving of entity classes'
|
||||||
classpath = sourceSets.main.runtimeClasspath
|
def target = source
|
||||||
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
||||||
}
|
args '-persistenceinfo', source, source, target
|
||||||
|
classpath sourceSets.main.runtimeClasspath
|
||||||
staticWeaveJpa.doLast {
|
}
|
||||||
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
delete {
|
||||||
}
|
delete "${source}/META-INF/persistence.xml"
|
||||||
|
}
|
||||||
tasks.named('classes') {
|
|
||||||
finalizedBy staticWeaveJpa
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.named('processResources') {
|
|
||||||
from('src/main/resources')
|
|
||||||
into sourceSets.main.java.classesDirectory
|
|
||||||
outputs.upToDateWhen { false }
|
|
||||||
}
|
|
||||||
|
|
||||||
compileJava {
|
|
||||||
dependsOn ':fineract-avro-schemas:buildJavaSdk'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Configuration for Swagger documentation generation task
|
// Configuration for Swagger documentation generation task
|
||||||
@@ -103,6 +91,10 @@ eclipse {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* http://stackoverflow.com/questions/19653311/jpa-repository-works-in-idea-and-production-but-not-in-gradle */
|
||||||
|
sourceSets.main.output.resourcesDir = sourceSets.main.java.classesDirectory
|
||||||
|
sourceSets.test.output.resourcesDir = sourceSets.test.java.classesDirectory
|
||||||
|
|
||||||
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
||||||
sourceSets {
|
sourceSets {
|
||||||
test {
|
test {
|
||||||
|
|||||||
+21
-29
@@ -21,35 +21,23 @@ description = 'Fineract Taxes'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
tasks.register('staticWeaveJpa', JavaExec) {
|
compileJava.doLast {
|
||||||
group = "build"
|
def mainSS = sourceSets.main
|
||||||
description = "Performs EclipseLink static weaving of entity classes"
|
def source = mainSS.java.classesDirectory.get()
|
||||||
|
copy {
|
||||||
dependsOn classes
|
from file("src/main/resources/jpa/taxes/persistence.xml")
|
||||||
|
into "${source}/META-INF/"
|
||||||
def classesDir = file("$buildDir/classes/java/main")
|
}
|
||||||
|
javaexec {
|
||||||
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
description = 'Performs EclipseLink static weaving of entity classes'
|
||||||
classpath = sourceSets.main.runtimeClasspath
|
def target = source
|
||||||
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
||||||
}
|
args '-persistenceinfo', source, source, target
|
||||||
|
classpath sourceSets.main.runtimeClasspath
|
||||||
staticWeaveJpa.doLast {
|
}
|
||||||
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
delete {
|
||||||
}
|
delete "${source}/META-INF/persistence.xml"
|
||||||
|
}
|
||||||
tasks.named('classes') {
|
|
||||||
finalizedBy staticWeaveJpa
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.named('processResources') {
|
|
||||||
from('src/main/resources')
|
|
||||||
into sourceSets.main.java.classesDirectory
|
|
||||||
outputs.upToDateWhen { false }
|
|
||||||
}
|
|
||||||
|
|
||||||
compileJava {
|
|
||||||
dependsOn ':fineract-avro-schemas:buildJavaSdk'
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Configuration for Swagger documentation generation task
|
// Configuration for Swagger documentation generation task
|
||||||
@@ -103,6 +91,10 @@ eclipse {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* http://stackoverflow.com/questions/19653311/jpa-repository-works-in-idea-and-production-but-not-in-gradle */
|
||||||
|
sourceSets.main.output.resourcesDir = sourceSets.main.java.classesDirectory
|
||||||
|
sourceSets.test.output.resourcesDir = sourceSets.test.java.classesDirectory
|
||||||
|
|
||||||
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
||||||
sourceSets {
|
sourceSets {
|
||||||
test {
|
test {
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ dependencies {
|
|||||||
implementation project(':fineract-provider')
|
implementation project(':fineract-provider')
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.withType(Tar).configureEach {
|
tasks.withType(Tar) {
|
||||||
compression Compression.GZIP
|
compression Compression.GZIP
|
||||||
archiveExtension = 'tar.gz'
|
archiveExtension = 'tar.gz'
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user