plugins { id "java-library" id "ivy-publish" } java { withJavadocJar() withSourcesJar() toolchain { languageVersion = JavaLanguageVersion.of(21) } } dependencies { compileOnly libs.jdt.annotations api gradleApi(), libs.bundles.jackson testImplementation gradleTestKit() testImplementation "org.junit.jupiter:junit-jupiter-api:5.11.4" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.11.4" } task printVersion{ doLast { println "project: $project.group:$project.name:$project.version" println "jar: ${->jar.archiveFileName.get()}" } } test { useJUnitPlatform() } publishing { repositories { ivy { url "${System.properties["user.home"]}/ivy-repo" } } publications { ivy(IvyPublication) { from components.java descriptor.description { text = providers.provider({ description }) } } } }