Skip to content

Commit

Permalink
Add Kotlin binary compatibility plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
nsk90 committed Sep 4, 2024
1 parent a634ae8 commit 564ac2d
Show file tree
Hide file tree
Showing 4 changed files with 998 additions and 0 deletions.
15 changes: 15 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
plugins {
kotlin("jvm") version Versions.kotlin apply false
id("org.jetbrains.dokka") version Versions.kotlinDokka
id("org.jetbrains.kotlinx.binary-compatibility-validator") version Versions.kotlinBinaryCompatibilityValidator
}

group = Versions.libraryMavenCentralGroup
Expand All @@ -10,4 +11,18 @@ allprojects {
repositories {
mavenCentral()
}
}

apiValidation {
/**
* Sub-projects that are excluded from API validation
*/
ignoredProjects.addAll(listOf("samples", "tests"))

/**
* Set of annotations that exclude API from being public.
* Typically, it is all kinds of `@InternalApi` annotations that mark
* effectively private API that cannot be actually private for technical reasons.
*/
nonPublicMarkers.add("ru.nsk.kstatemachine.VisibleForTesting")
}
1 change: 1 addition & 0 deletions buildSrc/src/main/kotlin/ru/nsk/Versions.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ object Versions {
// tools
const val kotlin = "2.0.0"
const val kotlinDokka = "1.9.20"
const val kotlinBinaryCompatibilityValidator = "0.16.3"
const val jacocoTool = "0.8.11"

// compatibility
Expand Down
67 changes: 67 additions & 0 deletions kstatemachine-coroutines/api/kstatemachine-coroutines.api
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
public final class ru/nsk/kstatemachine/statemachine/CoroutinesStateMachineBlockingKt {
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;
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;
}

public final class ru/nsk/kstatemachine/statemachine/CoroutinesStateMachineKt {
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;
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;
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;
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;
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
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
}

public final class ru/nsk/kstatemachine/statemachine/StateMachineFlowKt {
public static final fun activeStatesFlow (Lru/nsk/kstatemachine/statemachine/StateMachine;)Lkotlinx/coroutines/flow/StateFlow;
public static final fun stateMachineNotificationFlow (Lru/nsk/kstatemachine/statemachine/StateMachine;IILkotlinx/coroutines/channels/BufferOverflow;)Lkotlinx/coroutines/flow/SharedFlow;
public static synthetic fun stateMachineNotificationFlow$default (Lru/nsk/kstatemachine/statemachine/StateMachine;IILkotlinx/coroutines/channels/BufferOverflow;ILjava/lang/Object;)Lkotlinx/coroutines/flow/SharedFlow;
}

public abstract class ru/nsk/kstatemachine/statemachine/StateMachineNotification {
public synthetic fun <init> (Lru/nsk/kstatemachine/statemachine/StateMachine;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun getMachine ()Lru/nsk/kstatemachine/statemachine/StateMachine;
}

public final class ru/nsk/kstatemachine/statemachine/StateMachineNotification$Destroyed : ru/nsk/kstatemachine/statemachine/StateMachineNotification {
public fun <init> (Lru/nsk/kstatemachine/statemachine/StateMachine;)V
}

public final class ru/nsk/kstatemachine/statemachine/StateMachineNotification$Started : ru/nsk/kstatemachine/statemachine/StateMachineNotification {
public fun <init> (Lru/nsk/kstatemachine/transition/TransitionParams;Lru/nsk/kstatemachine/statemachine/StateMachine;)V
public final fun getTransitionParams ()Lru/nsk/kstatemachine/transition/TransitionParams;
}

public final class ru/nsk/kstatemachine/statemachine/StateMachineNotification$StateEntry : ru/nsk/kstatemachine/statemachine/StateMachineNotification {
public fun <init> (Lru/nsk/kstatemachine/state/IState;Lru/nsk/kstatemachine/transition/TransitionParams;Lru/nsk/kstatemachine/statemachine/StateMachine;)V
public final fun getState ()Lru/nsk/kstatemachine/state/IState;
public final fun getTransitionParams ()Lru/nsk/kstatemachine/transition/TransitionParams;
}

public final class ru/nsk/kstatemachine/statemachine/StateMachineNotification$StateExit : ru/nsk/kstatemachine/statemachine/StateMachineNotification {
public fun <init> (Lru/nsk/kstatemachine/state/IState;Lru/nsk/kstatemachine/transition/TransitionParams;Lru/nsk/kstatemachine/statemachine/StateMachine;)V
public final fun getState ()Lru/nsk/kstatemachine/state/IState;
public final fun getTransitionParams ()Lru/nsk/kstatemachine/transition/TransitionParams;
}

public final class ru/nsk/kstatemachine/statemachine/StateMachineNotification$StateFinished : ru/nsk/kstatemachine/statemachine/StateMachineNotification {
public fun <init> (Lru/nsk/kstatemachine/state/IState;Lru/nsk/kstatemachine/transition/TransitionParams;Lru/nsk/kstatemachine/statemachine/StateMachine;)V
public final fun getState ()Lru/nsk/kstatemachine/state/IState;
public final fun getTransitionParams ()Lru/nsk/kstatemachine/transition/TransitionParams;
}

public final class ru/nsk/kstatemachine/statemachine/StateMachineNotification$Stopped : ru/nsk/kstatemachine/statemachine/StateMachineNotification {
public fun <init> (Lru/nsk/kstatemachine/statemachine/StateMachine;)V
}

public final class ru/nsk/kstatemachine/statemachine/StateMachineNotification$TransitionComplete : ru/nsk/kstatemachine/statemachine/StateMachineNotification {
public fun <init> (Ljava/util/Set;Lru/nsk/kstatemachine/transition/TransitionParams;Lru/nsk/kstatemachine/statemachine/StateMachine;)V
public final fun getActiveStates ()Ljava/util/Set;
public final fun getTransitionParams ()Lru/nsk/kstatemachine/transition/TransitionParams;
}

public final class ru/nsk/kstatemachine/statemachine/StateMachineNotification$TransitionTriggered : ru/nsk/kstatemachine/statemachine/StateMachineNotification {
public fun <init> (Lru/nsk/kstatemachine/transition/TransitionParams;Lru/nsk/kstatemachine/statemachine/StateMachine;)V
public final fun getTransitionParams ()Lru/nsk/kstatemachine/transition/TransitionParams;
}

Loading

0 comments on commit 564ac2d

Please sign in to comment.