Skip to content

Commit 564ac2d

Browse files
committed
Add Kotlin binary compatibility plugin
https://github.com/Kotlin/binary-compatibility-validator
1 parent a634ae8 commit 564ac2d

File tree

4 files changed

+998
-0
lines changed

4 files changed

+998
-0
lines changed

build.gradle.kts

+15
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
plugins {
22
kotlin("jvm") version Versions.kotlin apply false
33
id("org.jetbrains.dokka") version Versions.kotlinDokka
4+
id("org.jetbrains.kotlinx.binary-compatibility-validator") version Versions.kotlinBinaryCompatibilityValidator
45
}
56

67
group = Versions.libraryMavenCentralGroup
@@ -10,4 +11,18 @@ allprojects {
1011
repositories {
1112
mavenCentral()
1213
}
14+
}
15+
16+
apiValidation {
17+
/**
18+
* Sub-projects that are excluded from API validation
19+
*/
20+
ignoredProjects.addAll(listOf("samples", "tests"))
21+
22+
/**
23+
* Set of annotations that exclude API from being public.
24+
* Typically, it is all kinds of `@InternalApi` annotations that mark
25+
* effectively private API that cannot be actually private for technical reasons.
26+
*/
27+
nonPublicMarkers.add("ru.nsk.kstatemachine.VisibleForTesting")
1328
}

buildSrc/src/main/kotlin/ru/nsk/Versions.kt

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ object Versions {
77
// tools
88
const val kotlin = "2.0.0"
99
const val kotlinDokka = "1.9.20"
10+
const val kotlinBinaryCompatibilityValidator = "0.16.3"
1011
const val jacocoTool = "0.8.11"
1112

1213
// compatibility
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
public final class ru/nsk/kstatemachine/statemachine/CoroutinesStateMachineBlockingKt {
2+
public static final fun createStateMachineBlocking (Lkotlinx/coroutines/CoroutineScope;Ljava/lang/String;Lru/nsk/kstatemachine/state/ChildMode;ZLru/nsk/kstatemachine/statemachine/CreationArguments;Lkotlin/jvm/functions/Function2;)Lru/nsk/kstatemachine/statemachine/StateMachine;
3+
public static synthetic fun createStateMachineBlocking$default (Lkotlinx/coroutines/CoroutineScope;Ljava/lang/String;Lru/nsk/kstatemachine/state/ChildMode;ZLru/nsk/kstatemachine/statemachine/CreationArguments;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)Lru/nsk/kstatemachine/statemachine/StateMachine;
4+
}
5+
6+
public final class ru/nsk/kstatemachine/statemachine/CoroutinesStateMachineKt {
7+
public static final fun createStateMachine (Lkotlinx/coroutines/CoroutineScope;Ljava/lang/String;Lru/nsk/kstatemachine/state/ChildMode;ZLru/nsk/kstatemachine/statemachine/CreationArguments;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
8+
public static synthetic fun createStateMachine$default (Lkotlinx/coroutines/CoroutineScope;Ljava/lang/String;Lru/nsk/kstatemachine/state/ChildMode;ZLru/nsk/kstatemachine/statemachine/CreationArguments;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object;
9+
public static final fun processEventByAsync (Lru/nsk/kstatemachine/statemachine/StateMachine;Lru/nsk/kstatemachine/event/Event;Ljava/lang/Object;Lkotlin/coroutines/CoroutineContext;Lkotlinx/coroutines/CoroutineStart;)Lkotlinx/coroutines/Deferred;
10+
public static synthetic fun processEventByAsync$default (Lru/nsk/kstatemachine/statemachine/StateMachine;Lru/nsk/kstatemachine/event/Event;Ljava/lang/Object;Lkotlin/coroutines/CoroutineContext;Lkotlinx/coroutines/CoroutineStart;ILjava/lang/Object;)Lkotlinx/coroutines/Deferred;
11+
public static final fun processEventByLaunch (Lru/nsk/kstatemachine/statemachine/StateMachine;Lru/nsk/kstatemachine/event/Event;Ljava/lang/Object;Lkotlin/coroutines/CoroutineContext;Lkotlinx/coroutines/CoroutineStart;)V
12+
public static synthetic fun processEventByLaunch$default (Lru/nsk/kstatemachine/statemachine/StateMachine;Lru/nsk/kstatemachine/event/Event;Ljava/lang/Object;Lkotlin/coroutines/CoroutineContext;Lkotlinx/coroutines/CoroutineStart;ILjava/lang/Object;)V
13+
}
14+
15+
public final class ru/nsk/kstatemachine/statemachine/StateMachineFlowKt {
16+
public static final fun activeStatesFlow (Lru/nsk/kstatemachine/statemachine/StateMachine;)Lkotlinx/coroutines/flow/StateFlow;
17+
public static final fun stateMachineNotificationFlow (Lru/nsk/kstatemachine/statemachine/StateMachine;IILkotlinx/coroutines/channels/BufferOverflow;)Lkotlinx/coroutines/flow/SharedFlow;
18+
public static synthetic fun stateMachineNotificationFlow$default (Lru/nsk/kstatemachine/statemachine/StateMachine;IILkotlinx/coroutines/channels/BufferOverflow;ILjava/lang/Object;)Lkotlinx/coroutines/flow/SharedFlow;
19+
}
20+
21+
public abstract class ru/nsk/kstatemachine/statemachine/StateMachineNotification {
22+
public synthetic fun <init> (Lru/nsk/kstatemachine/statemachine/StateMachine;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
23+
public final fun getMachine ()Lru/nsk/kstatemachine/statemachine/StateMachine;
24+
}
25+
26+
public final class ru/nsk/kstatemachine/statemachine/StateMachineNotification$Destroyed : ru/nsk/kstatemachine/statemachine/StateMachineNotification {
27+
public fun <init> (Lru/nsk/kstatemachine/statemachine/StateMachine;)V
28+
}
29+
30+
public final class ru/nsk/kstatemachine/statemachine/StateMachineNotification$Started : ru/nsk/kstatemachine/statemachine/StateMachineNotification {
31+
public fun <init> (Lru/nsk/kstatemachine/transition/TransitionParams;Lru/nsk/kstatemachine/statemachine/StateMachine;)V
32+
public final fun getTransitionParams ()Lru/nsk/kstatemachine/transition/TransitionParams;
33+
}
34+
35+
public final class ru/nsk/kstatemachine/statemachine/StateMachineNotification$StateEntry : ru/nsk/kstatemachine/statemachine/StateMachineNotification {
36+
public fun <init> (Lru/nsk/kstatemachine/state/IState;Lru/nsk/kstatemachine/transition/TransitionParams;Lru/nsk/kstatemachine/statemachine/StateMachine;)V
37+
public final fun getState ()Lru/nsk/kstatemachine/state/IState;
38+
public final fun getTransitionParams ()Lru/nsk/kstatemachine/transition/TransitionParams;
39+
}
40+
41+
public final class ru/nsk/kstatemachine/statemachine/StateMachineNotification$StateExit : ru/nsk/kstatemachine/statemachine/StateMachineNotification {
42+
public fun <init> (Lru/nsk/kstatemachine/state/IState;Lru/nsk/kstatemachine/transition/TransitionParams;Lru/nsk/kstatemachine/statemachine/StateMachine;)V
43+
public final fun getState ()Lru/nsk/kstatemachine/state/IState;
44+
public final fun getTransitionParams ()Lru/nsk/kstatemachine/transition/TransitionParams;
45+
}
46+
47+
public final class ru/nsk/kstatemachine/statemachine/StateMachineNotification$StateFinished : ru/nsk/kstatemachine/statemachine/StateMachineNotification {
48+
public fun <init> (Lru/nsk/kstatemachine/state/IState;Lru/nsk/kstatemachine/transition/TransitionParams;Lru/nsk/kstatemachine/statemachine/StateMachine;)V
49+
public final fun getState ()Lru/nsk/kstatemachine/state/IState;
50+
public final fun getTransitionParams ()Lru/nsk/kstatemachine/transition/TransitionParams;
51+
}
52+
53+
public final class ru/nsk/kstatemachine/statemachine/StateMachineNotification$Stopped : ru/nsk/kstatemachine/statemachine/StateMachineNotification {
54+
public fun <init> (Lru/nsk/kstatemachine/statemachine/StateMachine;)V
55+
}
56+
57+
public final class ru/nsk/kstatemachine/statemachine/StateMachineNotification$TransitionComplete : ru/nsk/kstatemachine/statemachine/StateMachineNotification {
58+
public fun <init> (Ljava/util/Set;Lru/nsk/kstatemachine/transition/TransitionParams;Lru/nsk/kstatemachine/statemachine/StateMachine;)V
59+
public final fun getActiveStates ()Ljava/util/Set;
60+
public final fun getTransitionParams ()Lru/nsk/kstatemachine/transition/TransitionParams;
61+
}
62+
63+
public final class ru/nsk/kstatemachine/statemachine/StateMachineNotification$TransitionTriggered : ru/nsk/kstatemachine/statemachine/StateMachineNotification {
64+
public fun <init> (Lru/nsk/kstatemachine/transition/TransitionParams;Lru/nsk/kstatemachine/statemachine/StateMachine;)V
65+
public final fun getTransitionParams ()Lru/nsk/kstatemachine/transition/TransitionParams;
66+
}
67+

0 commit comments

Comments
 (0)