subprojects { subproject -> apply plugin: 'java-library' version = getProperty('version.myGradlePlugins') java { toolchain { languageVersion = JavaLanguageVersion.of(11) } } int javaVersion if(subproject.path == ':osgi-app') { 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 } mavenCentral() } dependencies { ['compileOnly', 'annotationProcessor', 'testCompileOnly', 'testAnnotationProcessor'].each { conf -> add(conf, [group: "org.projectlombok", name: "lombok", version: project['version.lombok']]) } add("testImplementation", create(group: "org.junit.jupiter", name:"junit-jupiter-api", version: project["version.junitJupiter"])) add("testRuntimeOnly", create(group: "org.junit.jupiter", name: "junit-jupiter-engine", version: project["version.junitJupiter"])) 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 }