Skip to content

Commit 646b93b

Browse files
authored
Enable binary compatibility validation (#476)
1 parent 04b08a6 commit 646b93b

7 files changed

+1839
-0
lines changed

core/api/kotlinx-datetime.api

+882
Large diffs are not rendered by default.

core/api/kotlinx-datetime.klib.api

+930
Large diffs are not rendered by default.

core/build.gradle.kts

+8
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ plugins {
1515
id("org.jetbrains.dokka")
1616
`maven-publish`
1717
id("org.jetbrains.kotlinx.kover")
18+
id("org.jetbrains.kotlinx.binary-compatibility-validator")
1819
}
1920

2021
mavenPublicationsPom {
@@ -415,3 +416,10 @@ with(org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin.apply(rootPr
415416
nodeVersion = "21.0.0-v8-canary202309167e82ab1fa2"
416417
nodeDownloadBaseUrl = "https://nodejs.org/download/v8-canary"
417418
}
419+
420+
apiValidation {
421+
@OptIn(kotlinx.validation.ExperimentalBCVApi::class)
422+
klib {
423+
enabled = true
424+
}
425+
}

gradle.properties

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ defaultKotlinVersion=2.1.0
1111
dokkaVersion=1.9.20
1212
serializationVersion=1.6.2
1313
benchmarksVersion=0.7.2
14+
bcvVersion=0.17.0
1415

1516
java.mainToolchainVersion=8
1617
java.modularToolchainVersion=11

settings.gradle.kts

+2
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@ pluginManagement {
66
}
77
val dokkaVersion: String by settings
88
val benchmarksVersion: String by settings
9+
val bcvVersion: String by settings
910
plugins {
1011
id("org.jetbrains.dokka") version dokkaVersion
1112
id("me.champeau.jmh") version benchmarksVersion
13+
id("org.jetbrains.kotlinx.binary-compatibility-validator") version bcvVersion
1214
}
1315
}
1416

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// Klib ABI Dump
2+
// Targets: [wasmWasi]
3+
// Rendering settings:
4+
// - Signature version: 2
5+
// - Show manifest properties: true
6+
// - Show declarations: true
7+
8+
// Library unique name: <org.jetbrains.kotlinx:kotlinx-datetime-zoneinfo>

timezones/full/build.gradle.kts

+8
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ plugins {
1313
kotlin("multiplatform")
1414
id("maven-publish")
1515
id("com.github.node-gradle.node") version "7.0.2"
16+
id("org.jetbrains.kotlinx.binary-compatibility-validator")
1617
}
1718

1819
node {
@@ -89,3 +90,10 @@ kotlin {
8990
}
9091
}
9192
}
93+
94+
apiValidation {
95+
@OptIn(kotlinx.validation.ExperimentalBCVApi::class)
96+
klib {
97+
enabled = true
98+
}
99+
}

0 commit comments

Comments
 (0)