/** * 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. */ plugins { id 'java' } // Configure source sets with proper output directories sourceSets { test { java { destinationDirectory = layout.buildDirectory.dir('classes/java/test').get().asFile } resources { destinationDirectory = layout.buildDirectory.dir('resources/test').get().asFile } } } repositories { mavenCentral() } // Configure test compilation tasks.named('compileTestJava') { description = 'Compiles test Java source files' // Enable caching outputs.cacheIf { true } // Configure compiler options options.compilerArgs.add("-parameters") // Ensure proper output tracking outputs.dir(sourceSets.test.java.destinationDirectory) .withPropertyName("testClassesDir") // Track annotation processor outputs options.annotationProcessorGeneratedSourcesDirectory = layout.buildDirectory.dir('generated/sources/annotationProcessor/java/test').get().asFile } dependencies { testImplementation(project(':fineract-avro-schemas')) testImplementation(project(':fineract-client')) testImplementation(project(':fineract-client-feign')) testImplementation 'org.springframework:spring-context' implementation 'org.springframework:spring-test' testImplementation 'org.springframework:spring-jms' testImplementation 'com.github.spotbugs:spotbugs-annotations' testImplementation 'com.squareup.retrofit2:retrofit:2.11.0' testImplementation 'io.github.openfeign:feign-core:13.6' testImplementation 'org.apache.httpcomponents:httpclient:4.5.14' testImplementation 'org.apache.commons:commons-lang3:3.18.0' testImplementation ('com.googlecode.json-simple:json-simple:1.1.1') { exclude group: 'junit', module: 'junit' } testImplementation 'com.google.code.gson:gson:2.11.0' testImplementation 'io.cucumber:cucumber-java:7.20.1' testImplementation 'io.cucumber:cucumber-junit:7.20.1' testImplementation 'io.cucumber:cucumber-spring:7.20.1' testImplementation 'io.cucumber:cucumber-junit-platform-engine:7.20.1' testImplementation 'io.qameta.allure:allure-cucumber7-jvm:2.29.1' testImplementation 'org.assertj:assertj-core:3.26.3' testImplementation 'org.junit.jupiter:junit-jupiter-api:5.11.3' testImplementation 'org.junit.jupiter:junit-jupiter:5.11.3' testCompileOnly 'org.projectlombok:lombok:1.18.36' testAnnotationProcessor 'org.projectlombok:lombok:1.18.36' testImplementation "ch.qos.logback:logback-core:1.5.19" testImplementation "ch.qos.logback:logback-classic:1.5.19" testImplementation 'org.apache.activemq:activemq-client:6.1.6' testImplementation "org.apache.avro:avro:1.12.0" testImplementation "org.awaitility:awaitility:4.2.2" testImplementation 'io.github.classgraph:classgraph:4.8.179' testImplementation 'org.apache.commons:commons-collections4:4.4' } tasks.withType(JavaCompile).configureEach { options.compilerArgs.add("-parameters") } // Configure the jar task to include test classes and resources tasks.named('jar') { from sourceSets.test.output // Include the test resources from(sourceSets.test.resources) { // Handle duplicate files by using the first one found duplicatesStrategy = DuplicatesStrategy.INCLUDE } // Include the manifest with the classpath manifest { attributes( 'Implementation-Title': project.name, 'Implementation-Version': project.version, 'Built-By': System.getProperty('user.name'), 'Built-Date': new Date(), 'Created-By': 'Gradle ' + gradle.gradleVersion, 'Build-Jdk': System.getProperty('java.version') ) } }