Skip to content

Commit 40b3d88

Browse files
committed
Add binary compatibility validator
1 parent 77085dc commit 40b3d88

File tree

4 files changed

+227
-0
lines changed

4 files changed

+227
-0
lines changed

build.gradle.kts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
1+
import kotlinx.validation.ExperimentalBCVApi
2+
13
plugins {
24
alias(libs.plugins.kotlin.mutliplatform) apply false
35
alias(libs.plugins.kotlin.jvm) apply false
6+
alias(libs.plugins.kotlin.binaryCompatibility)
7+
}
8+
9+
apiValidation {
10+
ignoredProjects += setOf("generator")
11+
@OptIn(ExperimentalBCVApi::class)
12+
klib {
13+
enabled = true
14+
}
415
}

gradle/libs.versions.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ graphql = "6.8.4"
88
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
99
kotlin-mutliplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
1010
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
11+
kotlin-binaryCompatibility = { id = "org.jetbrains.kotlinx.binary-compatibility-validator", version = "0.16.3" }
1112
kotest-multiplatform = { id = "io.kotest.multiplatform", version.ref = "kotest" }
1213
expediagroup-graphql = { id = "com.expediagroup.graphql", version.ref = "graphql" }
1314
publication = { id = "com.vanniktech.maven.publish", version = "0.29.0" }

library/api/karacteristics.api

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
public final class io/github/optimumcode/karacteristics/CodepointBidirectionalClass : java/lang/Enum {
2+
public static final field ARABIC_LETTER Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
3+
public static final field ARABIC_NUMBER Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
4+
public static final field BOUNDARY_NEUTRAL Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
5+
public static final field COMMON_SEPARATOR Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
6+
public static final field EUROPEAN_NUMBER Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
7+
public static final field EUROPEAN_SEPARATOR Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
8+
public static final field EUROPEAN_TERMINATOR Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
9+
public static final field FIRST_STRONG_ISOLATE Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
10+
public static final field LEFT_TO_RIGHT Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
11+
public static final field LEFT_TO_RIGHT_EMBEDDING Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
12+
public static final field LEFT_TO_RIGHT_ISOLATE Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
13+
public static final field LEFT_TO_RIGHT_OVERRIDE Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
14+
public static final field NONSPACING_MARK Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
15+
public static final field OTHER_NEUTRAL Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
16+
public static final field PARAGRAPH_SEPARATOR Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
17+
public static final field POP_DIRECTIONAL_FORMAT Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
18+
public static final field POP_DIRECTIONAL_ISOLATE Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
19+
public static final field RIGHT_TO_LEFT Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
20+
public static final field RIGHT_TO_LEFT_EMBEDDING Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
21+
public static final field RIGHT_TO_LEFT_ISOLATE Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
22+
public static final field RIGHT_TO_LEFT_OVERRIDE Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
23+
public static final field SEGMENT_SEPARATOR Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
24+
public static final field WHITE_SPACE Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
25+
public static fun getEntries ()Lkotlin/enums/EnumEntries;
26+
public static fun valueOf (Ljava/lang/String;)Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
27+
public static fun values ()[Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
28+
}
29+
30+
public final class io/github/optimumcode/karacteristics/CodepointCategory : java/lang/Enum {
31+
public static final field CLOSE_PUNCTUATION Lio/github/optimumcode/karacteristics/CodepointCategory;
32+
public static final field CONNECTOR_PUNCTUATION Lio/github/optimumcode/karacteristics/CodepointCategory;
33+
public static final field CONTROL Lio/github/optimumcode/karacteristics/CodepointCategory;
34+
public static final field CURRENCY_SYMBOL Lio/github/optimumcode/karacteristics/CodepointCategory;
35+
public static final field DASH_PUNCTUATION Lio/github/optimumcode/karacteristics/CodepointCategory;
36+
public static final field DECIMAL_NUMBER Lio/github/optimumcode/karacteristics/CodepointCategory;
37+
public static final field ENCLOSING_MARK Lio/github/optimumcode/karacteristics/CodepointCategory;
38+
public static final field FINAL_PUNCTUATION Lio/github/optimumcode/karacteristics/CodepointCategory;
39+
public static final field FORMAT Lio/github/optimumcode/karacteristics/CodepointCategory;
40+
public static final field INITIAL_PUNCTUATION Lio/github/optimumcode/karacteristics/CodepointCategory;
41+
public static final field LETTER_NUMBER Lio/github/optimumcode/karacteristics/CodepointCategory;
42+
public static final field LINE_SEPARATOR Lio/github/optimumcode/karacteristics/CodepointCategory;
43+
public static final field LOWERCASE_LETTER Lio/github/optimumcode/karacteristics/CodepointCategory;
44+
public static final field MATH_SYMBOL Lio/github/optimumcode/karacteristics/CodepointCategory;
45+
public static final field MODIFIER_LETTER Lio/github/optimumcode/karacteristics/CodepointCategory;
46+
public static final field MODIFIER_SYMBOL Lio/github/optimumcode/karacteristics/CodepointCategory;
47+
public static final field NONSPACING_MARK Lio/github/optimumcode/karacteristics/CodepointCategory;
48+
public static final field OPEN_PUNCTUATION Lio/github/optimumcode/karacteristics/CodepointCategory;
49+
public static final field OTHER_LETTER Lio/github/optimumcode/karacteristics/CodepointCategory;
50+
public static final field OTHER_NUMBER Lio/github/optimumcode/karacteristics/CodepointCategory;
51+
public static final field OTHER_PUNCTUATION Lio/github/optimumcode/karacteristics/CodepointCategory;
52+
public static final field OTHER_SYMBOL Lio/github/optimumcode/karacteristics/CodepointCategory;
53+
public static final field PARAGRAPH_SEPARATOR Lio/github/optimumcode/karacteristics/CodepointCategory;
54+
public static final field PRIVATE_USE Lio/github/optimumcode/karacteristics/CodepointCategory;
55+
public static final field SPACE_SEPARATOR Lio/github/optimumcode/karacteristics/CodepointCategory;
56+
public static final field SPACING_MARK Lio/github/optimumcode/karacteristics/CodepointCategory;
57+
public static final field SURRROGATE Lio/github/optimumcode/karacteristics/CodepointCategory;
58+
public static final field TITLECASE_LETTER Lio/github/optimumcode/karacteristics/CodepointCategory;
59+
public static final field UPPERCASE_LETTER Lio/github/optimumcode/karacteristics/CodepointCategory;
60+
public static fun getEntries ()Lkotlin/enums/EnumEntries;
61+
public static fun valueOf (Ljava/lang/String;)Lio/github/optimumcode/karacteristics/CodepointCategory;
62+
public static fun values ()[Lio/github/optimumcode/karacteristics/CodepointCategory;
63+
}
64+
65+
public final class io/github/optimumcode/karacteristics/CodepointCategoryKt {
66+
public static final fun toCharCategory (Lio/github/optimumcode/karacteristics/CodepointCategory;)Lkotlin/text/CharCategory;
67+
}
68+
69+
public abstract class io/github/optimumcode/karacteristics/CodepointDerivedProperty : java/lang/Enum {
70+
public static final field CONTEXTJ Lio/github/optimumcode/karacteristics/CodepointDerivedProperty;
71+
public static final field CONTEXTO Lio/github/optimumcode/karacteristics/CodepointDerivedProperty;
72+
public static final field DISALLOWED Lio/github/optimumcode/karacteristics/CodepointDerivedProperty;
73+
public static final field PVALID Lio/github/optimumcode/karacteristics/CodepointDerivedProperty;
74+
public static final field UNASSIGNED Lio/github/optimumcode/karacteristics/CodepointDerivedProperty;
75+
public synthetic fun <init> (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
76+
public static fun getEntries ()Lkotlin/enums/EnumEntries;
77+
public static fun valueOf (Ljava/lang/String;)Lio/github/optimumcode/karacteristics/CodepointDerivedProperty;
78+
public static fun values ()[Lio/github/optimumcode/karacteristics/CodepointDerivedProperty;
79+
}
80+
81+
public abstract class io/github/optimumcode/karacteristics/CodepointJoiningType : java/lang/Enum {
82+
public static final field DUAL_JOINING Lio/github/optimumcode/karacteristics/CodepointJoiningType;
83+
public static final field JOIN_CAUSING Lio/github/optimumcode/karacteristics/CodepointJoiningType;
84+
public static final field LEFT_JOINING Lio/github/optimumcode/karacteristics/CodepointJoiningType;
85+
public static final field RIGHT_JOINING Lio/github/optimumcode/karacteristics/CodepointJoiningType;
86+
public static final field TRANSPARENT Lio/github/optimumcode/karacteristics/CodepointJoiningType;
87+
public synthetic fun <init> (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
88+
public static fun getEntries ()Lkotlin/enums/EnumEntries;
89+
public static fun valueOf (Ljava/lang/String;)Lio/github/optimumcode/karacteristics/CodepointJoiningType;
90+
public static fun values ()[Lio/github/optimumcode/karacteristics/CodepointJoiningType;
91+
}
92+
93+
public final class io/github/optimumcode/karacteristics/ExtensionsKt {
94+
public static final fun getBidirectionalClass (I)Lio/github/optimumcode/karacteristics/CodepointBidirectionalClass;
95+
public static final fun getCategory (I)Lio/github/optimumcode/karacteristics/CodepointCategory;
96+
public static final fun getDerivedProperty (I)Lio/github/optimumcode/karacteristics/CodepointDerivedProperty;
97+
public static final fun getJoiningType (I)Lio/github/optimumcode/karacteristics/CodepointJoiningType;
98+
}
99+

0 commit comments

Comments
 (0)