subprojects { apply(plugin = "java-library") group = "eu.jonahbauer" version = "1.0-SNAPSHOT" val implementation by configurations val testImplementation by configurations val compileOnly by configurations val annotationProcessor by configurations val testCompileOnly by configurations val testAnnotationProcessor by configurations repositories { mavenCentral() } dependencies { implementation("org.jetbrains:annotations:22.0.0") implementation("com.google.code.gson:gson:2.8.8") implementation("org.apache.logging.log4j:log4j-api:2.14.1") implementation("org.apache.logging.log4j:log4j-core:2.14.1") implementation("org.apache.logging.log4j:log4j-slf4j-impl:2.14.1") testImplementation("org.junit.jupiter:junit-jupiter:5.8.1") testImplementation("org.junit.jupiter:junit-jupiter-engine:5.8.1") testImplementation("org.mockito:mockito-inline:4.0.0") testImplementation("org.mockito:mockito-junit-jupiter:4.0.0") compileOnly("org.projectlombok:lombok:1.18.22") annotationProcessor("org.projectlombok:lombok:1.18.22") testCompileOnly("org.projectlombok:lombok:1.18.22") testAnnotationProcessor("org.projectlombok:lombok:1.18.22") } tasks { withType { sourceCompatibility = "17" targetCompatibility = "17" options.encoding = "UTF-8" } withType { onlyIf { !project.the()["main"].allSource.isEmpty } } named("test") { useJUnitPlatform() } } }