plugins { id "java-library" id "ivy-publish" } description = "Variant, source-set, and outgoing artifact model plugins for Gradle builds" java { withJavadocJar() withSourcesJar() toolchain { languageVersion = JavaLanguageVersion.of(21) } } dependencies { compileOnly libs.jdt.annotations api gradleApi(), project(":common") testImplementation gradleTestKit() testImplementation "org.junit.jupiter:junit-jupiter-api:5.11.4" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.11.4" testRuntimeOnly "org.junit.platform:junit-platform-launcher:1.11.4" } task printVersion{ doLast { println "project: $project.group:$project.name:$project.version" println "jar: ${->jar.archiveFileName.get()}" } } test { useJUnitPlatform() } tasks.register("minGradleCompatibilityTest", Test) { description = "Runs functional TestKit tests against the minimum supported Gradle version." group = "verification" useJUnitPlatform() testClassesDirs = sourceSets.test.output.classesDirs classpath = sourceSets.test.runtimeClasspath include "**/*FunctionalTest.class" systemProperty "org.implab.gradle.test.gradleVersion", providers.gradleProperty("testMinGradleVersion").get() inputs.property("testMinGradleVersion", providers.gradleProperty("testMinGradleVersion")) shouldRunAfter test } javadoc { exclude "**/internal/**" } publishing { repositories { ivy { url = "${System.properties["user.home"]}/ivy-repo" } } publications { ivy(IvyPublication) { from components.java descriptor.description { text = providers.provider({ description }) } descriptor.license { name = "BSD-2-Clause" url = "https://spdx.org/licenses/BSD-2-Clause.html" } } } }