FINERACT-2181: Some tweaks in the gradle build to ensure correct task processing
This commit is contained in:
+8
-6
@@ -365,12 +365,12 @@ configure(project.fineractJavaProjects) {
|
|||||||
withJavadocJar()
|
withJavadocJar()
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.withType(ProcessResources) {
|
tasks.withType(ProcessResources).configureEach {
|
||||||
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.all {
|
configurations.configureEach {
|
||||||
resolutionStrategy {
|
resolutionStrategy {
|
||||||
cacheChangingModulesFor 0, 'seconds'
|
cacheChangingModulesFor 0, 'seconds'
|
||||||
cacheDynamicVersionsFor 0, 'seconds'
|
cacheDynamicVersionsFor 0, 'seconds'
|
||||||
@@ -422,10 +422,10 @@ configure(project.fineractJavaProjects) {
|
|||||||
configurations {
|
configurations {
|
||||||
api.setCanBeResolved(true)
|
api.setCanBeResolved(true)
|
||||||
}
|
}
|
||||||
tasks.withType(Copy) {
|
tasks.withType(Copy).configureEach {
|
||||||
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
||||||
}
|
}
|
||||||
tasks.withType(JavaCompile) {
|
tasks.withType(JavaCompile).configureEach {
|
||||||
options.compilerArgs += [
|
options.compilerArgs += [
|
||||||
"-Xlint:cast",
|
"-Xlint:cast",
|
||||||
"-Xlint:auxiliaryclass",
|
"-Xlint:auxiliaryclass",
|
||||||
@@ -738,13 +738,15 @@ configure(project.fineractJavaProjects) {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.withType(Javadoc) {
|
tasks.withType(Javadoc).tap {
|
||||||
|
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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
configure(project.fineractCustomProjects) {
|
configure(project.fineractCustomProjects) {
|
||||||
compileJava {
|
compileJava {
|
||||||
@@ -868,7 +870,7 @@ configure(project.fineractPublishProjects) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
task printSourceSetInformation() {
|
tasks.register('printSourceSetInformation') {
|
||||||
doLast {
|
doLast {
|
||||||
sourceSets.each { srcSet ->
|
sourceSets.each { srcSet ->
|
||||||
println "[" + srcSet.name + "]"
|
println "[" + srcSet.name + "]"
|
||||||
|
|||||||
@@ -21,23 +21,35 @@ description = 'Fineract Accounting'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
compileJava.doLast {
|
tasks.register('staticWeaveJpa', JavaExec) {
|
||||||
def mainSS = sourceSets.main
|
group = "build"
|
||||||
def source = mainSS.java.classesDirectory.get()
|
description = "Performs EclipseLink static weaving of entity classes"
|
||||||
copy {
|
|
||||||
from file("src/main/resources/jpa/accounting/persistence.xml")
|
dependsOn classes
|
||||||
into "${source}/META-INF/"
|
|
||||||
|
def classesDir = file("$buildDir/classes/java/main")
|
||||||
|
|
||||||
|
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
||||||
|
classpath = sourceSets.main.runtimeClasspath
|
||||||
|
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
||||||
}
|
}
|
||||||
javaexec {
|
|
||||||
description = 'Performs EclipseLink static weaving of entity classes'
|
staticWeaveJpa.doLast {
|
||||||
def target = source
|
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
||||||
mainClass = 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
|
||||||
args '-persistenceinfo', source, source, target
|
|
||||||
classpath sourceSets.main.runtimeClasspath
|
|
||||||
}
|
}
|
||||||
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 {
|
||||||
@@ -85,10 +97,6 @@ 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,9 +57,11 @@ 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
|
||||||
}
|
}
|
||||||
|
|
||||||
task buildJavaSdk(type: GenerateAvroJavaTask) {
|
tasks.register('buildJavaSdk', 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/"
|
||||||
@@ -73,12 +75,10 @@ spotless {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
buildJavaSdk.dependsOn(preprocessAvroSchemas, spotlessJsonApply)
|
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
main {
|
main {
|
||||||
java {
|
java {
|
||||||
srcDir file("$buildDir/generated/java/src/main/java")
|
srcDirs += "$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
|
dependsOn buildJavaSdk, processResources
|
||||||
source = sourceSets.main.java.srcDirs
|
source = sourceSets.main.java.srcDirs
|
||||||
options.compilerArgs += ['-parameters']
|
options.compilerArgs += ['-parameters']
|
||||||
}
|
}
|
||||||
@@ -131,3 +131,9 @@ 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,23 +21,35 @@ description = 'Fineract Branch'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
compileJava.doLast {
|
tasks.register('staticWeaveJpa', JavaExec) {
|
||||||
def mainSS = sourceSets.main
|
group = "build"
|
||||||
def source = mainSS.java.classesDirectory.get()
|
description = "Performs EclipseLink static weaving of entity classes"
|
||||||
copy {
|
|
||||||
from file("src/main/resources/jpa/branch/persistence.xml")
|
dependsOn classes
|
||||||
into "${source}/META-INF/"
|
|
||||||
|
def classesDir = file("$buildDir/classes/java/main")
|
||||||
|
|
||||||
|
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
||||||
|
classpath = sourceSets.main.runtimeClasspath
|
||||||
|
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
||||||
}
|
}
|
||||||
javaexec {
|
|
||||||
description = 'Performs EclipseLink static weaving of entity classes'
|
staticWeaveJpa.doLast {
|
||||||
def target = source
|
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
||||||
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
|
||||||
args '-persistenceinfo', source, source, target
|
|
||||||
classpath sourceSets.main.runtimeClasspath
|
|
||||||
}
|
}
|
||||||
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
|
||||||
@@ -91,10 +103,6 @@ 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,23 +21,35 @@ description = 'Fineract Charge'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
compileJava.doLast {
|
tasks.register('staticWeaveJpa', JavaExec) {
|
||||||
def mainSS = sourceSets.main
|
group = "build"
|
||||||
def source = mainSS.java.classesDirectory.get()
|
description = "Performs EclipseLink static weaving of entity classes"
|
||||||
copy {
|
|
||||||
from file("src/main/resources/jpa/charge/persistence.xml")
|
dependsOn classes
|
||||||
into "${source}/META-INF/"
|
|
||||||
|
def classesDir = file("$buildDir/classes/java/main")
|
||||||
|
|
||||||
|
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
||||||
|
classpath = sourceSets.main.runtimeClasspath
|
||||||
|
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
||||||
}
|
}
|
||||||
javaexec {
|
|
||||||
description = 'Performs EclipseLink static weaving of entity classes'
|
staticWeaveJpa.doLast {
|
||||||
def target = source
|
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
||||||
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
|
||||||
args '-persistenceinfo', source, source, target
|
|
||||||
classpath sourceSets.main.runtimeClasspath
|
|
||||||
}
|
}
|
||||||
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
|
||||||
@@ -91,10 +103,6 @@ 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,3 +1,5 @@
|
|||||||
|
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
|
||||||
@@ -35,7 +37,7 @@ openApiValidate {
|
|||||||
recommend = true
|
recommend = true
|
||||||
}
|
}
|
||||||
|
|
||||||
task buildJavaSdk(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask) {
|
tasks.register('buildJavaSdk', GenerateTask) {
|
||||||
generatorName = 'java'
|
generatorName = 'java'
|
||||||
verbose = false
|
verbose = false
|
||||||
validateSpec = false
|
validateSpec = false
|
||||||
@@ -60,7 +62,7 @@ task buildJavaSdk(type: org.openapitools.generator.gradle.plugin.tasks.GenerateT
|
|||||||
dependsOn(':fineract-provider:resolve')
|
dependsOn(':fineract-provider:resolve')
|
||||||
}
|
}
|
||||||
|
|
||||||
task buildTypescriptAngularSdk(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask){
|
tasks.register('buildTypescriptAngularSdk', GenerateTask) {
|
||||||
generatorName = 'typescript-angular'
|
generatorName = 'typescript-angular'
|
||||||
verbose = false
|
verbose = false
|
||||||
validateSpec = false
|
validateSpec = false
|
||||||
@@ -80,7 +82,7 @@ task buildTypescriptAngularSdk(type: org.openapitools.generator.gradle.plugin.ta
|
|||||||
dependsOn(':fineract-provider:resolve')
|
dependsOn(':fineract-provider:resolve')
|
||||||
}
|
}
|
||||||
|
|
||||||
task buildAsciidoc(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask){
|
tasks.register('buildAsciidoc', GenerateTask) {
|
||||||
generatorName = 'asciidoc'
|
generatorName = 'asciidoc'
|
||||||
verbose = false
|
verbose = false
|
||||||
validateSpec = false
|
validateSpec = false
|
||||||
@@ -131,7 +133,7 @@ tasks.withType(Jar).configureEach {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Improve the cleanup task to track inputs and outputs
|
// Improve the cleanup task to track inputs and outputs
|
||||||
task cleanupGeneratedJavaFiles() {
|
tasks.register('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")
|
||||||
|
|
||||||
|
|||||||
+23
-15
@@ -21,23 +21,31 @@ description = 'Fineract Core'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
compileJava.doLast {
|
tasks.register('staticWeaveJpa', JavaExec) {
|
||||||
def mainSS = sourceSets.main
|
group = "build"
|
||||||
def source = mainSS.java.classesDirectory.get()
|
description = "Performs EclipseLink static weaving of entity classes"
|
||||||
copy {
|
|
||||||
from file("src/main/resources/jpa/core/persistence.xml")
|
dependsOn classes, processResources
|
||||||
into "${source}/META-INF/"
|
|
||||||
|
def classesDir = file(sourceSets.main.output.classesDirs.asPath)
|
||||||
|
|
||||||
|
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
||||||
|
classpath = sourceSets.main.runtimeClasspath
|
||||||
|
args '-persistenceinfo', classesDir, classesDir, classesDir
|
||||||
}
|
}
|
||||||
javaexec {
|
|
||||||
description = 'Performs EclipseLink static weaving of entity classes'
|
staticWeaveJpa.doLast {
|
||||||
def target = source
|
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
||||||
main = 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
|
||||||
args '-persistenceinfo', source, source, target
|
|
||||||
classpath sourceSets.main.runtimeClasspath
|
|
||||||
}
|
}
|
||||||
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 {
|
||||||
@@ -64,7 +72,7 @@ configurations {
|
|||||||
apply from: 'dependencies.gradle'
|
apply from: 'dependencies.gradle'
|
||||||
|
|
||||||
compileJava {
|
compileJava {
|
||||||
dependsOn ':fineract-avro-schemas:jar'
|
dependsOn ':fineract-avro-schemas:compileJava', processResources
|
||||||
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')
|
||||||
}
|
}
|
||||||
|
|
||||||
task copyImages(type: Copy) {
|
tasks.register('copyImages', Copy) {
|
||||||
from "${projectDir}/src/docs/en/images"
|
from "${projectDir}/src/docs/en/images"
|
||||||
into "${buildDir}/generated/images"
|
into "${buildDir}/generated/images"
|
||||||
}
|
}
|
||||||
|
|
||||||
task copyDiagrams(type: Copy) {
|
tasks.register('copyDiagrams', 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')
|
||||||
}
|
}
|
||||||
|
|
||||||
task doc(type: Zip) {
|
tasks.register('doc', Zip) {
|
||||||
dependsOn(asciidoctor, asciidoctorPdf)
|
dependsOn(asciidoctor, asciidoctorPdf)
|
||||||
|
|
||||||
into("fineract-${project.version}/html") {
|
into("fineract-${project.version}/html") {
|
||||||
|
|||||||
@@ -21,23 +21,35 @@ description = 'Fineract Document'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
compileJava.doLast {
|
tasks.register('staticWeaveJpa', JavaExec) {
|
||||||
def mainSS = sourceSets.main
|
group = "build"
|
||||||
def source = mainSS.java.classesDirectory.get()
|
description = "Performs EclipseLink static weaving of entity classes"
|
||||||
copy {
|
|
||||||
from file("src/main/resources/jpa/document/persistence.xml")
|
dependsOn classes
|
||||||
into "${source}/META-INF/"
|
|
||||||
|
def classesDir = file("$buildDir/classes/java/main")
|
||||||
|
|
||||||
|
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
||||||
|
classpath = sourceSets.main.runtimeClasspath
|
||||||
|
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
||||||
}
|
}
|
||||||
javaexec {
|
|
||||||
description = 'Performs EclipseLink static weaving of entity classes'
|
staticWeaveJpa.doLast {
|
||||||
def target = source
|
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
||||||
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
|
||||||
args '-persistenceinfo', source, '-classpath', sourceSets.main.runtimeClasspath, source, target
|
|
||||||
classpath sourceSets.main.runtimeClasspath
|
|
||||||
}
|
}
|
||||||
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,23 +21,35 @@ description = 'Fineract Investor'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
compileJava.doLast {
|
tasks.register('staticWeaveJpa', JavaExec) {
|
||||||
def mainSS = sourceSets.main
|
group = "build"
|
||||||
def source = mainSS.java.classesDirectory.get()
|
description = "Performs EclipseLink static weaving of entity classes"
|
||||||
copy {
|
|
||||||
from file("src/main/resources/jpa/investor/persistence.xml")
|
dependsOn classes
|
||||||
into "${source}/META-INF/"
|
|
||||||
|
def classesDir = file("$buildDir/classes/java/main")
|
||||||
|
|
||||||
|
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
||||||
|
classpath = sourceSets.main.runtimeClasspath
|
||||||
|
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
||||||
}
|
}
|
||||||
javaexec {
|
|
||||||
description = 'Performs EclipseLink static weaving of entity classes'
|
staticWeaveJpa.doLast {
|
||||||
def target = source
|
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
||||||
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
|
||||||
args '-persistenceinfo', source, source, target
|
|
||||||
classpath sourceSets.main.runtimeClasspath
|
|
||||||
}
|
}
|
||||||
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 {
|
||||||
@@ -85,10 +97,6 @@ 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 {
|
||||||
|
|||||||
+32
-17
@@ -21,23 +21,36 @@ description = 'Fineract Loan'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
compileJava.doLast {
|
tasks.register('staticWeaveJpa', JavaExec) {
|
||||||
def mainSS = sourceSets.main
|
group = "build"
|
||||||
def source = mainSS.java.classesDirectory.get()
|
description = "Performs EclipseLink static weaving of entity classes"
|
||||||
|
|
||||||
|
dependsOn classes
|
||||||
|
|
||||||
|
def classesDir = file("$buildDir/classes/java/main")
|
||||||
|
def metaInf = new File(classesDir, "META-INF")
|
||||||
|
metaInf.mkdirs()
|
||||||
|
|
||||||
copy {
|
copy {
|
||||||
from file("src/main/resources/jpa/loan/persistence.xml")
|
from "src/main/resources/jpa/loan/persistence.xml"
|
||||||
into "${source}/META-INF/"
|
into "$buildDir/classes/java/main/META-INF"
|
||||||
}
|
}
|
||||||
javaexec {
|
|
||||||
description = 'Performs EclipseLink static weaving of entity classes'
|
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
||||||
def target = source
|
classpath = sourceSets.main.runtimeClasspath
|
||||||
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
||||||
args '-persistenceinfo', source, source, target
|
|
||||||
classpath sourceSets.main.runtimeClasspath
|
|
||||||
}
|
}
|
||||||
delete {
|
|
||||||
delete "${source}/META-INF/persistence.xml"
|
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
|
||||||
@@ -91,10 +104,6 @@ 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 {
|
||||||
@@ -104,3 +113,9 @@ if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.named('processResources') {
|
||||||
|
from('src/main/resources')
|
||||||
|
into sourceSets.main.java.classesDirectory
|
||||||
|
outputs.upToDateWhen { false }
|
||||||
|
}
|
||||||
|
|||||||
@@ -21,23 +21,35 @@ description = 'Fineract Progressive Loan'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
compileJava.doLast {
|
tasks.register('staticWeaveJpa', JavaExec) {
|
||||||
def mainSS = sourceSets.main
|
group = "build"
|
||||||
def source = mainSS.java.classesDirectory.get()
|
description = "Performs EclipseLink static weaving of entity classes"
|
||||||
copy {
|
|
||||||
from file("src/main/resources/jpa/progressiveloan/persistence.xml")
|
dependsOn classes
|
||||||
into "${source}/META-INF/"
|
|
||||||
|
def classesDir = file("$buildDir/classes/java/main")
|
||||||
|
|
||||||
|
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
||||||
|
classpath = sourceSets.main.runtimeClasspath
|
||||||
|
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
||||||
}
|
}
|
||||||
javaexec {
|
|
||||||
description = 'Performs EclipseLink static weaving of entity classes'
|
staticWeaveJpa.doLast {
|
||||||
def target = source
|
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
||||||
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
|
||||||
args '-persistenceinfo', source, source, target
|
|
||||||
classpath sourceSets.main.runtimeClasspath
|
|
||||||
}
|
}
|
||||||
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 {
|
||||||
@@ -85,10 +97,6 @@ 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,30 +30,46 @@ apply plugin: 'se.thinkcode.cucumber-runner'
|
|||||||
|
|
||||||
check.dependsOn('cucumber')
|
check.dependsOn('cucumber')
|
||||||
|
|
||||||
compileJava.doLast {
|
tasks.register('staticWeaveJpa', JavaExec) {
|
||||||
def mainSS = sourceSets.main
|
group = "build"
|
||||||
def source = mainSS.java.classesDirectory.get()
|
description = "Performs EclipseLink static weaving of entity classes"
|
||||||
copy {
|
|
||||||
from file("src/main/resources/jpa/persistence.xml")
|
dependsOn classes
|
||||||
into "${source}/META-INF/"
|
|
||||||
|
def classesDir = file("$buildDir/classes/java/main")
|
||||||
|
|
||||||
|
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
||||||
|
classpath = sourceSets.main.runtimeClasspath
|
||||||
|
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
||||||
}
|
}
|
||||||
javaexec {
|
|
||||||
description = 'Performs EclipseLink static weaving of entity classes'
|
staticWeaveJpa.doLast {
|
||||||
def target = source
|
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
||||||
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
|
||||||
args '-persistenceinfo', source, source, target
|
|
||||||
classpath sourceSets.main.runtimeClasspath
|
|
||||||
}
|
}
|
||||||
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
|
||||||
|
|
||||||
task prepareInputYaml {
|
tasks.register('prepareInputYaml') {
|
||||||
outputs.file("${buildDir}/tmp/swagger/fineract-input.yaml")
|
outputs.file("${buildDir}/tmp/swagger/fineract-input.yaml")
|
||||||
|
|
||||||
doLast {
|
doLast {
|
||||||
@@ -139,10 +155,6 @@ 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 {
|
||||||
@@ -176,7 +188,7 @@ configurations.driver.each {File file ->
|
|||||||
loader.addURL(file.toURL())
|
loader.addURL(file.toURL())
|
||||||
}
|
}
|
||||||
|
|
||||||
task createDB {
|
tasks.register('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')
|
||||||
@@ -184,7 +196,7 @@ task createDB {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
task dropDB {
|
tasks.register('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')
|
||||||
@@ -192,7 +204,7 @@ task dropDB {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
task createPGDB {
|
tasks.register('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')
|
||||||
@@ -200,7 +212,7 @@ task createPGDB {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
task dropPGDB {
|
tasks.register('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')
|
||||||
@@ -208,7 +220,7 @@ task dropPGDB {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
task createMySQLDB {
|
tasks.register('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')
|
||||||
@@ -216,7 +228,7 @@ task createMySQLDB {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
task dropMySQLDB {
|
tasks.register('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')
|
||||||
@@ -224,7 +236,7 @@ task dropMySQLDB {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
task setBlankPassword {
|
tasks.register('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`')
|
||||||
@@ -311,7 +323,7 @@ jib {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
task migrateDatabase {
|
tasks.register('migrateDatabase') {
|
||||||
doFirst {
|
doFirst {
|
||||||
println 'Executing liquibase database migration to version ' + "$dbVersion"
|
println 'Executing liquibase database migration to version ' + "$dbVersion"
|
||||||
|
|
||||||
@@ -372,7 +384,7 @@ javadoc {
|
|||||||
dependsOn resolve
|
dependsOn resolve
|
||||||
}
|
}
|
||||||
|
|
||||||
task devRun(type: org.springframework.boot.gradle.tasks.run.BootRun) {
|
tasks.register('devRun', 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'
|
||||||
|
|
||||||
|
|||||||
@@ -433,7 +433,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/
|
spring.web.resources.static-locations=classpath:/static/, /swagger/
|
||||||
|
|
||||||
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
|
||||||
|
|||||||
+26
-18
@@ -21,23 +21,35 @@ description = 'Fineract Rates'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
compileJava.doLast {
|
tasks.register('staticWeaveJpa', JavaExec) {
|
||||||
def mainSS = sourceSets.main
|
group = "build"
|
||||||
def source = mainSS.java.classesDirectory.get()
|
description = "Performs EclipseLink static weaving of entity classes"
|
||||||
copy {
|
|
||||||
from file("src/main/resources/jpa/rates/persistence.xml")
|
dependsOn classes
|
||||||
into "${source}/META-INF/"
|
|
||||||
|
def classesDir = file("$buildDir/classes/java/main")
|
||||||
|
|
||||||
|
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
||||||
|
classpath = sourceSets.main.runtimeClasspath
|
||||||
|
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
||||||
}
|
}
|
||||||
javaexec {
|
|
||||||
description = 'Performs EclipseLink static weaving of entity classes'
|
staticWeaveJpa.doLast {
|
||||||
def target = source
|
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
||||||
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
|
||||||
args '-persistenceinfo', source, source, target
|
|
||||||
classpath sourceSets.main.runtimeClasspath
|
|
||||||
}
|
}
|
||||||
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
|
||||||
@@ -91,10 +103,6 @@ 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,23 +21,35 @@ description = 'Fineract Report'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
compileJava.doLast {
|
tasks.register('staticWeaveJpa', JavaExec) {
|
||||||
def mainSS = sourceSets.main
|
group = "build"
|
||||||
def source = mainSS.java.classesDirectory.get()
|
description = "Performs EclipseLink static weaving of entity classes"
|
||||||
copy {
|
|
||||||
from file("src/main/resources/jpa/report/persistence.xml")
|
dependsOn classes
|
||||||
into "${source}/META-INF/"
|
|
||||||
|
def classesDir = file("$buildDir/classes/java/main")
|
||||||
|
|
||||||
|
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
||||||
|
classpath = sourceSets.main.runtimeClasspath
|
||||||
|
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
||||||
}
|
}
|
||||||
javaexec {
|
|
||||||
description = 'Performs EclipseLink static weaving of entity classes'
|
staticWeaveJpa.doLast {
|
||||||
def target = source
|
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
||||||
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
|
||||||
args '-persistenceinfo', source, source, target
|
|
||||||
classpath sourceSets.main.runtimeClasspath
|
|
||||||
}
|
}
|
||||||
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
|
||||||
@@ -91,10 +103,6 @@ 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,23 +21,35 @@ description = 'Fineract Savings'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
compileJava.doLast {
|
tasks.register('staticWeaveJpa', JavaExec) {
|
||||||
def mainSS = sourceSets.main
|
group = "build"
|
||||||
def source = mainSS.java.classesDirectory.get()
|
description = "Performs EclipseLink static weaving of entity classes"
|
||||||
copy {
|
|
||||||
from file("src/main/resources/jpa/savings/persistence.xml")
|
dependsOn classes
|
||||||
into "${source}/META-INF/"
|
|
||||||
|
def classesDir = file("$buildDir/classes/java/main")
|
||||||
|
|
||||||
|
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
||||||
|
classpath = sourceSets.main.runtimeClasspath
|
||||||
|
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
||||||
}
|
}
|
||||||
javaexec {
|
|
||||||
description = 'Performs EclipseLink static weaving of entity classes'
|
staticWeaveJpa.doLast {
|
||||||
def target = source
|
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
||||||
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
|
||||||
args '-persistenceinfo', source, source, target
|
|
||||||
classpath sourceSets.main.runtimeClasspath
|
|
||||||
}
|
}
|
||||||
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
|
||||||
@@ -91,10 +103,6 @@ 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 {
|
||||||
|
|||||||
+26
-18
@@ -21,23 +21,35 @@ description = 'Fineract Taxes'
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
|
|
||||||
compileJava.doLast {
|
tasks.register('staticWeaveJpa', JavaExec) {
|
||||||
def mainSS = sourceSets.main
|
group = "build"
|
||||||
def source = mainSS.java.classesDirectory.get()
|
description = "Performs EclipseLink static weaving of entity classes"
|
||||||
copy {
|
|
||||||
from file("src/main/resources/jpa/taxes/persistence.xml")
|
dependsOn classes
|
||||||
into "${source}/META-INF/"
|
|
||||||
|
def classesDir = file("$buildDir/classes/java/main")
|
||||||
|
|
||||||
|
mainClass.set('org.eclipse.persistence.tools.weaving.jpa.StaticWeave')
|
||||||
|
classpath = sourceSets.main.runtimeClasspath
|
||||||
|
args '-persistenceinfo', classesDir.absolutePath, classesDir.absolutePath, classesDir.absolutePath
|
||||||
}
|
}
|
||||||
javaexec {
|
|
||||||
description = 'Performs EclipseLink static weaving of entity classes'
|
staticWeaveJpa.doLast {
|
||||||
def target = source
|
delete "${sourceSets.main.output.classesDirs.asPath}/META-INF/persistence.xml"
|
||||||
main 'org.eclipse.persistence.tools.weaving.jpa.StaticWeave'
|
|
||||||
args '-persistenceinfo', source, source, target
|
|
||||||
classpath sourceSets.main.runtimeClasspath
|
|
||||||
}
|
}
|
||||||
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
|
||||||
@@ -91,10 +103,6 @@ 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) {
|
tasks.withType(Tar).configureEach {
|
||||||
compression Compression.GZIP
|
compression Compression.GZIP
|
||||||
archiveExtension = 'tar.gz'
|
archiveExtension = 'tar.gz'
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user