plugins { `java-library` `maven-publish` `kotlin-dsl` pmd checkstyle jacoco id("io.freefair.lombok") version "8.4" } repositories { mavenLocal() maven { url = uri("https://pdftron.com/maven/release") } maven { url = uri("https://nexus.knecon.com/repository/gindev/"); credentials { username = providers.gradleProperty("mavenUser").getOrNull(); password = providers.gradleProperty("mavenPassword").getOrNull(); } } mavenCentral() } dependencies { api("org.projectlombok:lombok:1.18.30") api("org.springframework.boot:spring-boot-configuration-processor:3.0.4") api("com.google.guava:guava:33.0.0-jre") api("com.pdftron:PDFNet:10.3.0") testImplementation("org.junit.jupiter:junit-jupiter:5.9.2") testImplementation("org.assertj:assertj-core:3.23.1") testImplementation("org.mockito:mockito-core:4.8.1") testImplementation("org.apache.logging.log4j:log4j-slf4j2-impl:2.20.0") compileOnly("org.slf4j:slf4j-api:2.0.6") } group = "com.iqser.red.commons" description = "pdftron-logic-commons" java.sourceCompatibility = JavaVersion.VERSION_17 java.targetCompatibility = JavaVersion.VERSION_17 publishing { publications { create(name) { from(components["java"]) } } repositories { maven { url = uri("https://nexus.knecon.com/repository/red-platform-releases/") credentials { username = providers.gradleProperty("mavenUser").getOrNull(); password = providers.gradleProperty("mavenPassword").getOrNull(); } } } } pmd { isConsoleOutput = true } tasks.pmdMain { pmd.ruleSetFiles = files("${rootDir}/config/pmd/pmd.xml") } tasks.pmdTest { pmd.ruleSetFiles = files("${rootDir}/config/pmd/test_pmd.xml") } tasks.named("test") { useJUnitPlatform() reports { junitXml.outputLocation.set(layout.buildDirectory.dir("reports/junit")) } } tasks.test { finalizedBy(tasks.jacocoTestReport) } tasks.jacocoTestReport { dependsOn(tasks.test) reports { xml.required.set(true) csv.required.set(false) html.outputLocation.set(layout.buildDirectory.dir("jacocoHtml")) } } java { withJavadocJar() }