subprojects { subproject -> apply plugin: 'java-library' apply plugin: 'maven-publish' group = "net.woggioni.gradle" version = getProperty('version.myGradlePlugins') java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } int javaVersion if(subproject.path == ':osgi-app' || subproject.path == ':multi-release-jar') { javaVersion = 11 } else { javaVersion = 8 } tasks.named(JavaPlugin.COMPILE_JAVA_TASK_NAME, JavaCompile) { options.release = javaVersion options.compilerArgs << '-parameters' } pluginManager.withPlugin('groovy') { tasks.named("compileGroovy", GroovyCompile) { options.release = javaVersion } } repositories { mavenCentral() } dependencies { ['compileOnly', 'annotationProcessor', 'testCompileOnly', 'testAnnotationProcessor'].each { conf -> add(conf, [group: "org.projectlombok", name: "lombok", version: catalog.versions.lombok.get()]) } add("testImplementation", catalog.junit.jupiter.api) add("testRuntimeOnly", catalog.junit.jupiter.engine) add("testImplementation", gradleTestKit()) } tasks.withType(Test) { useJUnitPlatform() } publishing { repositories { maven { name = "Gitea" url = uri("https://gitea.woggioni.net/api/packages/woggioni/maven") credentials(HttpHeaderCredentials) { name = "Authorization" value = "token ${System.getenv()["PUBLISHER_TOKEN"]}" } authentication { header(HttpHeaderAuthentication) } } } } } wrapper { gradleVersion = getProperty("version.gradle") distributionType = Wrapper.DistributionType.ALL }