diff --git a/buildSrc/src/main/groovy/org/apache/fineract/gradle/StaticWeaveJpaTask.groovy b/buildSrc/src/main/groovy/org/apache/fineract/gradle/StaticWeaveJpaTask.groovy new file mode 100644 index 000000000..5b1bf2162 --- /dev/null +++ b/buildSrc/src/main/groovy/org/apache/fineract/gradle/StaticWeaveJpaTask.groovy @@ -0,0 +1,66 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.fineract.gradle + +import org.gradle.api.DefaultTask +import org.gradle.api.file.DirectoryProperty +import org.gradle.api.file.RegularFileProperty +import org.gradle.api.tasks.CacheableTask +import org.gradle.api.tasks.InputDirectory +import org.gradle.api.tasks.InputFile +import org.gradle.api.tasks.OutputDirectory +import org.gradle.api.tasks.PathSensitive +import org.gradle.api.tasks.PathSensitivity +import org.gradle.api.tasks.TaskAction + +import java.nio.file.Files +import java.nio.file.StandardCopyOption + +@CacheableTask +abstract class StaticWeaveJpaTask extends DefaultTask { + + @InputDirectory + @PathSensitive(PathSensitivity.RELATIVE) + final DirectoryProperty inputClasses = project.objects.directoryProperty() + + @InputFile + @PathSensitive(PathSensitivity.RELATIVE) + final RegularFileProperty persistenceXml = project.objects.fileProperty() + + @OutputDirectory + final DirectoryProperty outputDir = project.objects.directoryProperty() + + @TaskAction + void weave() { + File weavingRoot = new File(temporaryDir, "static-weaving") + File metaInf = new File(weavingRoot, "META-INF") + metaInf.mkdirs() + Files.copy(persistenceXml.get().asFile.toPath(), new File(metaInf, "persistence.xml").toPath(), StandardCopyOption.REPLACE_EXISTING) + + project.javaexec { + mainClass.set("org.eclipse.persistence.tools.weaving.jpa.StaticWeave") + classpath = project.sourceSets.main.runtimeClasspath + args = [ + "-persistenceinfo", weavingRoot.absolutePath, + inputClasses.get().asFile.absolutePath, + outputDir.get().asFile.absolutePath + ] + } + } +} diff --git a/fineract-accounting/build.gradle b/fineract-accounting/build.gradle index eb91427a7..6140df278 100644 --- a/fineract-accounting/build.gradle +++ b/fineract-accounting/build.gradle @@ -16,30 +16,18 @@ * specific language governing permissions and limitations * under the License. */ +import org.apache.fineract.gradle.StaticWeaveJpaTask description = 'Fineract Accounting' apply plugin: 'java' apply plugin: 'eclipse' -tasks.register('staticWeaveJpa', JavaExec) { +tasks.register("staticWeaveJpa", StaticWeaveJpaTask) { dependsOn classes - def classesDir = layout.buildDirectory.dir("classes/java/main").get().asFile - def outputDir = layout.buildDirectory.dir("weaved-classes").get().asFile - def persistenceInfo = layout.buildDirectory.dir('static-weaving').get() - copy { - from file("src/main/resources/jpa/static-weaving/module/accounting/persistence.xml") - into "${persistenceInfo}/META-INF/" - } - - mainClass.set("org.eclipse.persistence.tools.weaving.jpa.StaticWeave") - classpath = sourceSets.main.runtimeClasspath - - args = [ - '-persistenceinfo', persistenceInfo, - classesDir.absolutePath, - outputDir.absolutePath - ] + inputClasses.set(layout.buildDirectory.dir("classes/java/main").get()) + persistenceXml.set(file("src/main/resources/jpa/static-weaving/module/accounting/persistence.xml")) + outputDir.set(layout.buildDirectory.dir("weaved-classes").get()) } tasks.register("weavedJar", Jar) { diff --git a/fineract-branch/build.gradle b/fineract-branch/build.gradle index b3c2c6ff3..ae2f3d6cc 100644 --- a/fineract-branch/build.gradle +++ b/fineract-branch/build.gradle @@ -16,30 +16,18 @@ * specific language governing permissions and limitations * under the License. */ +import org.apache.fineract.gradle.StaticWeaveJpaTask description = 'Fineract Branch' apply plugin: 'java' apply plugin: 'eclipse' -tasks.register('staticWeaveJpa', JavaExec) { +tasks.register("staticWeaveJpa", StaticWeaveJpaTask) { dependsOn classes - def classesDir = layout.buildDirectory.dir("classes/java/main").get().asFile - def outputDir = layout.buildDirectory.dir("weaved-classes").get().asFile - def persistenceInfo = layout.buildDirectory.dir('static-weaving').get() - copy { - from file("src/main/resources/jpa/static-weaving/module/branch/persistence.xml") - into "${persistenceInfo}/META-INF/" - } - - mainClass.set("org.eclipse.persistence.tools.weaving.jpa.StaticWeave") - classpath = sourceSets.main.runtimeClasspath - - args = [ - '-persistenceinfo', persistenceInfo, - classesDir.absolutePath, - outputDir.absolutePath - ] + inputClasses.set(layout.buildDirectory.dir("classes/java/main").get()) + persistenceXml.set(file("src/main/resources/jpa/static-weaving/module/branch/persistence.xml")) + outputDir.set(layout.buildDirectory.dir("weaved-classes").get()) } @@ -72,6 +60,8 @@ compileJava { // Configuration for Swagger documentation generation task // https://github.com/swagger-api/swagger-core/tree/master/modules/swagger-gradle-plugin + +import org.apache.fineract.gradle.StaticWeaveJpaTask import org.apache.tools.ant.filters.ReplaceTokens diff --git a/fineract-charge/build.gradle b/fineract-charge/build.gradle index 5128875f8..a562e7ea4 100644 --- a/fineract-charge/build.gradle +++ b/fineract-charge/build.gradle @@ -16,30 +16,18 @@ * specific language governing permissions and limitations * under the License. */ +import org.apache.fineract.gradle.StaticWeaveJpaTask description = 'Fineract Charge' apply plugin: 'java' apply plugin: 'eclipse' -tasks.register('staticWeaveJpa', JavaExec) { +tasks.register("staticWeaveJpa", StaticWeaveJpaTask) { dependsOn classes - def classesDir = layout.buildDirectory.dir("classes/java/main").get().asFile - def outputDir = layout.buildDirectory.dir("weaved-classes").get().asFile - def persistenceInfo = layout.buildDirectory.dir('static-weaving').get() - copy { - from file("src/main/resources/jpa/static-weaving/module/charge/persistence.xml") - into "${persistenceInfo}/META-INF/" - } - - mainClass.set("org.eclipse.persistence.tools.weaving.jpa.StaticWeave") - classpath = sourceSets.main.runtimeClasspath - - args = [ - '-persistenceinfo', persistenceInfo, - classesDir.absolutePath, - outputDir.absolutePath - ] + inputClasses.set(layout.buildDirectory.dir("classes/java/main").get()) + persistenceXml.set(file("src/main/resources/jpa/static-weaving/module/charge/persistence.xml")) + outputDir.set(layout.buildDirectory.dir("weaved-classes").get()) } @@ -72,6 +60,8 @@ compileJava { // Configuration for Swagger documentation generation task // https://github.com/swagger-api/swagger-core/tree/master/modules/swagger-gradle-plugin + +import org.apache.fineract.gradle.StaticWeaveJpaTask import org.apache.tools.ant.filters.ReplaceTokens diff --git a/fineract-command/build.gradle b/fineract-command/build.gradle index d585dce85..e6ea64f40 100644 --- a/fineract-command/build.gradle +++ b/fineract-command/build.gradle @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ +import org.apache.fineract.gradle.StaticWeaveJpaTask description = 'Fineract Command' apply plugin: 'java' @@ -81,25 +82,12 @@ jmh { benchmarkMode = ['thrpt'] // Default benchmark mode } -tasks.register('staticWeaveJpa', JavaExec) { +tasks.register("staticWeaveJpa", StaticWeaveJpaTask) { dependsOn classes - def classesDir = layout.buildDirectory.dir("classes/java/main").get().asFile - def outputDir = layout.buildDirectory.dir("weaved-classes").get().asFile - def persistenceInfo = layout.buildDirectory.dir('static-weaving').get() - copy { - from file("src/main/resources/jpa/static-weaving/module/command/persistence.xml") - into "${persistenceInfo}/META-INF/" - } - - mainClass.set("org.eclipse.persistence.tools.weaving.jpa.StaticWeave") - classpath = sourceSets.main.runtimeClasspath - - args = [ - '-persistenceinfo', persistenceInfo, - classesDir.absolutePath, - outputDir.absolutePath - ] + inputClasses.set(layout.buildDirectory.dir("classes/java/main").get()) + persistenceXml.set(file("src/main/resources/jpa/static-weaving/module/command/persistence.xml")) + outputDir.set(layout.buildDirectory.dir("weaved-classes").get()) } tasks.register("weavedJar", Jar) { diff --git a/fineract-core/build.gradle b/fineract-core/build.gradle index 19281887d..91b22a029 100644 --- a/fineract-core/build.gradle +++ b/fineract-core/build.gradle @@ -16,30 +16,18 @@ * specific language governing permissions and limitations * under the License. */ +import org.apache.fineract.gradle.StaticWeaveJpaTask description = 'Fineract Core' apply plugin: 'java' apply plugin: 'eclipse' -tasks.register('staticWeaveJpa', JavaExec) { +tasks.register("staticWeaveJpa", StaticWeaveJpaTask) { dependsOn classes - def classesDir = layout.buildDirectory.dir("classes/java/main").get().asFile - def outputDir = layout.buildDirectory.dir("weaved-classes").get().asFile - def persistenceInfo = layout.buildDirectory.dir('static-weaving').get() - copy { - from file("src/main/resources/jpa/static-weaving/module/core/persistence.xml") - into "${persistenceInfo}/META-INF/" - } - - mainClass.set("org.eclipse.persistence.tools.weaving.jpa.StaticWeave") - classpath = sourceSets.main.runtimeClasspath - - args = [ - '-persistenceinfo', persistenceInfo, - classesDir.absolutePath, - outputDir.absolutePath - ] + inputClasses.set(layout.buildDirectory.dir("classes/java/main").get()) + persistenceXml.set(file("src/main/resources/jpa/static-weaving/module/core/persistence.xml")) + outputDir.set(layout.buildDirectory.dir("weaved-classes").get()) } diff --git a/fineract-document/build.gradle b/fineract-document/build.gradle index dd1e3bf65..e289d08ec 100644 --- a/fineract-document/build.gradle +++ b/fineract-document/build.gradle @@ -16,30 +16,18 @@ * specific language governing permissions and limitations * under the License. */ +import org.apache.fineract.gradle.StaticWeaveJpaTask description = 'Fineract Document' apply plugin: 'java' apply plugin: 'eclipse' -tasks.register('staticWeaveJpa', JavaExec) { +tasks.register("staticWeaveJpa", StaticWeaveJpaTask) { dependsOn classes - def classesDir = layout.buildDirectory.dir("classes/java/main").get().asFile - def outputDir = layout.buildDirectory.dir("weaved-classes").get().asFile - def persistenceInfo = layout.buildDirectory.dir('static-weaving').get() - copy { - from file("src/main/resources/jpa/static-weaving/module/document/persistence.xml") - into "${persistenceInfo}/META-INF/" - } - - mainClass.set("org.eclipse.persistence.tools.weaving.jpa.StaticWeave") - classpath = sourceSets.main.runtimeClasspath - - args = [ - '-persistenceinfo', persistenceInfo, - classesDir.absolutePath, - outputDir.absolutePath - ] + inputClasses.set(layout.buildDirectory.dir("classes/java/main").get()) + persistenceXml.set(file("src/main/resources/jpa/static-weaving/module/document/persistence.xml")) + outputDir.set(layout.buildDirectory.dir("weaved-classes").get()) } diff --git a/fineract-investor/build.gradle b/fineract-investor/build.gradle index ce13e7b06..f61bef041 100644 --- a/fineract-investor/build.gradle +++ b/fineract-investor/build.gradle @@ -16,30 +16,18 @@ * specific language governing permissions and limitations * under the License. */ +import org.apache.fineract.gradle.StaticWeaveJpaTask description = 'Fineract Investor' apply plugin: 'java' apply plugin: 'eclipse' -tasks.register('staticWeaveJpa', JavaExec) { +tasks.register("staticWeaveJpa", StaticWeaveJpaTask) { dependsOn classes - def classesDir = layout.buildDirectory.dir("classes/java/main").get().asFile - def outputDir = layout.buildDirectory.dir("weaved-classes").get().asFile - def persistenceInfo = layout.buildDirectory.dir('static-weaving').get() - copy { - from file("src/main/resources/jpa/static-weaving/module/investor/persistence.xml") - into "${persistenceInfo}/META-INF/" - } - - mainClass.set("org.eclipse.persistence.tools.weaving.jpa.StaticWeave") - classpath = sourceSets.main.runtimeClasspath - - args = [ - '-persistenceinfo', persistenceInfo, - classesDir.absolutePath, - outputDir.absolutePath - ] + inputClasses.set(layout.buildDirectory.dir("classes/java/main").get()) + persistenceXml.set(file("src/main/resources/jpa/static-weaving/module/investor/persistence.xml")) + outputDir.set(layout.buildDirectory.dir("weaved-classes").get()) } diff --git a/fineract-loan/build.gradle b/fineract-loan/build.gradle index 3da2ce80e..1b0aabffb 100644 --- a/fineract-loan/build.gradle +++ b/fineract-loan/build.gradle @@ -16,30 +16,18 @@ * specific language governing permissions and limitations * under the License. */ +import org.apache.fineract.gradle.StaticWeaveJpaTask description = 'Fineract Loan' apply plugin: 'java' apply plugin: 'eclipse' -tasks.register('staticWeaveJpa', JavaExec) { +tasks.register("staticWeaveJpa", StaticWeaveJpaTask) { dependsOn classes - def classesDir = layout.buildDirectory.dir("classes/java/main").get().asFile - def outputDir = layout.buildDirectory.dir("weaved-classes").get().asFile - def persistenceInfo = layout.buildDirectory.dir('static-weaving').get() - copy { - from file("src/main/resources/jpa/static-weaving/module/loan/persistence.xml") - into "${persistenceInfo}/META-INF/" - } - - mainClass.set("org.eclipse.persistence.tools.weaving.jpa.StaticWeave") - classpath = sourceSets.main.runtimeClasspath - - args = [ - '-persistenceinfo', persistenceInfo, - classesDir.absolutePath, - outputDir.absolutePath - ] + inputClasses.set(layout.buildDirectory.dir("classes/java/main").get()) + persistenceXml.set(file("src/main/resources/jpa/static-weaving/module/loan/persistence.xml")) + outputDir.set(layout.buildDirectory.dir("weaved-classes").get()) } @@ -70,6 +58,8 @@ compileJava { // Configuration for Swagger documentation generation task // https://github.com/swagger-api/swagger-core/tree/master/modules/swagger-gradle-plugin + +import org.apache.fineract.gradle.StaticWeaveJpaTask import org.apache.tools.ant.filters.ReplaceTokens diff --git a/fineract-progressive-loan/build.gradle b/fineract-progressive-loan/build.gradle index 458189342..bc72281f0 100644 --- a/fineract-progressive-loan/build.gradle +++ b/fineract-progressive-loan/build.gradle @@ -16,30 +16,18 @@ * specific language governing permissions and limitations * under the License. */ +import org.apache.fineract.gradle.StaticWeaveJpaTask description = 'Fineract Progressive Loan' apply plugin: 'java' apply plugin: 'eclipse' -tasks.register('staticWeaveJpa', JavaExec) { +tasks.register("staticWeaveJpa", StaticWeaveJpaTask) { dependsOn classes - def classesDir = layout.buildDirectory.dir("classes/java/main").get().asFile - def outputDir = layout.buildDirectory.dir("weaved-classes").get().asFile - def persistenceInfo = layout.buildDirectory.dir('static-weaving').get() - copy { - from file("src/main/resources/jpa/static-weaving/module/progressive-loan/persistence.xml") - into "${persistenceInfo}/META-INF/" - } - - mainClass.set("org.eclipse.persistence.tools.weaving.jpa.StaticWeave") - classpath = sourceSets.main.runtimeClasspath - - args = [ - '-persistenceinfo', persistenceInfo, - classesDir.absolutePath, - outputDir.absolutePath - ] + inputClasses.set(layout.buildDirectory.dir("classes/java/main").get()) + persistenceXml.set(file("src/main/resources/jpa/static-weaving/module/progressive-loan/persistence.xml")) + outputDir.set(layout.buildDirectory.dir("weaved-classes").get()) } diff --git a/fineract-provider/build.gradle b/fineract-provider/build.gradle index 51d79f16a..f9653e4ef 100644 --- a/fineract-provider/build.gradle +++ b/fineract-provider/build.gradle @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ +import org.apache.fineract.gradle.StaticWeaveJpaTask description = 'Fineract Provider' apply plugin: 'org.zeroturnaround.gradle.jrebel' @@ -30,25 +31,12 @@ apply plugin: 'se.thinkcode.cucumber-runner' check.dependsOn('cucumber') -tasks.register('staticWeaveJpa', JavaExec) { +tasks.register("staticWeaveJpa", StaticWeaveJpaTask) { dependsOn classes - def classesDir = layout.buildDirectory.dir("classes/java/main").get().asFile - def outputDir = layout.buildDirectory.dir("weaved-classes").get().asFile - def persistenceInfo = layout.buildDirectory.dir('static-weaving').get() - copy { - from file("src/main/resources/jpa/static-weaving/module/provider/persistence.xml") - into "${persistenceInfo}/META-INF/" - } - - mainClass.set("org.eclipse.persistence.tools.weaving.jpa.StaticWeave") - classpath = sourceSets.main.runtimeClasspath - - args = [ - '-persistenceinfo', persistenceInfo, - classesDir.absolutePath, - outputDir.absolutePath - ] + inputClasses.set(layout.buildDirectory.dir("classes/java/main").get()) + persistenceXml.set(file("src/main/resources/jpa/static-weaving/module/provider/persistence.xml")) + outputDir.set(layout.buildDirectory.dir("weaved-classes").get()) } tasks.register("weavedJar", Jar) { @@ -486,6 +474,7 @@ javadoc { tasks.register('devRun', org.springframework.boot.gradle.tasks.run.BootRun) { description = 'Runs the application quickly for development by skipping quality checks' group = 'Application' + dependsOn staticWeaveJpa // Configure the build to skip quality checks gradle.taskGraph.whenReady { graph -> diff --git a/fineract-rates/build.gradle b/fineract-rates/build.gradle index c6cbed7ef..b41971bc0 100644 --- a/fineract-rates/build.gradle +++ b/fineract-rates/build.gradle @@ -16,30 +16,18 @@ * specific language governing permissions and limitations * under the License. */ +import org.apache.fineract.gradle.StaticWeaveJpaTask description = 'Fineract Rates' apply plugin: 'java' apply plugin: 'eclipse' -tasks.register('staticWeaveJpa', JavaExec) { +tasks.register("staticWeaveJpa", StaticWeaveJpaTask) { dependsOn classes - def classesDir = layout.buildDirectory.dir("classes/java/main").get().asFile - def outputDir = layout.buildDirectory.dir("weaved-classes").get().asFile - def persistenceInfo = layout.buildDirectory.dir('static-weaving').get() - copy { - from file("src/main/resources/jpa/static-weaving/module/rates/persistence.xml") - into "${persistenceInfo}/META-INF/" - } - - mainClass.set("org.eclipse.persistence.tools.weaving.jpa.StaticWeave") - classpath = sourceSets.main.runtimeClasspath - - args = [ - '-persistenceinfo', persistenceInfo, - classesDir.absolutePath, - outputDir.absolutePath - ] + inputClasses.set(layout.buildDirectory.dir("classes/java/main").get()) + persistenceXml.set(file("src/main/resources/jpa/static-weaving/module/rates/persistence.xml")) + outputDir.set(layout.buildDirectory.dir("weaved-classes").get()) } @@ -72,6 +60,8 @@ compileJava { // Configuration for Swagger documentation generation task // https://github.com/swagger-api/swagger-core/tree/master/modules/swagger-gradle-plugin + +import org.apache.fineract.gradle.StaticWeaveJpaTask import org.apache.tools.ant.filters.ReplaceTokens diff --git a/fineract-report/build.gradle b/fineract-report/build.gradle index 7e1d51567..8272b43a2 100644 --- a/fineract-report/build.gradle +++ b/fineract-report/build.gradle @@ -16,30 +16,18 @@ * specific language governing permissions and limitations * under the License. */ +import org.apache.fineract.gradle.StaticWeaveJpaTask description = 'Fineract Report' apply plugin: 'java' apply plugin: 'eclipse' -tasks.register('staticWeaveJpa', JavaExec) { +tasks.register("staticWeaveJpa", StaticWeaveJpaTask) { dependsOn classes - def classesDir = layout.buildDirectory.dir("classes/java/main").get().asFile - def outputDir = layout.buildDirectory.dir("weaved-classes").get().asFile - def persistenceInfo = layout.buildDirectory.dir('static-weaving').get() - copy { - from file("src/main/resources/jpa/static-weaving/module/report/persistence.xml") - into "${persistenceInfo}/META-INF/" - } - - mainClass.set("org.eclipse.persistence.tools.weaving.jpa.StaticWeave") - classpath = sourceSets.main.runtimeClasspath - - args = [ - '-persistenceinfo', persistenceInfo, - classesDir.absolutePath, - outputDir.absolutePath - ] + inputClasses.set(layout.buildDirectory.dir("classes/java/main").get()) + persistenceXml.set(file("src/main/resources/jpa/static-weaving/module/report/persistence.xml")) + outputDir.set(layout.buildDirectory.dir("weaved-classes").get()) } @@ -72,6 +60,8 @@ compileJava { // Configuration for Swagger documentation generation task // https://github.com/swagger-api/swagger-core/tree/master/modules/swagger-gradle-plugin + +import org.apache.fineract.gradle.StaticWeaveJpaTask import org.apache.tools.ant.filters.ReplaceTokens diff --git a/fineract-savings/build.gradle b/fineract-savings/build.gradle index e915417d4..7c074e7f7 100644 --- a/fineract-savings/build.gradle +++ b/fineract-savings/build.gradle @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ +import org.apache.fineract.gradle.StaticWeaveJpaTask description = 'Fineract Savings' apply plugin: 'java' @@ -25,25 +26,12 @@ tasks.named('classes') { finalizedBy staticWeaveJpa } -tasks.register('staticWeaveJpa', JavaExec) { +tasks.register("staticWeaveJpa", StaticWeaveJpaTask) { dependsOn classes - def classesDir = layout.buildDirectory.dir("classes/java/main").get().asFile - def outputDir = layout.buildDirectory.dir("weaved-classes").get().asFile - def persistenceInfo = layout.buildDirectory.dir('static-weaving').get() - copy { - from file("src/main/resources/jpa/static-weaving/module/savings/persistence.xml") - into "${persistenceInfo}/META-INF/" - } - - mainClass.set("org.eclipse.persistence.tools.weaving.jpa.StaticWeave") - classpath = sourceSets.main.runtimeClasspath - - args = [ - '-persistenceinfo', persistenceInfo, - classesDir.absolutePath, - outputDir.absolutePath - ] + inputClasses.set(layout.buildDirectory.dir("classes/java/main").get()) + persistenceXml.set(file("src/main/resources/jpa/static-weaving/module/savings/persistence.xml")) + outputDir.set(layout.buildDirectory.dir("weaved-classes").get()) } tasks.register("weavedJar", Jar) { @@ -74,6 +62,8 @@ compileJava { // Configuration for Swagger documentation generation task // https://github.com/swagger-api/swagger-core/tree/master/modules/swagger-gradle-plugin + +import org.apache.fineract.gradle.StaticWeaveJpaTask import org.apache.tools.ant.filters.ReplaceTokens diff --git a/fineract-tax/build.gradle b/fineract-tax/build.gradle index 170bb0c38..c0b2e616a 100644 --- a/fineract-tax/build.gradle +++ b/fineract-tax/build.gradle @@ -16,30 +16,18 @@ * specific language governing permissions and limitations * under the License. */ +import org.apache.fineract.gradle.StaticWeaveJpaTask description = 'Fineract Taxes' apply plugin: 'java' apply plugin: 'eclipse' -tasks.register('staticWeaveJpa', JavaExec) { +tasks.register("staticWeaveJpa", StaticWeaveJpaTask) { dependsOn classes - def classesDir = layout.buildDirectory.dir("classes/java/main").get().asFile - def outputDir = layout.buildDirectory.dir("weaved-classes").get().asFile - def persistenceInfo = layout.buildDirectory.dir('static-weaving').get() - copy { - from file("src/main/resources/jpa/static-weaving/module/tax/persistence.xml") - into "${persistenceInfo}/META-INF/" - } - - mainClass.set("org.eclipse.persistence.tools.weaving.jpa.StaticWeave") - classpath = sourceSets.main.runtimeClasspath - - args = [ - '-persistenceinfo', persistenceInfo, - classesDir.absolutePath, - outputDir.absolutePath - ] + inputClasses.set(layout.buildDirectory.dir("classes/java/main").get()) + persistenceXml.set(file("src/main/resources/jpa/static-weaving/module/tax/persistence.xml")) + outputDir.set(layout.buildDirectory.dir("weaved-classes").get()) } @@ -72,6 +60,8 @@ compileJava { // Configuration for Swagger documentation generation task // https://github.com/swagger-api/swagger-core/tree/master/modules/swagger-gradle-plugin + +import org.apache.fineract.gradle.StaticWeaveJpaTask import org.apache.tools.ant.filters.ReplaceTokens