You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added experimental Klib ABI dump validation support.
Validation could be performed using the Gradle plugin
which provides almost the same validation and dump workflow
as for JVM ABI validation.
Also, a public API was added to allow users who don't want or
can't use the plugin to implement their own workflows.
---------
Co-authored-by: Leonid Startsev <[email protected]>
Co-authored-by: ilya-g <[email protected]>
@@ -5,11 +5,13 @@ public class kotlinx/validation/ApiValidationExtension {
5
5
public final fun getIgnoredClasses ()Ljava/util/Set;
6
6
public final fun getIgnoredPackages ()Ljava/util/Set;
7
7
public final fun getIgnoredProjects ()Ljava/util/Set;
8
+
public final fun getKlib ()Lkotlinx/validation/KlibValidationSettings;
8
9
public final fun getNonPublicMarkers ()Ljava/util/Set;
9
10
public final fun getPublicClasses ()Ljava/util/Set;
10
11
public final fun getPublicMarkers ()Ljava/util/Set;
11
12
public final fun getPublicPackages ()Ljava/util/Set;
12
13
public final fun getValidationDisabled ()Z
14
+
public final fun klib (Lkotlin/jvm/functions/Function1;)V
13
15
public final fun setAdditionalSourceSets (Ljava/util/Set;)V
14
16
public final fun setApiDumpDirectory (Ljava/lang/String;)V
15
17
public final fun setIgnoredClasses (Ljava/util/Set;)V
@@ -28,32 +30,59 @@ public final class kotlinx/validation/BinaryCompatibilityValidatorPlugin : org/g
28
30
public fun apply (Lorg/gradle/api/Project;)V
29
31
}
30
32
33
+
public abstract class kotlinx/validation/BuildTaskBase : org/gradle/api/DefaultTask {
34
+
public field outputApiFile Ljava/io/File;
35
+
public fun <init> ()V
36
+
public final fun getIgnoredClasses ()Ljava/util/Set;
37
+
public final fun getIgnoredPackages ()Ljava/util/Set;
38
+
public final fun getNonPublicMarkers ()Ljava/util/Set;
39
+
public final fun getOutputApiFile ()Ljava/io/File;
40
+
public final fun getPublicClasses ()Ljava/util/Set;
41
+
public final fun getPublicMarkers ()Ljava/util/Set;
42
+
public final fun getPublicPackages ()Ljava/util/Set;
43
+
public final fun setIgnoredClasses (Ljava/util/Set;)V
44
+
public final fun setIgnoredPackages (Ljava/util/Set;)V
45
+
public final fun setNonPublicMarkers (Ljava/util/Set;)V
46
+
public final fun setOutputApiFile (Ljava/io/File;)V
47
+
public final fun setPublicClasses (Ljava/util/Set;)V
48
+
public final fun setPublicMarkers (Ljava/util/Set;)V
49
+
public final fun setPublicPackages (Ljava/util/Set;)V
50
+
}
51
+
52
+
public abstract interface annotation class kotlinx/validation/ExperimentalBCVApi : java/lang/annotation/Annotation {
53
+
}
54
+
31
55
public abstract interface annotation class kotlinx/validation/ExternalApi : java/lang/annotation/Annotation {
32
56
}
33
57
34
-
public class kotlinx/validation/KotlinApiBuildTask : org/gradle/api/DefaultTask {
58
+
public class kotlinx/validation/KlibValidationSettings {
59
+
public fun <init> ()V
60
+
public final fun getEnabled ()Z
61
+
public final fun getSignatureVersion ()Lkotlinx/validation/api/klib/KlibSignatureVersion;
62
+
public final fun getStrictValidation ()Z
63
+
public final fun setEnabled (Z)V
64
+
public final fun setSignatureVersion (Lkotlinx/validation/api/klib/KlibSignatureVersion;)V
65
+
public final fun setStrictValidation (Z)V
66
+
}
67
+
68
+
public class kotlinx/validation/KotlinApiBuildTask : kotlinx/validation/BuildTaskBase {
35
69
public field inputDependencies Lorg/gradle/api/file/FileCollection;
36
-
public field outputApiDir Ljava/io/File;
37
70
public fun <init> ()V
38
71
public final fun getInputClassesDirs ()Lorg/gradle/api/file/FileCollection;
39
72
public final fun getInputDependencies ()Lorg/gradle/api/file/FileCollection;
40
73
public final fun getInputJar ()Lorg/gradle/api/file/RegularFileProperty;
41
-
public final fun getOutputApiDir ()Ljava/io/File;
42
74
public final fun setInputClassesDirs (Lorg/gradle/api/file/FileCollection;)V
43
75
public final fun setInputDependencies (Lorg/gradle/api/file/FileCollection;)V
44
-
public final fun setOutputApiDir (Ljava/io/File;)V
45
76
}
46
77
47
78
public class kotlinx/validation/KotlinApiCompareTask : org/gradle/api/DefaultTask {
48
-
public field apiBuildDir Ljava/io/File;
79
+
public field generatedApiFile Ljava/io/File;
80
+
public field projectApiFile Ljava/io/File;
49
81
public fun <init> (Lorg/gradle/api/model/ObjectFactory;)V
50
-
public final fun getApiBuildDir ()Ljava/io/File;
51
-
public final fun getDummyOutputFile ()Ljava/io/File;
52
-
public final fun getNonExistingProjectApiDir ()Ljava/lang/String;
53
-
public final fun getProjectApiDir ()Ljava/io/File;
54
-
public final fun setApiBuildDir (Ljava/io/File;)V
55
-
public final fun setNonExistingProjectApiDir (Ljava/lang/String;)V
56
-
public final fun setProjectApiDir (Ljava/io/File;)V
82
+
public final fun getGeneratedApiFile ()Ljava/io/File;
83
+
public final fun getProjectApiFile ()Ljava/io/File;
84
+
public final fun setGeneratedApiFile (Ljava/io/File;)V
85
+
public final fun setProjectApiFile (Ljava/io/File;)V
57
86
}
58
87
59
88
public final class kotlinx/validation/api/ClassBinarySignature {
@@ -79,3 +108,82 @@ public final class kotlinx/validation/api/KotlinSignaturesLoadingKt {
79
108
public static synthetic fun retainExplicitlyIncludedIfDeclared$default (Ljava/util/List;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/Collection;ILjava/lang/Object;)Ljava/util/List;
80
109
}
81
110
111
+
public final class kotlinx/validation/api/klib/KlibDump {
112
+
public static final field Companion Lkotlinx/validation/api/klib/KlibDump$Companion;
113
+
public fun <init> ()V
114
+
public final fun copy ()Lkotlinx/validation/api/klib/KlibDump;
115
+
public final fun getTargets ()Ljava/util/Set;
116
+
public final fun merge (Ljava/io/File;Ljava/lang/String;)V
117
+
public final fun merge (Lkotlinx/validation/api/klib/KlibDump;)V
118
+
public static synthetic fun merge$default (Lkotlinx/validation/api/klib/KlibDump;Ljava/io/File;Ljava/lang/String;ILjava/lang/Object;)V
119
+
public final fun remove (Ljava/lang/Iterable;)V
120
+
public final fun retain (Ljava/lang/Iterable;)V
121
+
public final fun saveTo (Ljava/lang/Appendable;)V
122
+
}
123
+
124
+
public final class kotlinx/validation/api/klib/KlibDump$Companion {
125
+
public final fun from (Ljava/io/File;Ljava/lang/String;)Lkotlinx/validation/api/klib/KlibDump;
126
+
public static synthetic fun from$default (Lkotlinx/validation/api/klib/KlibDump$Companion;Ljava/io/File;Ljava/lang/String;ILjava/lang/Object;)Lkotlinx/validation/api/klib/KlibDump;
127
+
public final fun fromKlib (Ljava/io/File;Ljava/lang/String;Lkotlinx/validation/api/klib/KlibDumpFilters;)Lkotlinx/validation/api/klib/KlibDump;
128
+
public static synthetic fun fromKlib$default (Lkotlinx/validation/api/klib/KlibDump$Companion;Ljava/io/File;Ljava/lang/String;Lkotlinx/validation/api/klib/KlibDumpFilters;ILjava/lang/Object;)Lkotlinx/validation/api/klib/KlibDump;
129
+
}
130
+
131
+
public final class kotlinx/validation/api/klib/KlibDumpFilters {
132
+
public static final field Companion Lkotlinx/validation/api/klib/KlibDumpFilters$Companion;
133
+
public final fun getIgnoredClasses ()Ljava/util/Set;
134
+
public final fun getIgnoredPackages ()Ljava/util/Set;
135
+
public final fun getNonPublicMarkers ()Ljava/util/Set;
136
+
public final fun getSignatureVersion ()Lkotlinx/validation/api/klib/KlibSignatureVersion;
137
+
}
138
+
139
+
public final class kotlinx/validation/api/klib/KlibDumpFilters$Builder {
140
+
public fun <init> ()V
141
+
public final fun build ()Lkotlinx/validation/api/klib/KlibDumpFilters;
142
+
public final fun getIgnoredClasses ()Ljava/util/Set;
143
+
public final fun getIgnoredPackages ()Ljava/util/Set;
144
+
public final fun getNonPublicMarkers ()Ljava/util/Set;
145
+
public final fun getSignatureVersion ()Lkotlinx/validation/api/klib/KlibSignatureVersion;
146
+
public final fun setSignatureVersion (Lkotlinx/validation/api/klib/KlibSignatureVersion;)V
147
+
}
148
+
149
+
public final class kotlinx/validation/api/klib/KlibDumpFilters$Companion {
150
+
public final fun getDEFAULT ()Lkotlinx/validation/api/klib/KlibDumpFilters;
151
+
}
152
+
153
+
public final class kotlinx/validation/api/klib/KlibDumpFiltersKt {
154
+
public static final fun KLibDumpFilters (Lkotlin/jvm/functions/Function1;)Lkotlinx/validation/api/klib/KlibDumpFilters;
155
+
}
156
+
157
+
public final class kotlinx/validation/api/klib/KlibDumpKt {
158
+
public static final fun inferAbi (Lkotlinx/validation/api/klib/KlibTarget;Ljava/lang/Iterable;Lkotlinx/validation/api/klib/KlibDump;)Lkotlinx/validation/api/klib/KlibDump;
159
+
public static synthetic fun inferAbi$default (Lkotlinx/validation/api/klib/KlibTarget;Ljava/lang/Iterable;Lkotlinx/validation/api/klib/KlibDump;ILjava/lang/Object;)Lkotlinx/validation/api/klib/KlibDump;
160
+
public static final fun mergeFromKlib (Lkotlinx/validation/api/klib/KlibDump;Ljava/io/File;Ljava/lang/String;Lkotlinx/validation/api/klib/KlibDumpFilters;)V
161
+
public static synthetic fun mergeFromKlib$default (Lkotlinx/validation/api/klib/KlibDump;Ljava/io/File;Ljava/lang/String;Lkotlinx/validation/api/klib/KlibDumpFilters;ILjava/lang/Object;)V
162
+
public static final fun saveTo (Lkotlinx/validation/api/klib/KlibDump;Ljava/io/File;)V
163
+
}
164
+
165
+
public final class kotlinx/validation/api/klib/KlibSignatureVersion {
166
+
public static final field Companion Lkotlinx/validation/api/klib/KlibSignatureVersion$Companion;
167
+
public fun equals (Ljava/lang/Object;)Z
168
+
public fun hashCode ()I
169
+
public fun toString ()Ljava/lang/String;
170
+
}
171
+
172
+
public final class kotlinx/validation/api/klib/KlibSignatureVersion$Companion {
173
+
public final fun getLATEST ()Lkotlinx/validation/api/klib/KlibSignatureVersion;
174
+
public final fun of (I)Lkotlinx/validation/api/klib/KlibSignatureVersion;
175
+
}
176
+
177
+
public final class kotlinx/validation/api/klib/KlibTarget {
178
+
public static final field Companion Lkotlinx/validation/api/klib/KlibTarget$Companion;
179
+
public fun equals (Ljava/lang/Object;)Z
180
+
public final fun getConfigurableName ()Ljava/lang/String;
181
+
public final fun getTargetName ()Ljava/lang/String;
182
+
public fun hashCode ()I
183
+
public fun toString ()Ljava/lang/String;
184
+
}
185
+
186
+
public final class kotlinx/validation/api/klib/KlibTarget$Companion {
187
+
public final fun parse (Ljava/lang/String;)Lkotlinx/validation/api/klib/KlibTarget;
0 commit comments