Skip to content

Commit fcd1c50

Browse files
nak5ivegeoff-powell
authored andcommitted
Cleanup API
1 parent 620d505 commit fcd1c50

File tree

6 files changed

+140
-213
lines changed

6 files changed

+140
-213
lines changed

buildSrc/build.gradle

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
repositories {
2+
mavenCentral()
3+
google()
4+
}
5+
6+
dependencies {
7+
implementation libs.plugin.android
8+
implementation libs.plugin.kotlin
9+
}

buildSrc/settings.gradle

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
rootProject.name = 'build-support'
2+
3+
dependencyResolutionManagement {
4+
versionCatalogs {
5+
libs {
6+
from(files('../gradle/libs.versions.toml'))
7+
}
8+
}
9+
}

gradle/aarAsJar.gradle

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
import com.android.build.gradle.internal.publishing.AndroidArtifacts
2+
import org.gradle.api.artifacts.transform.TransformParameters
3+
import org.gradle.api.internal.artifacts.transform.UnzipTransform
4+
import org.gradle.work.DisableCachingByDefault
5+
import java.nio.file.Files
6+
import java.util.zip.ZipFile
7+
8+
configurations {
9+
unzip {
10+
attributes.attribute(AndroidArtifacts.ARTIFACT_TYPE, ArtifactTypeDefinition.DIRECTORY_TYPE)
11+
}
12+
}
13+
14+
configureAarAsJarForConfiguration("compileOnly")
15+
configureAarAsJarForConfiguration("testImplementation")
16+
17+
dependencies {
18+
registerTransform(UnzipTransform) {
19+
from.attribute(AndroidArtifacts.ARTIFACT_TYPE, ArtifactTypeDefinition.JAR_TYPE)
20+
to.attribute(AndroidArtifacts.ARTIFACT_TYPE, ArtifactTypeDefinition.DIRECTORY_TYPE)
21+
}
22+
registerTransform(IdentityTransform) {
23+
from.attribute(AndroidArtifacts.ARTIFACT_TYPE, "jar")
24+
to.attribute(AndroidArtifacts.ARTIFACT_TYPE, "aarAsJar")
25+
}
26+
registerTransform(ExtractClassesJarTransform) {
27+
from.attribute(AndroidArtifacts.ARTIFACT_TYPE, "aar")
28+
to.attribute(AndroidArtifacts.ARTIFACT_TYPE, "aarAsJar")
29+
}
30+
}
31+
32+
def configureAarAsJarForConfiguration(String configuration) {
33+
def aarAsJar = project.configurations
34+
.create("${configuration}AarAsJar") {
35+
canBeResolved = true
36+
attributes.attribute(
37+
AndroidArtifacts.ARTIFACT_TYPE,
38+
"release"
39+
)
40+
attributes.attribute(
41+
Usage.USAGE_ATTRIBUTE,
42+
project.getObjects().named(Usage, Usage.JAVA_API)
43+
)
44+
}.incoming
45+
.artifactView { viewConfiguration ->
46+
viewConfiguration.attributes.attribute(AndroidArtifacts.ARTIFACT_TYPE, "aarAsJar")
47+
}
48+
.files
49+
50+
project.configurations
51+
.getByName(configuration)
52+
.dependencies
53+
.add(project.dependencies.create(aarAsJar))
54+
}
55+
56+
@DisableCachingByDefault
57+
abstract class IdentityTransform implements TransformAction<TransformParameters.None> {
58+
@PathSensitive(PathSensitivity.ABSOLUTE)
59+
@InputArtifact
60+
abstract Provider<FileSystemLocation> getInputArtifact()
61+
62+
@Override
63+
void transform(TransformOutputs transformOutputs) {
64+
def input = getInputArtifact().get().asFile
65+
if (input.isDirectory()) {
66+
transformOutputs.dir(input)
67+
} else if (input.isFile()) {
68+
transformOutputs.file(input)
69+
} else {
70+
throw new IllegalArgumentException(
71+
"File/directory does not exist: ${input.absolutePath}"
72+
)
73+
}
74+
}
75+
}
76+
77+
@DisableCachingByDefault
78+
abstract class ExtractClassesJarTransform implements TransformAction<TransformParameters.None> {
79+
@PathSensitive(PathSensitivity.NAME_ONLY)
80+
@InputArtifact
81+
abstract Provider<FileSystemLocation> getPrimaryInput()
82+
83+
@Override
84+
void transform(TransformOutputs outputs) {
85+
ZipFile zip = null
86+
try {
87+
def file = getPrimaryInput().get().asFile
88+
def aarFilename = file.name.substring(0, file.name.lastIndexOf('.'))
89+
zip = new ZipFile(file)
90+
def entries = zip.entries()
91+
while (entries.hasMoreElements()) {
92+
def item = entries.nextElement()
93+
if (item.isDirectory()) continue
94+
95+
if (item.name == "classes.jar") {
96+
def output = outputs.file(aarFilename + "-" + item.name)
97+
def inputStream = null
98+
try {
99+
inputStream = zip.getInputStream(item)
100+
Files.copy(inputStream, output.toPath())
101+
} finally {
102+
if (inputStream != null) {
103+
inputStream.close()
104+
}
105+
}
106+
}
107+
}
108+
} finally {
109+
if (zip != null) {
110+
zip.close()
111+
}
112+
}
113+
}
114+
}

paparazzi-annotations/api/paparazzi-annotations.api

Lines changed: 8 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,13 @@ public abstract interface class app/cash/paparazzi/annotations/PaparazziPreviewD
55
}
66

77
public final class app/cash/paparazzi/annotations/PaparazziPreviewData$Default : app/cash/paparazzi/annotations/PaparazziPreviewData {
8-
public fun <init> (Ljava/lang/String;Lapp/cash/paparazzi/annotations/PreviewData;Lkotlin/jvm/functions/Function0;)V
8+
public fun <init> (Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V
99
public final fun component1 ()Ljava/lang/String;
10-
public final fun component2 ()Lapp/cash/paparazzi/annotations/PreviewData;
11-
public final fun component3 ()Lkotlin/jvm/functions/Function0;
12-
public final fun copy (Ljava/lang/String;Lapp/cash/paparazzi/annotations/PreviewData;Lkotlin/jvm/functions/Function0;)Lapp/cash/paparazzi/annotations/PaparazziPreviewData$Default;
13-
public static synthetic fun copy$default (Lapp/cash/paparazzi/annotations/PaparazziPreviewData$Default;Ljava/lang/String;Lapp/cash/paparazzi/annotations/PreviewData;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)Lapp/cash/paparazzi/annotations/PaparazziPreviewData$Default;
10+
public final fun component2 ()Lkotlin/jvm/functions/Function0;
11+
public final fun copy (Ljava/lang/String;Lkotlin/jvm/functions/Function0;)Lapp/cash/paparazzi/annotations/PaparazziPreviewData$Default;
12+
public static synthetic fun copy$default (Lapp/cash/paparazzi/annotations/PaparazziPreviewData$Default;Ljava/lang/String;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)Lapp/cash/paparazzi/annotations/PaparazziPreviewData$Default;
1413
public fun equals (Ljava/lang/Object;)Z
1514
public final fun getComposable ()Lkotlin/jvm/functions/Function0;
16-
public final fun getPreview ()Lapp/cash/paparazzi/annotations/PreviewData;
1715
public final fun getSnapshotName ()Ljava/lang/String;
1816
public fun hashCode ()I
1917
public fun toString ()Ljava/lang/String;
@@ -27,81 +25,15 @@ public final class app/cash/paparazzi/annotations/PaparazziPreviewData$Empty : a
2725
}
2826

2927
public final class app/cash/paparazzi/annotations/PaparazziPreviewData$Error : app/cash/paparazzi/annotations/PaparazziPreviewData {
30-
public fun <init> (Ljava/lang/String;Lapp/cash/paparazzi/annotations/PreviewData;Ljava/lang/String;)V
28+
public fun <init> (Ljava/lang/String;Ljava/lang/String;)V
3129
public final fun component1 ()Ljava/lang/String;
32-
public final fun component2 ()Lapp/cash/paparazzi/annotations/PreviewData;
33-
public final fun component3 ()Ljava/lang/String;
34-
public final fun copy (Ljava/lang/String;Lapp/cash/paparazzi/annotations/PreviewData;Ljava/lang/String;)Lapp/cash/paparazzi/annotations/PaparazziPreviewData$Error;
35-
public static synthetic fun copy$default (Lapp/cash/paparazzi/annotations/PaparazziPreviewData$Error;Ljava/lang/String;Lapp/cash/paparazzi/annotations/PreviewData;Ljava/lang/String;ILjava/lang/Object;)Lapp/cash/paparazzi/annotations/PaparazziPreviewData$Error;
30+
public final fun component2 ()Ljava/lang/String;
31+
public final fun copy (Ljava/lang/String;Ljava/lang/String;)Lapp/cash/paparazzi/annotations/PaparazziPreviewData$Error;
32+
public static synthetic fun copy$default (Lapp/cash/paparazzi/annotations/PaparazziPreviewData$Error;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lapp/cash/paparazzi/annotations/PaparazziPreviewData$Error;
3633
public fun equals (Ljava/lang/Object;)Z
3734
public final fun getMessage ()Ljava/lang/String;
38-
public final fun getPreview ()Lapp/cash/paparazzi/annotations/PreviewData;
3935
public final fun getSnapshotName ()Ljava/lang/String;
4036
public fun hashCode ()I
4137
public fun toString ()Ljava/lang/String;
4238
}
4339

44-
public final class app/cash/paparazzi/annotations/PaparazziPreviewData$Provider : app/cash/paparazzi/annotations/PaparazziPreviewData {
45-
public fun <init> (Ljava/lang/String;Lapp/cash/paparazzi/annotations/PreviewData;Lkotlin/jvm/functions/Function1;Lapp/cash/paparazzi/annotations/PreviewParameterData;)V
46-
public final fun component1 ()Ljava/lang/String;
47-
public final fun component2 ()Lapp/cash/paparazzi/annotations/PreviewData;
48-
public final fun component3 ()Lkotlin/jvm/functions/Function1;
49-
public final fun component4 ()Lapp/cash/paparazzi/annotations/PreviewParameterData;
50-
public final fun copy (Ljava/lang/String;Lapp/cash/paparazzi/annotations/PreviewData;Lkotlin/jvm/functions/Function1;Lapp/cash/paparazzi/annotations/PreviewParameterData;)Lapp/cash/paparazzi/annotations/PaparazziPreviewData$Provider;
51-
public static synthetic fun copy$default (Lapp/cash/paparazzi/annotations/PaparazziPreviewData$Provider;Ljava/lang/String;Lapp/cash/paparazzi/annotations/PreviewData;Lkotlin/jvm/functions/Function1;Lapp/cash/paparazzi/annotations/PreviewParameterData;ILjava/lang/Object;)Lapp/cash/paparazzi/annotations/PaparazziPreviewData$Provider;
52-
public fun equals (Ljava/lang/Object;)Z
53-
public final fun getComposable ()Lkotlin/jvm/functions/Function1;
54-
public final fun getPreview ()Lapp/cash/paparazzi/annotations/PreviewData;
55-
public final fun getPreviewParameter ()Lapp/cash/paparazzi/annotations/PreviewParameterData;
56-
public final fun getSnapshotName ()Ljava/lang/String;
57-
public fun hashCode ()I
58-
public fun toString ()Ljava/lang/String;
59-
public final fun withPreviewParameterIndex (I)Lapp/cash/paparazzi/annotations/PaparazziPreviewData$Provider;
60-
}
61-
62-
public final class app/cash/paparazzi/annotations/PaparazziPreviewDefaults {
63-
public static final field DEVICE_ID Ljava/lang/String;
64-
public static final field INSTANCE Lapp/cash/paparazzi/annotations/PaparazziPreviewDefaults;
65-
}
66-
67-
public final class app/cash/paparazzi/annotations/PreviewData {
68-
public fun <init> ()V
69-
public fun <init> (Ljava/lang/Float;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/String;Ljava/lang/String;)V
70-
public synthetic fun <init> (Ljava/lang/Float;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
71-
public final fun component1 ()Ljava/lang/Float;
72-
public final fun component2 ()Ljava/lang/String;
73-
public final fun component3 ()Ljava/lang/Integer;
74-
public final fun component4 ()Ljava/lang/Integer;
75-
public final fun component5 ()Ljava/lang/Integer;
76-
public final fun component6 ()Ljava/lang/String;
77-
public final fun component7 ()Ljava/lang/String;
78-
public final fun copy (Ljava/lang/Float;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/String;Ljava/lang/String;)Lapp/cash/paparazzi/annotations/PreviewData;
79-
public static synthetic fun copy$default (Lapp/cash/paparazzi/annotations/PreviewData;Ljava/lang/Float;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lapp/cash/paparazzi/annotations/PreviewData;
80-
public fun equals (Ljava/lang/Object;)Z
81-
public final fun getBackgroundColor ()Ljava/lang/String;
82-
public final fun getDevice ()Ljava/lang/String;
83-
public final fun getFontScale ()Ljava/lang/Float;
84-
public final fun getHeightDp ()Ljava/lang/Integer;
85-
public final fun getLocale ()Ljava/lang/String;
86-
public final fun getUiMode ()Ljava/lang/Integer;
87-
public final fun getWidthDp ()Ljava/lang/Integer;
88-
public fun hashCode ()I
89-
public fun toString ()Ljava/lang/String;
90-
}
91-
92-
public final class app/cash/paparazzi/annotations/PreviewParameterData {
93-
public fun <init> (Ljava/lang/String;Lkotlin/sequences/Sequence;I)V
94-
public synthetic fun <init> (Ljava/lang/String;Lkotlin/sequences/Sequence;IILkotlin/jvm/internal/DefaultConstructorMarker;)V
95-
public final fun component1 ()Ljava/lang/String;
96-
public final fun component2 ()Lkotlin/sequences/Sequence;
97-
public final fun component3 ()I
98-
public final fun copy (Ljava/lang/String;Lkotlin/sequences/Sequence;I)Lapp/cash/paparazzi/annotations/PreviewParameterData;
99-
public static synthetic fun copy$default (Lapp/cash/paparazzi/annotations/PreviewParameterData;Ljava/lang/String;Lkotlin/sequences/Sequence;IILjava/lang/Object;)Lapp/cash/paparazzi/annotations/PreviewParameterData;
100-
public fun equals (Ljava/lang/Object;)Z
101-
public final fun getIndex ()I
102-
public final fun getName ()Ljava/lang/String;
103-
public final fun getValues ()Lkotlin/sequences/Sequence;
104-
public fun hashCode ()I
105-
public fun toString ()Ljava/lang/String;
106-
}
107-

paparazzi-annotations/src/main/java/app/cash/paparazzi/annotations/PreviewModels.kt

Lines changed: 0 additions & 82 deletions
This file was deleted.

paparazzi-annotations/src/main/java/app/cash/paparazzi/annotations/PreviewUtils.kt

Lines changed: 0 additions & 55 deletions
This file was deleted.

0 commit comments

Comments
 (0)