plugins { id 'java' } // Get version from main project gradle def packVersion = properties.get("packageVersion"); def jarVersion = properties.get("jarVersion"); //println "packageVersion is ${projVersion}" java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } repositories { mavenCentral() flatDir { dirs "lib" } } configurations { compileOnly { extendsFrom annotationProcessor } jaxb } dependencies { implementation libs.bouncycastle implementation libs.lombok implementation libs.jackson.core implementation libs.jackson.databind implementation libs.jakarta.api implementation libs.jakarta.xml implementation libs.guava implementation libs.commons.codec implementation libs.commons.lang3 implementation libs.minimal.json implementation 'org.apache.logging.log4j:log4j-core:2.19.0' implementation 'org.apache.logging.log4j:log4j-api:2.19.0' implementation 'org.glassfish.jaxb:jaxb-runtime:4.0.1' compileOnly libs.lombok annotationProcessor libs.lombok testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' } test { useJUnitPlatform() } jar { duplicatesStrategy = DuplicatesStrategy.EXCLUDE manifest { attributes( 'Class-Path': configurations.runtimeClasspath.files.collect { it.getName() }.join(' ') ) } //jar name format: [archiveBaseName]-[archiveAppendix]-[archiveVersion]-[archiveClassifier].[archiveExtension] archiveVersion = jarVersion } //task generateXjcLibrary(type:Exec) { // workingDir 'config' // // commandLine './genXjcLibrary.sh' //} //compileJava.dependsOn generateXjcLibrary