Skip to content

Commit

Permalink
chore(compatibility): add binary compatibility
Browse files Browse the repository at this point in the history
  • Loading branch information
osoykan committed Dec 6, 2024
1 parent f23c15f commit 1d6277b
Show file tree
Hide file tree
Showing 21 changed files with 4,108 additions and 0 deletions.
Empty file added api/stove.api
Empty file.
1 change: 1 addition & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ plugins {
alias(libs.plugins.testLogger)
alias(libs.plugins.kover)
alias(libs.plugins.detekt)
alias(libs.plugins.binaryCompatibilityValidator)
id("stove-publishing") apply false
idea
java
Expand Down
218 changes: 218 additions & 0 deletions examples/ktor-example/api/ktor-example.api
Original file line number Diff line number Diff line change
@@ -0,0 +1,218 @@
public final class stove/ktor/example/ApplicationKt {
public static final field CONNECT_TIMEOUT_SECONDS J
public static final fun main ([Ljava/lang/String;)V
public static final fun mainModule (Lio/ktor/server/application/Application;Lstove/ktor/example/app/AppConfiguration;Lkotlin/jvm/functions/Function0;)V
public static final fun run ([Ljava/lang/String;ZLkotlin/jvm/functions/Function0;)Lio/ktor/server/application/Application;
public static synthetic fun run$default ([Ljava/lang/String;ZLkotlin/jvm/functions/Function0;ILjava/lang/Object;)Lio/ktor/server/application/Application;
}

public final class stove/ktor/example/app/AppConfiguration {
public fun <init> (ILstove/ktor/example/app/DatabaseConfiguration;Lstove/ktor/example/app/KafkaConfiguration;)V
public final fun component1 ()I
public final fun component2 ()Lstove/ktor/example/app/DatabaseConfiguration;
public final fun component3 ()Lstove/ktor/example/app/KafkaConfiguration;
public final fun copy (ILstove/ktor/example/app/DatabaseConfiguration;Lstove/ktor/example/app/KafkaConfiguration;)Lstove/ktor/example/app/AppConfiguration;
public static synthetic fun copy$default (Lstove/ktor/example/app/AppConfiguration;ILstove/ktor/example/app/DatabaseConfiguration;Lstove/ktor/example/app/KafkaConfiguration;ILjava/lang/Object;)Lstove/ktor/example/app/AppConfiguration;
public fun equals (Ljava/lang/Object;)Z
public final fun getDatabase ()Lstove/ktor/example/app/DatabaseConfiguration;
public final fun getKafka ()Lstove/ktor/example/app/KafkaConfiguration;
public final fun getPort ()I
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class stove/ktor/example/app/AppEnv : java/lang/Enum {
public static final field Companion Lstove/ktor/example/app/AppEnv$Companion;
public static final field Local Lstove/ktor/example/app/AppEnv;
public static final field Prod Lstove/ktor/example/app/AppEnv;
public static final field Unspecified Lstove/ktor/example/app/AppEnv;
public static fun getEntries ()Lkotlin/enums/EnumEntries;
public final fun getEnv ()Ljava/lang/String;
public final fun isLocal ()Z
public final fun isProd ()Z
public static fun valueOf (Ljava/lang/String;)Lstove/ktor/example/app/AppEnv;
public static fun values ()[Lstove/ktor/example/app/AppEnv;
}

public final class stove/ktor/example/app/AppEnv$Companion {
public final fun current ()Lstove/ktor/example/app/AppEnv;
public final fun toEnv ()Lcom/sksamuel/hoplite/env/Environment;
}

public final class stove/ktor/example/app/AppKt {
public static final fun app ()Lorg/koin/core/module/Module;
public static final fun getObjectMapperRef ()Lcom/fasterxml/jackson/databind/ObjectMapper;
}

public final class stove/ktor/example/app/DatabaseConfiguration {
public fun <init> (Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
public final fun component1 ()Ljava/lang/String;
public final fun component2 ()I
public final fun component3 ()Ljava/lang/String;
public final fun component4 ()Ljava/lang/String;
public final fun component5 ()Ljava/lang/String;
public final fun component6 ()Ljava/lang/String;
public final fun copy (Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lstove/ktor/example/app/DatabaseConfiguration;
public static synthetic fun copy$default (Lstove/ktor/example/app/DatabaseConfiguration;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lstove/ktor/example/app/DatabaseConfiguration;
public fun equals (Ljava/lang/Object;)Z
public final fun getHost ()Ljava/lang/String;
public final fun getJdbcUrl ()Ljava/lang/String;
public final fun getName ()Ljava/lang/String;
public final fun getPassword ()Ljava/lang/String;
public final fun getPort ()I
public final fun getUsername ()Ljava/lang/String;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class stove/ktor/example/app/DatabaseKt {
public static final fun postgresql ()Lorg/koin/core/module/Module;
}

public final class stove/ktor/example/app/ExampleAppKafkaValueDeserializer : org/apache/kafka/common/serialization/Deserializer {
public fun <init> ()V
public fun deserialize (Ljava/lang/String;[B)Ljava/lang/Object;
}

public final class stove/ktor/example/app/ExampleAppKafkaValueSerializer : org/apache/kafka/common/serialization/Serializer {
public fun <init> ()V
public fun serialize (Ljava/lang/String;Ljava/lang/Object;)[B
}

public final class stove/ktor/example/app/KafkaConfiguration {
public fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/Map;)V
public final fun component1 ()Ljava/lang/String;
public final fun component2 ()Ljava/lang/String;
public final fun component3 ()Ljava/lang/String;
public final fun component4 ()Ljava/util/List;
public final fun component5 ()Ljava/util/Map;
public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/Map;)Lstove/ktor/example/app/KafkaConfiguration;
public static synthetic fun copy$default (Lstove/ktor/example/app/KafkaConfiguration;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/Map;ILjava/lang/Object;)Lstove/ktor/example/app/KafkaConfiguration;
public fun equals (Ljava/lang/Object;)Z
public final fun getBootstrapServers ()Ljava/lang/String;
public final fun getClientId ()Ljava/lang/String;
public final fun getGroupId ()Ljava/lang/String;
public final fun getInterceptorClasses ()Ljava/util/List;
public final fun getTopics ()Ljava/util/Map;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class stove/ktor/example/app/KafkaKt {
public static final fun kafka ()Lorg/koin/core/module/Module;
}

public final class stove/ktor/example/app/RoutingKt {
public static final fun configureRouting (Lio/ktor/server/application/Application;)V
}

public final class stove/ktor/example/app/TopicConfiguration {
public fun <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
public final fun component1 ()Ljava/lang/String;
public final fun component2 ()Ljava/lang/String;
public final fun component3 ()Ljava/lang/String;
public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lstove/ktor/example/app/TopicConfiguration;
public static synthetic fun copy$default (Lstove/ktor/example/app/TopicConfiguration;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lstove/ktor/example/app/TopicConfiguration;
public fun equals (Ljava/lang/Object;)Z
public final fun getError ()Ljava/lang/String;
public final fun getRetry ()Ljava/lang/String;
public final fun getTopic ()Ljava/lang/String;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class stove/ktor/example/application/ExampleAppConsumer {
public fun <init> (Lstove/ktor/example/app/AppConfiguration;Lorg/apache/kafka/clients/consumer/KafkaConsumer;)V
public final fun start ()V
public final fun stop ()V
}

public final class stove/ktor/example/application/ExampleAppConsumerKt {
public static final field POLL_TIMEOUT_SECONDS I
}

public abstract interface class stove/ktor/example/application/LockProvider {
public abstract fun acquireLock (Ljava/lang/String;Ljava/time/Duration;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public abstract fun releaseLock (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public final class stove/ktor/example/application/MutexLockProvider : stove/ktor/example/application/LockProvider {
public fun <init> ()V
public fun acquireLock (Ljava/lang/String;Ljava/time/Duration;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun releaseLock (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public final class stove/ktor/example/application/ProductService {
public static final field Companion Lstove/ktor/example/application/ProductService$Companion;
public fun <init> (Lstove/ktor/example/domain/ProductRepository;Lstove/ktor/example/application/LockProvider;Lorg/apache/kafka/clients/producer/KafkaProducer;)V
public final fun update (ILstove/ktor/example/application/UpdateProductRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

public final class stove/ktor/example/application/ProductService$Companion {
}

public final class stove/ktor/example/application/UpdateProductRequest {
public static final field Companion Lstove/ktor/example/application/UpdateProductRequest$Companion;
public fun <init> (Ljava/lang/String;)V
public final fun component1 ()Ljava/lang/String;
public final fun copy (Ljava/lang/String;)Lstove/ktor/example/application/UpdateProductRequest;
public static synthetic fun copy$default (Lstove/ktor/example/application/UpdateProductRequest;Ljava/lang/String;ILjava/lang/Object;)Lstove/ktor/example/application/UpdateProductRequest;
public fun equals (Ljava/lang/Object;)Z
public final fun getName ()Ljava/lang/String;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public synthetic class stove/ktor/example/application/UpdateProductRequest$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
public static final field INSTANCE Lstove/ktor/example/application/UpdateProductRequest$$serializer;
public final fun childSerializers ()[Lkotlinx/serialization/KSerializer;
public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lstove/ktor/example/application/UpdateProductRequest;
public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lstove/ktor/example/application/UpdateProductRequest;)V
public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
}

public final class stove/ktor/example/application/UpdateProductRequest$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}

public final class stove/ktor/example/domain/DomainEvents {
public static final field INSTANCE Lstove/ktor/example/domain/DomainEvents;
}

public final class stove/ktor/example/domain/DomainEvents$ProductUpdated {
public fun <init> (ILjava/lang/String;)V
public final fun component1 ()I
public final fun component2 ()Ljava/lang/String;
public final fun copy (ILjava/lang/String;)Lstove/ktor/example/domain/DomainEvents$ProductUpdated;
public static synthetic fun copy$default (Lstove/ktor/example/domain/DomainEvents$ProductUpdated;ILjava/lang/String;ILjava/lang/Object;)Lstove/ktor/example/domain/DomainEvents$ProductUpdated;
public fun equals (Ljava/lang/Object;)Z
public final fun getId ()I
public final fun getName ()Ljava/lang/String;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class stove/ktor/example/domain/Product {
public fun <init> (ILjava/lang/String;)V
public final fun component1 ()I
public final fun component2 ()Ljava/lang/String;
public final fun copy (ILjava/lang/String;)Lstove/ktor/example/domain/Product;
public static synthetic fun copy$default (Lstove/ktor/example/domain/Product;ILjava/lang/String;ILjava/lang/Object;)Lstove/ktor/example/domain/Product;
public fun equals (Ljava/lang/Object;)Z
public final fun getId ()I
public final fun getName ()Ljava/lang/String;
public fun hashCode ()I
public final fun setName (Ljava/lang/String;)V
public fun toString ()Ljava/lang/String;
}

public final class stove/ktor/example/domain/ProductRepository {
public fun <init> (Lio/r2dbc/postgresql/PostgresqlConnectionFactory;)V
public final fun findById (ILkotlin/coroutines/Continuation;)Ljava/lang/Object;
public final fun transaction (Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public final fun update (Lstove/ktor/example/domain/Product;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
}

Loading

0 comments on commit 1d6277b

Please sign in to comment.