Skip to content

Commit c74eb5e

Browse files
committed
Configure Kotlin BCV.
1 parent 524cb8a commit c74eb5e

File tree

4 files changed

+79
-1
lines changed

4 files changed

+79
-1
lines changed

aockt-core/api/aockt-core.api

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
public abstract interface class io/github/jadarma/aockt/core/Solution {
2+
public abstract fun partOne (Ljava/lang/String;)Ljava/lang/Object;
3+
public abstract fun partTwo (Ljava/lang/String;)Ljava/lang/Object;
4+
}
5+
6+
public final class io/github/jadarma/aockt/core/Solution$DefaultImpls {
7+
public static fun partOne (Lio/github/jadarma/aockt/core/Solution;Ljava/lang/String;)Ljava/lang/Object;
8+
public static fun partTwo (Lio/github/jadarma/aockt/core/Solution;Ljava/lang/String;)Ljava/lang/Object;
9+
}
10+

aockt-test/api/aockt-test.api

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
public abstract interface annotation class io/github/jadarma/aockt/test/AdventDay : java/lang/annotation/Annotation {
2+
public abstract fun day ()I
3+
public abstract fun title ()Ljava/lang/String;
4+
public abstract fun variant ()Ljava/lang/String;
5+
public abstract fun year ()I
6+
}
7+
8+
public abstract class io/github/jadarma/aockt/test/AdventSpec : io/kotest/core/spec/style/FunSpec {
9+
public fun <init> ()V
10+
public fun <init> (Lkotlin/jvm/functions/Function1;)V
11+
public synthetic fun <init> (Lkotlin/jvm/functions/Function1;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
12+
public final fun concurrency ()Ljava/lang/Integer;
13+
public final fun coroutineDispatcherFactory ()Lio/kotest/core/concurrency/CoroutineDispatcherFactory;
14+
public final fun dispatcherAffinity ()Ljava/lang/Boolean;
15+
public final fun getSolution ()Lio/github/jadarma/aockt/core/Solution;
16+
public final fun isolationMode ()Lio/kotest/core/spec/IsolationMode;
17+
public final fun partOne-51bEbmg (ZZLio/github/jadarma/aockt/test/ExecMode;Lkotlin/time/Duration;Lkotlin/jvm/functions/Function2;)V
18+
public static synthetic fun partOne-51bEbmg$default (Lio/github/jadarma/aockt/test/AdventSpec;ZZLio/github/jadarma/aockt/test/ExecMode;Lkotlin/time/Duration;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)V
19+
public final fun partTwo-51bEbmg (ZZLio/github/jadarma/aockt/test/ExecMode;Lkotlin/time/Duration;Lkotlin/jvm/functions/Function2;)V
20+
public static synthetic fun partTwo-51bEbmg$default (Lio/github/jadarma/aockt/test/AdventSpec;ZZLio/github/jadarma/aockt/test/ExecMode;Lkotlin/time/Duration;Lkotlin/jvm/functions/Function2;ILjava/lang/Object;)V
21+
public final fun testCaseOrder ()Lio/kotest/core/test/TestCaseOrder;
22+
public final fun threads ()Ljava/lang/Integer;
23+
}
24+
25+
public final class io/github/jadarma/aockt/test/AdventSpecExampleContainerScope : io/kotest/core/spec/style/scopes/ContainerScope {
26+
public fun <init> (Lkotlin/jvm/functions/Function1;Lio/kotest/core/spec/style/scopes/FunSpecContainerScope;)V
27+
public fun afterAny (Lkotlin/jvm/functions/Function2;)V
28+
public fun afterContainer (Lkotlin/jvm/functions/Function2;)V
29+
public fun afterEach (Lkotlin/jvm/functions/Function2;)V
30+
public fun afterTest (Lkotlin/jvm/functions/Function2;)V
31+
public fun beforeAny (Lkotlin/jvm/functions/Function2;)V
32+
public fun beforeContainer (Lkotlin/jvm/functions/Function2;)V
33+
public fun beforeEach (Lkotlin/jvm/functions/Function2;)V
34+
public fun beforeTest (Lkotlin/jvm/functions/Function2;)V
35+
public fun getCoroutineContext ()Lkotlin/coroutines/CoroutineContext;
36+
public fun getTestCase ()Lio/kotest/core/test/TestCase;
37+
public fun hasChildren ()Z
38+
public fun registerContainer (Lio/kotest/core/names/TestName;ZLio/kotest/core/test/config/TestConfig;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
39+
public fun registerTest (Lio/kotest/core/names/TestName;ZLio/kotest/core/test/config/TestConfig;Lio/kotest/core/test/TestType;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
40+
public fun registerTest (Lio/kotest/core/names/TestName;ZLio/kotest/core/test/config/TestConfig;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
41+
public fun registerTestCase (Lio/kotest/core/test/NestedTest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
42+
public final fun shouldAllOutput (Ljava/lang/Iterable;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
43+
public final fun shouldOutput (Ljava/lang/String;Ljava/lang/Object;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
44+
}
45+
46+
public final class io/github/jadarma/aockt/test/AocKtExtension : kotlin/coroutines/AbstractCoroutineContextElement, io/kotest/core/extensions/DisplayNameFormatterExtension, io/kotest/core/extensions/TestCaseExtension {
47+
public synthetic fun <init> (ZJLio/github/jadarma/aockt/test/ExecMode;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
48+
public synthetic fun <init> (ZJLio/github/jadarma/aockt/test/ExecMode;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
49+
public fun formatter ()Lio/kotest/core/names/DisplayNameFormatter;
50+
public fun intercept (Lio/kotest/core/test/TestCase;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
51+
}
52+
53+
public final class io/github/jadarma/aockt/test/ExecMode : java/lang/Enum {
54+
public static final field All Lio/github/jadarma/aockt/test/ExecMode;
55+
public static final field ExamplesOnly Lio/github/jadarma/aockt/test/ExecMode;
56+
public static final field SkipExamples Lio/github/jadarma/aockt/test/ExecMode;
57+
public static fun getEntries ()Lkotlin/enums/EnumEntries;
58+
public static fun valueOf (Ljava/lang/String;)Lio/github/jadarma/aockt/test/ExecMode;
59+
public static fun values ()[Lio/github/jadarma/aockt/test/ExecMode;
60+
}
61+
62+
public final class io/github/jadarma/aockt/test/Expensive : io/kotest/core/Tag {
63+
public static final field INSTANCE Lio/github/jadarma/aockt/test/Expensive;
64+
}
65+

gradle/build-logic/src/main/kotlin/conventions.kotlin-lib.gradle.kts

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ plugins {
44
id("conventions.detekt")
55
id("conventions.dokka")
66
id("conventions.publish")
7+
id("org.jetbrains.kotlinx.binary-compatibility-validator")
78
}
89

910
kotlin {

gradle/libs.versions.toml

+3-1
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ kotlin = "1.9.25" # https://mvnrepository.com/artifact/org.jetbrains.kotli
33
detekt = "1.23.7" # https://mvnrepository.com/artifact/io.gitlab.arturbosch.detekt/detekt-gradle-plugin
44
dokka = "1.9.20" # https://mvnrepository.com/artifact/org.jetbrains.dokka/dokka-gradle-plugin
55
kotest = "5.9.1" # https://mvnrepository.com/artifact/io.kotest/kotest-framework-engine
6+
bcv = "0.16.3" # https://mvnrepository.com/artifact/org.jetbrains.kotlinx.binary-compatibility-validator/org.jetbrains.kotlinx.binary-compatibility-validator.gradle.plugin
67

78
[libraries]
89
kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
910
kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin" }
1011
kotlin-plugin-jvm = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
12+
kotlin-plugin-bcv = { module = "org.jetbrains.kotlinx.binary-compatibility-validator:org.jetbrains.kotlinx.binary-compatibility-validator.gradle.plugin", version.ref = "bcv" }
1113
detekt-plugin = { module = "io.gitlab.arturbosch.detekt:io.gitlab.arturbosch.detekt.gradle.plugin", version.ref = "detekt" }
1214
dokka-plugin = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version.ref = "dokka" }
1315
kotest-api = { module = "io.kotest:kotest-framework-api-jvm", version.ref = "kotest" }
@@ -17,4 +19,4 @@ kotest-property = { module = "io.kotest:kotest-property", version.ref = "kotest"
1719

1820
[bundles]
1921
kotest = [ "kotest-runner", "kotest-assertions", "kotest-property" ]
20-
gradlePlugins = [ "kotlin-plugin-jvm", "detekt-plugin", "dokka-plugin" ]
22+
gradlePlugins = [ "kotlin-plugin-jvm", "kotlin-plugin-bcv", "detekt-plugin", "dokka-plugin" ]

0 commit comments

Comments
 (0)