From 958f619a379bf1028cf51cdecb1e324568cb7d9b Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Fri, 17 Nov 2023 11:59:19 +0100 Subject: build: prepare for Maven publication --- .../gradle/internal/java-conventions.gradle.kts | 30 ++++++++++++++++++++-- .../refinery/gradle/xtext-generated.gradle.kts | 2 +- .../interpreter-rete-recipes/build.gradle.kts | 2 +- subprojects/language-model/build.gradle.kts | 2 +- subprojects/language/build.gradle.kts | 2 +- 5 files changed, 32 insertions(+), 6 deletions(-) diff --git a/buildSrc/src/main/kotlin/tools/refinery/gradle/internal/java-conventions.gradle.kts b/buildSrc/src/main/kotlin/tools/refinery/gradle/internal/java-conventions.gradle.kts index 20c404a0..feca5b2b 100644 --- a/buildSrc/src/main/kotlin/tools/refinery/gradle/internal/java-conventions.gradle.kts +++ b/buildSrc/src/main/kotlin/tools/refinery/gradle/internal/java-conventions.gradle.kts @@ -12,6 +12,7 @@ import tools.refinery.gradle.utils.EclipseUtils plugins { jacoco java + `maven-publish` id("tools.refinery.gradle.eclipse") } @@ -40,8 +41,13 @@ dependencies { testImplementation(libs.slf4j.log4j) } -java.toolchain { - languageVersion.set(JavaLanguageVersion.of(17)) +java { + withJavadocJar() + withSourcesJar() + + toolchain { + languageVersion.set(JavaLanguageVersion.of(17)) + } } tasks { @@ -68,6 +74,18 @@ tasks { } } + tasks.named("sourcesJar") { + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + } + + javadoc { + options { + this as StandardJavadocDocletOptions + addBooleanOption("Xdoclint:none", true) + quiet() + } + } + val generateEclipseSourceFolders by tasks.registering register("prepareEclipse") { @@ -80,6 +98,14 @@ tasks { } } +publishing { + publications { + create("mavenJava") { + from(components["java"]) + } + } +} + eclipse { EclipseUtils.patchClasspathEntries(this) { entry -> if (entry.path.endsWith("-gen")) { diff --git a/buildSrc/src/main/kotlin/tools/refinery/gradle/xtext-generated.gradle.kts b/buildSrc/src/main/kotlin/tools/refinery/gradle/xtext-generated.gradle.kts index 6cb1d7b5..6f06cc3e 100644 --- a/buildSrc/src/main/kotlin/tools/refinery/gradle/xtext-generated.gradle.kts +++ b/buildSrc/src/main/kotlin/tools/refinery/gradle/xtext-generated.gradle.kts @@ -32,7 +32,7 @@ tasks { into(xtextGenPath) } - for (taskName in listOf("compileJava", "processResources", "generateEclipseSourceFolders")) { + for (taskName in listOf("compileJava", "processResources", "generateEclipseSourceFolders", "sourcesJar")) { tasks.named(taskName) { dependsOn(syncXtextGeneratedSources) } diff --git a/subprojects/interpreter-rete-recipes/build.gradle.kts b/subprojects/interpreter-rete-recipes/build.gradle.kts index 1b892e4e..96283e22 100644 --- a/subprojects/interpreter-rete-recipes/build.gradle.kts +++ b/subprojects/interpreter-rete-recipes/build.gradle.kts @@ -45,7 +45,7 @@ tasks { "-p", "rootPath=/$projectDir") } - for (taskName in listOf("compileJava", "processResources", "generateEclipseSourceFolders")) { + for (taskName in listOf("compileJava", "processResources", "generateEclipseSourceFolders", "sourcesJar")) { named(taskName) { dependsOn(generateEPackage) } diff --git a/subprojects/language-model/build.gradle.kts b/subprojects/language-model/build.gradle.kts index 59ff9046..33b878d5 100644 --- a/subprojects/language-model/build.gradle.kts +++ b/subprojects/language-model/build.gradle.kts @@ -43,7 +43,7 @@ tasks { args("src/main/java/tools/refinery/language/model/GenerateProblemModel.mwe2", "-p", "rootPath=/$projectDir") } - for (taskName in listOf("compileJava", "processResources", "generateEclipseSourceFolders")) { + for (taskName in listOf("compileJava", "processResources", "generateEclipseSourceFolders", "sourcesJar")) { named(taskName) { dependsOn(generateEPackage) } diff --git a/subprojects/language/build.gradle.kts b/subprojects/language/build.gradle.kts index a6324e03..706b57e8 100644 --- a/subprojects/language/build.gradle.kts +++ b/subprojects/language/build.gradle.kts @@ -72,7 +72,7 @@ tasks { } for (taskName in listOf("compileJava", "processResources", "compileTestFixturesJava", - "processTestFixturesResources", "generateEclipseSourceFolders")) { + "processTestFixturesResources", "generateEclipseSourceFolders", "sourcesJar")) { named(taskName) { dependsOn(generateXtextLanguage) } -- cgit v1.2.3-54-g00ecf