/** * 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. */ description = 'Fineract Document' apply plugin: 'java' apply plugin: 'eclipse' tasks.register('staticWeaveJpa', JavaExec) { group = "build" description = "Performs EclipseLink static weaving of entity classes" dependsOn classes 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 } staticWeaveJpa.doLast { delete "${sourceSets.main.output.classesDirs.asPath}/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 { providedRuntime // needed for Spring Boot executable WAR providedCompile compile() { exclude module: 'hibernate-entitymanager' exclude module: 'hibernate-validator' exclude module: 'activation' exclude module: 'bcmail-jdk14' exclude module: 'bcprov-jdk14' exclude module: 'bctsp-jdk14' exclude module: 'c3p0' exclude module: 'stax-api' exclude module: 'jaxb-api' exclude module: 'jaxb-impl' exclude module: 'jboss-logging' exclude module: 'itext-rtf' exclude module: 'classworlds' } runtime } apply from: 'dependencies.gradle' // Configuration for the modernizer plugin // https://github.com/andygoossens/gradle-modernizer-plugin modernizer { ignoreClassNamePatterns = [ '.*AbstractPersistableCustom', '.*EntityTables', '.*domain.*' ] } // If we are running Gradle within Eclipse to enhance classes with OpenJPA, // set the classes directory to point to Eclipse's default build directory if (project.hasProperty('env') && project.getProperty('env') == 'eclipse') { sourceSets.main.java.outputDir = new File(rootProject.projectDir, "fineract-core/bin/main") } if (!(project.hasProperty('env') && project.getProperty('env') == 'dev')) { sourceSets { test { java { exclude '**/core/boot/tests/**' } } } }