Skip to content

Commit

Permalink
Add kotlinx.binary-compatibility-validator
Browse files Browse the repository at this point in the history
  • Loading branch information
DRSchlaubi committed Sep 12, 2023
1 parent fc4be35 commit 165a8d7
Show file tree
Hide file tree
Showing 8 changed files with 496 additions and 6 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -124,3 +124,4 @@ gradle-app.setting
docs/api

!kotlinpoet/build/generated/
**/api/generationSource
1 change: 0 additions & 1 deletion buildSrc/src/main/kotlin/code-generator.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import dev.kord.codegen.gradle.CodeGenerationExtension
import dev.kord.codegen.gradle.DownloadSourceTask
import gradle.kotlin.dsl.accessors._7b8cf35def19faa7a7cee07df6b87362.publishing
import java.lang.Boolean as JBoolean

plugins {
Expand Down
1 change: 1 addition & 0 deletions buildSrc/src/main/kotlin/kord-publishing.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import org.jetbrains.dokka.gradle.AbstractDokkaLeafTask
plugins {
org.jetbrains.dokka
id("com.vanniktech.maven.publish.base")
org.jetbrains.kotlinx.`binary-compatibility-validator`
}

tasks {
Expand Down
4 changes: 3 additions & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,7 @@ ksp-plugin = { group = "com.google.devtools.ksp", name = "symbol-processing-grad
dokka-plugin = { group = "org.jetbrains.dokka", name = "dokka-gradle-plugin", version = "1.9.0" }
maven-publish-plugin = { module = "com.vanniktech:gradle-maven-publish-plugin", version = "0.25.3" }

binary-compatibility-validator-plugin = { module = "org.jetbrains.kotlinx:binary-compatibility-validator", version = "0.13.2" }

[bundles]
pluginsForBuildSrc = ["kotlin-plugin", "ksp-plugin", "dokka-plugin", "maven-publish-plugin"]
pluginsForBuildSrc = ["kotlin-plugin", "ksp-plugin", "dokka-plugin", "maven-publish-plugin", "binary-compatibility-validator-plugin"]
361 changes: 361 additions & 0 deletions kotlinpoet/api/jvm/kotlinpoet.api

Large diffs are not rendered by default.

4 changes: 0 additions & 4 deletions kotlinpoet/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,4 @@ tasks {
withType<KotlinJvmTest> {
useJUnitPlatform()
}

// dokkaHtmlMultiModule {
//
// }
}
54 changes: 54 additions & 0 deletions ksp-processor/api/ksp-processor.api
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
public final class dev/kord/codegen/ksp/processor/NamesKt {
public static final field NULL_IF_DEFAULT Ljava/lang/String;
public static final field PROCESSOR_ANNOTATION Ljava/lang/String;
public static final fun getARGUMENTS ()Lcom/squareup/kotlinpoet/MemberName;
public static final fun getARGUMENTS_NOT_NULL ()Lcom/squareup/kotlinpoet/MemberName;
public static final fun getGET_ANNOTATIONS_BY_TYPE ()Lcom/squareup/kotlinpoet/MemberName;
public static final fun getGET_ANNOTATION_BY_TYPE ()Lcom/squareup/kotlinpoet/MemberName;
}

public final class dev/kord/codegen/ksp/processor/ProcessorAnnotationProcessor : com/google/devtools/ksp/processing/SymbolProcessor {
public synthetic fun <init> (Lcom/google/devtools/ksp/processing/SymbolProcessorEnvironment;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public fun process (Lcom/google/devtools/ksp/processing/Resolver;)Ljava/util/List;
}

public final class dev/kord/codegen/ksp/processor/ProcessorAnnotationProcessor$Provider : com/google/devtools/ksp/processing/SymbolProcessorProvider {
public fun <init> ()V
public fun create (Lcom/google/devtools/ksp/processing/SymbolProcessorEnvironment;)Lcom/google/devtools/ksp/processing/SymbolProcessor;
}

public final class dev/kord/codegen/ksp/processor/generator/AccessorFunctionsKt {
public static final fun accessorFunction (Ldev/kord/codegen/ksp/processor/generator/ProcessingContext;)V
}

public final class dev/kord/codegen/ksp/processor/generator/DataClassRepresentationKt {
public static final fun dataClassRepresentation (Ldev/kord/codegen/ksp/processor/generator/ProcessingContext;)V
public static final fun dataClassType (Lcom/google/devtools/ksp/symbol/KSPropertyDeclaration;Lcom/google/devtools/ksp/symbol/KSClassDeclaration;)Lcom/squareup/kotlinpoet/TypeName;
public static final fun isMappedAnnotation (Lcom/google/devtools/ksp/symbol/KSType;Lcom/google/devtools/ksp/symbol/KSClassDeclaration;)Z
}

public final class dev/kord/codegen/ksp/processor/generator/FactoryFunctionKt {
public static final fun factoryFunction (Lcom/squareup/kotlinpoet/TypeSpec$Builder;Lcom/google/devtools/ksp/symbol/KSClassDeclaration;Ljava/lang/String;)V
}

public final class dev/kord/codegen/ksp/processor/generator/GeneratorKt {
public static final fun processAnnotation (Lcom/google/devtools/ksp/processing/SymbolProcessorEnvironment;Lcom/google/devtools/ksp/symbol/KSClassDeclaration;)V
}

public final class dev/kord/codegen/ksp/processor/generator/ProcessingContext {
public fun <init> (Lcom/google/devtools/ksp/processing/SymbolProcessorEnvironment;Lcom/squareup/kotlinpoet/FileSpec$Builder;Lcom/google/devtools/ksp/symbol/KSClassDeclaration;Ljava/lang/String;)V
public final fun component1 ()Lcom/google/devtools/ksp/processing/SymbolProcessorEnvironment;
public final fun component2 ()Lcom/squareup/kotlinpoet/FileSpec$Builder;
public final fun component3 ()Lcom/google/devtools/ksp/symbol/KSClassDeclaration;
public final fun component4 ()Ljava/lang/String;
public final fun copy (Lcom/google/devtools/ksp/processing/SymbolProcessorEnvironment;Lcom/squareup/kotlinpoet/FileSpec$Builder;Lcom/google/devtools/ksp/symbol/KSClassDeclaration;Ljava/lang/String;)Ldev/kord/codegen/ksp/processor/generator/ProcessingContext;
public static synthetic fun copy$default (Ldev/kord/codegen/ksp/processor/generator/ProcessingContext;Lcom/google/devtools/ksp/processing/SymbolProcessorEnvironment;Lcom/squareup/kotlinpoet/FileSpec$Builder;Lcom/google/devtools/ksp/symbol/KSClassDeclaration;Ljava/lang/String;ILjava/lang/Object;)Ldev/kord/codegen/ksp/processor/generator/ProcessingContext;
public fun equals (Ljava/lang/Object;)Z
public final fun getDeclaration ()Lcom/google/devtools/ksp/symbol/KSClassDeclaration;
public final fun getEnvironment ()Lcom/google/devtools/ksp/processing/SymbolProcessorEnvironment;
public final fun getFile ()Lcom/squareup/kotlinpoet/FileSpec$Builder;
public final fun getPackageName ()Ljava/lang/String;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

76 changes: 76 additions & 0 deletions ksp/api/ksp.api
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
public final class dev/kord/codegen/ksp/CompanionObjectKt {
public static final fun getCompanionDeclaration (Lcom/google/devtools/ksp/symbol/KSClassDeclaration;)Lcom/google/devtools/ksp/symbol/KSClassDeclaration;
}

public final class dev/kord/codegen/ksp/TypeResolversKt {
public static final fun isClassifierReference (Lcom/google/devtools/ksp/symbol/KSReferenceElement;)Z
public static final fun isOfType (Lcom/google/devtools/ksp/symbol/KSAnnotation;Ljava/lang/String;)Z
public static final fun isOfType (Lcom/google/devtools/ksp/symbol/KSTypeReference;Ljava/lang/String;Z)Z
public static synthetic fun isOfType$default (Lcom/google/devtools/ksp/symbol/KSTypeReference;Ljava/lang/String;ZILjava/lang/Object;)Z
}

public final class dev/kord/codegen/ksp/annotations/AnnotationArguments {
public static final field Companion Ldev/kord/codegen/ksp/annotations/AnnotationArguments$Companion;
public synthetic fun <init> (Ljava/util/Map;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun get (Lkotlin/reflect/KProperty1;)Lcom/google/devtools/ksp/symbol/KSAnnotation;
public final fun getAnnotationArray (Lkotlin/reflect/KProperty1;)Ljava/util/List;
public final fun getBoolean (Lkotlin/reflect/KProperty1;)Ljava/lang/Boolean;
public final fun getBooleanArray (Lkotlin/reflect/KProperty1;)Ljava/util/List;
public final fun getKClass (Lkotlin/reflect/KProperty1;)Lcom/google/devtools/ksp/symbol/KSType;
public final fun getKClassArray (Lkotlin/reflect/KProperty1;)Ljava/util/List;
public final fun getString (Lkotlin/reflect/KProperty1;)Ljava/lang/String;
public final fun getStringArray (Lkotlin/reflect/KProperty1;)Ljava/util/List;
public final fun getValue (Lkotlin/reflect/KProperty1;)Ljava/lang/Object;
public final fun isDefault (Lkotlin/reflect/KProperty1;)Z
}

public final class dev/kord/codegen/ksp/annotations/AnnotationArguments$Companion {
public final fun arguments (Lcom/google/devtools/ksp/symbol/KSAnnotation;)Ldev/kord/codegen/ksp/annotations/AnnotationArguments;
}

public final class dev/kord/codegen/ksp/annotations/AnnotationArguments$NonNullAnnotationArguments {
public static final field Companion Ldev/kord/codegen/ksp/annotations/AnnotationArguments$NonNullAnnotationArguments$Companion;
public synthetic fun <init> (Ldev/kord/codegen/ksp/annotations/AnnotationArguments;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun get (Lkotlin/reflect/KProperty1;)Lcom/google/devtools/ksp/symbol/KSAnnotation;
public final fun getAnnotationArray (Lkotlin/reflect/KProperty1;)Ljava/util/List;
public final fun getBoolean (Lkotlin/reflect/KProperty1;)Z
public final fun getBooleanArray (Lkotlin/reflect/KProperty1;)Ljava/util/List;
public final fun getDelegate ()Ldev/kord/codegen/ksp/annotations/AnnotationArguments;
public final fun getKClass (Lkotlin/reflect/KProperty1;)Lcom/google/devtools/ksp/symbol/KSType;
public final fun getKClassArray (Lkotlin/reflect/KProperty1;)Ljava/util/List;
public final fun getString (Lkotlin/reflect/KProperty1;)Ljava/lang/String;
public final fun getStringArray (Lkotlin/reflect/KProperty1;)Ljava/util/List;
public final fun isDefault (Lkotlin/reflect/KProperty1;)Z
}

public final class dev/kord/codegen/ksp/annotations/AnnotationArguments$NonNullAnnotationArguments$Companion {
public final fun notNull (Ldev/kord/codegen/ksp/annotations/AnnotationArguments;)Ldev/kord/codegen/ksp/annotations/AnnotationArguments$NonNullAnnotationArguments;
}

public abstract interface annotation class dev/kord/codegen/ksp/annotations/NullIfDefault : java/lang/annotation/Annotation {
}

public abstract interface annotation class dev/kord/codegen/ksp/annotations/ProcessorAnnotation : java/lang/annotation/Annotation {
public abstract fun packageName ()Ljava/lang/String;
}

public final class dev/kord/codegen/ksp/processor/ProcessorAnnotation {
public static final field Companion Ldev/kord/codegen/ksp/processor/ProcessorAnnotation$Companion;
public synthetic fun <init> (Ljava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1 ()Ljava/lang/String;
public final fun copy (Ljava/lang/String;)Ldev/kord/codegen/ksp/processor/ProcessorAnnotation;
public static synthetic fun copy$default (Ldev/kord/codegen/ksp/processor/ProcessorAnnotation;Ljava/lang/String;ILjava/lang/Object;)Ldev/kord/codegen/ksp/processor/ProcessorAnnotation;
public fun equals (Ljava/lang/Object;)Z
public final fun getPackageName ()Ljava/lang/String;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}

public final class dev/kord/codegen/ksp/processor/ProcessorAnnotation$Companion {
public final fun ProcessorAnnotation (Lcom/google/devtools/ksp/symbol/KSAnnotation;)Ldev/kord/codegen/ksp/processor/ProcessorAnnotation;
}

public final class dev/kord/codegen/ksp/processor/ProcessorAnnotationKt {
public static final fun getProcessorAnnotation (Lcom/google/devtools/ksp/symbol/KSAnnotated;)Ldev/kord/codegen/ksp/processor/ProcessorAnnotation;
}

0 comments on commit 165a8d7

Please sign in to comment.