subprojects { subproject -> apply plugin: 'java-library' version = getProperty('version.myGradlePlugins') java { toolchain { languageVersion = JavaLanguageVersion.of(17) } } int javaVersion if(subproject.path == ':osgi-app' || ':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 { maven { url = woggioniMavenRepositoryUrl content { includeGroup 'net.woggioni' } } 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.named("test", Test) { useJUnitPlatform() } } childProjects.forEach { name, child -> child.with { apply plugin: 'maven-publish' group = "net.woggioni.gradle" publishing { repositories { maven { url = woggioniMavenRepositoryUrl } } } } } wrapper { gradleVersion = getProperty("version.gradle") distributionType = Wrapper.DistributionType.ALL }