Skip to content

Commit 024e06a

Browse files
GooolerJakeWharton
andauthored
Set up BCV (#472)
* Set up BCV Bumped Kotlin to 2.3.20-RC2 as we can get rid of workarounds like https://youtrack.jetbrains.com/issue/KT-78525. * Update build.gradle Co-authored-by: Jake Wharton <jw@jakewharton.com>
1 parent 3ed6cf0 commit 024e06a

6 files changed

Lines changed: 584 additions & 1 deletion

File tree

build.gradle

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@ subprojects {
2828

2929
plugins.withId('org.jetbrains.kotlin.jvm') {
3030
kotlin {
31+
plugins.withId('com.vanniktech.maven.publish') {
32+
abiValidation {
33+
enabled = true
34+
}
35+
}
3136
compilerOptions {
3237
jvmTarget = JvmTarget.JVM_11
3338
freeCompilerArgs = [

diffuse/api/diffuse.api

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
public final class com/jakewharton/diffuse/Diffuse {
2+
public static final fun main ([Ljava/lang/String;)V
3+
}
4+

formats/api/formats.api

Lines changed: 383 additions & 0 deletions
Large diffs are not rendered by default.

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ asm = "org.ow2.asm:asm:9.9.1"
2020
diffUtils = "io.github.java-diff-utils:java-diff-utils:4.16"
2121
picnic = "com.jakewharton.picnic:picnic:0.7.0"
2222
mordant = "com.github.ajalt.mordant:mordant:3.0.2"
23-
kotlinPlugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:2.3.10"
23+
kotlinPlugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:2.3.20-RC2"
2424
dokkaPlugin = "org.jetbrains.dokka:dokka-gradle-plugin:2.1.0"
2525
mavenPublishPlugin = "com.vanniktech:gradle-maven-publish-plugin:0.36.0"
2626
spotlessPlugin = "com.diffplug.spotless:spotless-plugin-gradle:8.3.0"

io/api/io.api

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
public final class com/jakewharton/diffuse/io/BytesInput : com/jakewharton/diffuse/io/Input {
2+
public final fun getBytes ()Lokio/ByteString;
3+
public fun getName ()Ljava/lang/String;
4+
public fun source ()Lokio/BufferedSource;
5+
public fun toByteArray ()[B
6+
public fun toByteString ()Lokio/ByteString;
7+
public fun toUtf8 ()Ljava/lang/String;
8+
public fun toZip ()Lcom/jakewharton/diffuse/io/Zip;
9+
}
10+
11+
public abstract interface class com/jakewharton/diffuse/io/Input {
12+
public static final field Companion Lcom/jakewharton/diffuse/io/Input$Companion;
13+
public abstract fun getName ()Ljava/lang/String;
14+
public static fun of (Ljava/lang/String;Ljava/lang/String;)Lcom/jakewharton/diffuse/io/StringInput;
15+
public static fun of (Ljava/nio/file/Path;)Lcom/jakewharton/diffuse/io/PathInput;
16+
public static fun of (Lokio/ByteString;Ljava/lang/String;)Lcom/jakewharton/diffuse/io/BytesInput;
17+
public abstract fun source ()Lokio/BufferedSource;
18+
public fun toByteArray ()[B
19+
public fun toByteString ()Lokio/ByteString;
20+
public fun toUtf8 ()Ljava/lang/String;
21+
public fun toZip ()Lcom/jakewharton/diffuse/io/Zip;
22+
}
23+
24+
public final class com/jakewharton/diffuse/io/Input$Companion {
25+
public final fun of (Ljava/lang/String;Ljava/lang/String;)Lcom/jakewharton/diffuse/io/StringInput;
26+
public final fun of (Ljava/nio/file/Path;)Lcom/jakewharton/diffuse/io/PathInput;
27+
public final fun of (Lokio/ByteString;Ljava/lang/String;)Lcom/jakewharton/diffuse/io/BytesInput;
28+
}
29+
30+
public final class com/jakewharton/diffuse/io/Input$DefaultImpls {
31+
public static fun toByteArray (Lcom/jakewharton/diffuse/io/Input;)[B
32+
public static fun toByteString (Lcom/jakewharton/diffuse/io/Input;)Lokio/ByteString;
33+
public static fun toUtf8 (Lcom/jakewharton/diffuse/io/Input;)Ljava/lang/String;
34+
public static fun toZip (Lcom/jakewharton/diffuse/io/Input;)Lcom/jakewharton/diffuse/io/Zip;
35+
}
36+
37+
public final class com/jakewharton/diffuse/io/PathInput : com/jakewharton/diffuse/io/Input {
38+
public fun getName ()Ljava/lang/String;
39+
public final fun getPath ()Ljava/nio/file/Path;
40+
public fun source ()Lokio/BufferedSource;
41+
public fun toByteArray ()[B
42+
public fun toByteString ()Lokio/ByteString;
43+
public fun toUtf8 ()Ljava/lang/String;
44+
public fun toZip ()Lcom/jakewharton/diffuse/io/Zip;
45+
}
46+
47+
public final class com/jakewharton/diffuse/io/Size : java/lang/Comparable {
48+
public static final field Companion Lcom/jakewharton/diffuse/io/Size$Companion;
49+
public static final synthetic fun box-impl (J)Lcom/jakewharton/diffuse/io/Size;
50+
public synthetic fun compareTo (Ljava/lang/Object;)I
51+
public fun compareTo-p-hSGm4 (J)I
52+
public static fun compareTo-p-hSGm4 (JJ)I
53+
public static fun constructor-impl (J)J
54+
public fun equals (Ljava/lang/Object;)Z
55+
public static fun equals-impl (JLjava/lang/Object;)Z
56+
public static final fun equals-impl0 (JJ)Z
57+
public static final fun getAbsoluteValue-kab5oJg (J)J
58+
public final fun getBytes ()J
59+
public fun hashCode ()I
60+
public static fun hashCode-impl (J)I
61+
public static final fun minus-2SwpbTA (JJ)J
62+
public static final fun plus-2SwpbTA (JJ)J
63+
public fun toString ()Ljava/lang/String;
64+
public static fun toString-impl (J)Ljava/lang/String;
65+
public static final fun unaryMinus-kab5oJg (J)J
66+
public final synthetic fun unbox-impl ()J
67+
}
68+
69+
public final class com/jakewharton/diffuse/io/Size$Companion {
70+
public final fun getZERO-kab5oJg ()J
71+
}
72+
73+
public final class com/jakewharton/diffuse/io/StringInput : com/jakewharton/diffuse/io/Input {
74+
public fun getName ()Ljava/lang/String;
75+
public fun source ()Lokio/Buffer;
76+
public synthetic fun source ()Lokio/BufferedSource;
77+
public fun toByteArray ()[B
78+
public fun toByteString ()Lokio/ByteString;
79+
public fun toUtf8 ()Ljava/lang/String;
80+
public fun toZip ()Lcom/jakewharton/diffuse/io/Zip;
81+
}
82+
83+
public abstract interface class com/jakewharton/diffuse/io/Zip : java/io/Closeable {
84+
public fun directoryView (Ljava/lang/String;)Lcom/jakewharton/diffuse/io/Zip;
85+
public fun find (Ljava/lang/String;)Lcom/jakewharton/diffuse/io/Zip$Entry;
86+
public fun get (Ljava/lang/String;)Lcom/jakewharton/diffuse/io/Zip$Entry;
87+
public abstract fun getEntries ()Ljava/util/List;
88+
}
89+
90+
public final class com/jakewharton/diffuse/io/Zip$DefaultImpls {
91+
public static fun directoryView (Lcom/jakewharton/diffuse/io/Zip;Ljava/lang/String;)Lcom/jakewharton/diffuse/io/Zip;
92+
public static fun find (Lcom/jakewharton/diffuse/io/Zip;Ljava/lang/String;)Lcom/jakewharton/diffuse/io/Zip$Entry;
93+
public static fun get (Lcom/jakewharton/diffuse/io/Zip;Ljava/lang/String;)Lcom/jakewharton/diffuse/io/Zip$Entry;
94+
}
95+
96+
public abstract interface class com/jakewharton/diffuse/io/Zip$Entry {
97+
public abstract fun asInput ()Lcom/jakewharton/diffuse/io/Input;
98+
public abstract fun getCompressedSize-kab5oJg ()J
99+
public abstract fun getPath ()Ljava/lang/String;
100+
public abstract fun getUncompressedSize-kab5oJg ()J
101+
public abstract fun getZipSize-kab5oJg ()J
102+
public abstract fun isCompressed ()Z
103+
}
104+

reports/api/reports.api

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
public abstract interface class com/jakewharton/diffuse/diff/BinaryDiff : com/jakewharton/diffuse/report/Report$Factory {
2+
public static final field Companion Lcom/jakewharton/diffuse/diff/BinaryDiff$Companion;
3+
public static fun ofAab (Lcom/jakewharton/diffuse/format/Aab;Lcom/jakewharton/diffuse/format/Aab;)Lcom/jakewharton/diffuse/diff/BinaryDiff;
4+
public static fun ofAar (Lcom/jakewharton/diffuse/format/Aar;Lcom/jakewharton/diffuse/format/ApiMapping;Lcom/jakewharton/diffuse/format/Aar;Lcom/jakewharton/diffuse/format/ApiMapping;)Lcom/jakewharton/diffuse/diff/BinaryDiff;
5+
public static fun ofApk (Lcom/jakewharton/diffuse/format/Apk;Lcom/jakewharton/diffuse/format/ApiMapping;Lcom/jakewharton/diffuse/format/Apk;Lcom/jakewharton/diffuse/format/ApiMapping;)Lcom/jakewharton/diffuse/diff/BinaryDiff;
6+
public static fun ofDex (Lcom/jakewharton/diffuse/format/Dex;Lcom/jakewharton/diffuse/format/ApiMapping;Lcom/jakewharton/diffuse/format/Dex;Lcom/jakewharton/diffuse/format/ApiMapping;)Lcom/jakewharton/diffuse/diff/BinaryDiff;
7+
public static fun ofJar (Lcom/jakewharton/diffuse/format/Jar;Lcom/jakewharton/diffuse/format/ApiMapping;Lcom/jakewharton/diffuse/format/Jar;Lcom/jakewharton/diffuse/format/ApiMapping;)Lcom/jakewharton/diffuse/diff/BinaryDiff;
8+
}
9+
10+
public final class com/jakewharton/diffuse/diff/BinaryDiff$Companion {
11+
public final fun ofAab (Lcom/jakewharton/diffuse/format/Aab;Lcom/jakewharton/diffuse/format/Aab;)Lcom/jakewharton/diffuse/diff/BinaryDiff;
12+
public final fun ofAar (Lcom/jakewharton/diffuse/format/Aar;Lcom/jakewharton/diffuse/format/ApiMapping;Lcom/jakewharton/diffuse/format/Aar;Lcom/jakewharton/diffuse/format/ApiMapping;)Lcom/jakewharton/diffuse/diff/BinaryDiff;
13+
public static synthetic fun ofAar$default (Lcom/jakewharton/diffuse/diff/BinaryDiff$Companion;Lcom/jakewharton/diffuse/format/Aar;Lcom/jakewharton/diffuse/format/ApiMapping;Lcom/jakewharton/diffuse/format/Aar;Lcom/jakewharton/diffuse/format/ApiMapping;ILjava/lang/Object;)Lcom/jakewharton/diffuse/diff/BinaryDiff;
14+
public final fun ofApk (Lcom/jakewharton/diffuse/format/Apk;Lcom/jakewharton/diffuse/format/ApiMapping;Lcom/jakewharton/diffuse/format/Apk;Lcom/jakewharton/diffuse/format/ApiMapping;)Lcom/jakewharton/diffuse/diff/BinaryDiff;
15+
public static synthetic fun ofApk$default (Lcom/jakewharton/diffuse/diff/BinaryDiff$Companion;Lcom/jakewharton/diffuse/format/Apk;Lcom/jakewharton/diffuse/format/ApiMapping;Lcom/jakewharton/diffuse/format/Apk;Lcom/jakewharton/diffuse/format/ApiMapping;ILjava/lang/Object;)Lcom/jakewharton/diffuse/diff/BinaryDiff;
16+
public final fun ofDex (Lcom/jakewharton/diffuse/format/Dex;Lcom/jakewharton/diffuse/format/ApiMapping;Lcom/jakewharton/diffuse/format/Dex;Lcom/jakewharton/diffuse/format/ApiMapping;)Lcom/jakewharton/diffuse/diff/BinaryDiff;
17+
public static synthetic fun ofDex$default (Lcom/jakewharton/diffuse/diff/BinaryDiff$Companion;Lcom/jakewharton/diffuse/format/Dex;Lcom/jakewharton/diffuse/format/ApiMapping;Lcom/jakewharton/diffuse/format/Dex;Lcom/jakewharton/diffuse/format/ApiMapping;ILjava/lang/Object;)Lcom/jakewharton/diffuse/diff/BinaryDiff;
18+
public final fun ofJar (Lcom/jakewharton/diffuse/format/Jar;Lcom/jakewharton/diffuse/format/ApiMapping;Lcom/jakewharton/diffuse/format/Jar;Lcom/jakewharton/diffuse/format/ApiMapping;)Lcom/jakewharton/diffuse/diff/BinaryDiff;
19+
public static synthetic fun ofJar$default (Lcom/jakewharton/diffuse/diff/BinaryDiff$Companion;Lcom/jakewharton/diffuse/format/Jar;Lcom/jakewharton/diffuse/format/ApiMapping;Lcom/jakewharton/diffuse/format/Jar;Lcom/jakewharton/diffuse/format/ApiMapping;ILjava/lang/Object;)Lcom/jakewharton/diffuse/diff/BinaryDiff;
20+
}
21+
22+
public final class com/jakewharton/diffuse/diff/BinaryDiff$DefaultImpls {
23+
public static fun toHtmlReport (Lcom/jakewharton/diffuse/diff/BinaryDiff;Z)Lcom/jakewharton/diffuse/report/Report;
24+
}
25+
26+
public final class com/jakewharton/diffuse/info/AabInfo : com/jakewharton/diffuse/diff/BinaryDiff {
27+
public fun <init> (Lcom/jakewharton/diffuse/format/Aab;)V
28+
public fun toHtmlReport (Z)Lcom/jakewharton/diffuse/report/Report;
29+
public fun toTextReport (Z)Lcom/jakewharton/diffuse/report/Report;
30+
}
31+
32+
public final class com/jakewharton/diffuse/info/AarInfo : com/jakewharton/diffuse/info/BinaryInfo {
33+
public fun <init> (Lcom/jakewharton/diffuse/format/Aar;)V
34+
public fun toHtmlReport (Z)Lcom/jakewharton/diffuse/report/Report;
35+
public fun toTextReport (Z)Lcom/jakewharton/diffuse/report/Report;
36+
}
37+
38+
public final class com/jakewharton/diffuse/info/ApkInfo : com/jakewharton/diffuse/info/BinaryInfo {
39+
public fun <init> (Lcom/jakewharton/diffuse/format/Apk;)V
40+
public fun toHtmlReport (Z)Lcom/jakewharton/diffuse/report/Report;
41+
public fun toTextReport (Z)Lcom/jakewharton/diffuse/report/Report;
42+
}
43+
44+
public abstract interface class com/jakewharton/diffuse/info/BinaryInfo : com/jakewharton/diffuse/report/Report$Factory {
45+
public static final field Companion Lcom/jakewharton/diffuse/info/BinaryInfo$Companion;
46+
public static fun ofApk (Lcom/jakewharton/diffuse/format/Apk;)Lcom/jakewharton/diffuse/info/BinaryInfo;
47+
}
48+
49+
public final class com/jakewharton/diffuse/info/BinaryInfo$Companion {
50+
public final fun ofApk (Lcom/jakewharton/diffuse/format/Apk;)Lcom/jakewharton/diffuse/info/BinaryInfo;
51+
}
52+
53+
public final class com/jakewharton/diffuse/info/BinaryInfo$DefaultImpls {
54+
public static fun toHtmlReport (Lcom/jakewharton/diffuse/info/BinaryInfo;Z)Lcom/jakewharton/diffuse/report/Report;
55+
}
56+
57+
public final class com/jakewharton/diffuse/info/DexInfo : com/jakewharton/diffuse/info/BinaryInfo {
58+
public fun <init> (Lcom/jakewharton/diffuse/format/Dex;)V
59+
public fun toHtmlReport (Z)Lcom/jakewharton/diffuse/report/Report;
60+
public fun toTextReport (Z)Lcom/jakewharton/diffuse/report/Report;
61+
}
62+
63+
public final class com/jakewharton/diffuse/info/JarInfo : com/jakewharton/diffuse/info/BinaryInfo {
64+
public fun <init> (Lcom/jakewharton/diffuse/format/Jar;)V
65+
public fun toHtmlReport (Z)Lcom/jakewharton/diffuse/report/Report;
66+
public fun toTextReport (Z)Lcom/jakewharton/diffuse/report/Report;
67+
}
68+
69+
public abstract interface class com/jakewharton/diffuse/report/Report {
70+
public abstract fun write (Ljava/lang/Appendable;)V
71+
}
72+
73+
public abstract interface class com/jakewharton/diffuse/report/Report$Factory {
74+
public fun toHtmlReport (Z)Lcom/jakewharton/diffuse/report/Report;
75+
public abstract fun toTextReport (Z)Lcom/jakewharton/diffuse/report/Report;
76+
}
77+
78+
public final class com/jakewharton/diffuse/report/Report$Factory$DefaultImpls {
79+
public static fun toHtmlReport (Lcom/jakewharton/diffuse/report/Report$Factory;Z)Lcom/jakewharton/diffuse/report/Report;
80+
}
81+
82+
public final class com/jakewharton/diffuse/report/text/ApkInfoTextReport : com/jakewharton/diffuse/report/Report {
83+
public fun <init> (Lcom/jakewharton/diffuse/format/Apk;)V
84+
public fun toString ()Ljava/lang/String;
85+
public fun write (Ljava/lang/Appendable;)V
86+
}
87+

0 commit comments

Comments
 (0)