diff --git a/build.gradle.kts b/build.gradle.kts index 362f469b..e058b155 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,6 +2,7 @@ plugins { id("io.github.gradle-nexus.publish-plugin").version(Dependencies.nexusPublishPluginVersion) id("io.gitlab.arturbosch.detekt").version(Dependencies.detektVersion) id("org.jetbrains.dokka").version(Dependencies.dokkaVersion) + id("org.jetbrains.kotlinx.binary-compatibility-validator").version(Dependencies.KotlinX.binaryCompatibilityValidatorVersion) } // Versioning @@ -28,6 +29,11 @@ nexusPublishing.repositories.sonatype { password.set(getProperty("ossrh.password")) } +apiValidation { + // Ignore generator / samples / other non jellyfin-x modules + ignoredProjects.addAll(subprojects.map { it.name }.filter { !it.startsWith("jellyfin-") }) +} + subprojects { // Enable required plugins apply() diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index e39b85d1..a438dace 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -28,6 +28,7 @@ object Dependencies { val coroutinesCore = item("coroutines-core", "1.4.2") val serializationJson = item("serialization-json", "1.0.1") + const val binaryCompatibilityValidatorVersion = "0.5.0" } object Android {