subprojects { subproject -> apply plugin: 'java-library' apply plugin: 'maven-publish' group = "net.woggioni.gradle" version = getProperty('version.myGradlePlugins') java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } tasks.named(JavaPlugin.JAR_TASK_NAME, Jar.class, { manifest { attributes.put(java.util.jar.Attributes.Name.SPECIFICATION_TITLE.toString(), subproject.getName()); attributes.put(java.util.jar.Attributes.Name.SPECIFICATION_VERSION.toString(), subproject.getVersion()); } }) int javaVersion if(subproject.path == ':osgi-app' || subproject.path == ':multi-release-jar') { javaVersion = 11 } else { javaVersion = 8 } if(subproject.path != ':finalguard:finalguard-javac-plugin') { 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("testImplementation", catalog.junit.jupiter.params) add("testRuntimeOnly", catalog.junit.jupiter.engine) // add("testRuntimeOnly", catalog.junit.platform.launcher) 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 }