Skip to content

Commit 1e3b2e2

Browse files
committed
Cleanup
1 parent 66c0f4c commit 1e3b2e2

File tree

5 files changed

+27
-5
lines changed

5 files changed

+27
-5
lines changed

paparazzi-gradle-plugin/src/main/java/app/cash/paparazzi/gradle/PaparazziPlugin.kt

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ import org.gradle.internal.os.OperatingSystem
5353
import org.gradle.language.base.plugins.LifecycleBasePlugin.VERIFICATION_GROUP
5454
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
5555
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget
56+
import org.jetbrains.kotlin.gradle.plugin.sources.android.findAndroidSourceSet
57+
import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget
5658
import java.io.File
5759
import java.util.Locale
5860
import javax.inject.Inject
@@ -99,12 +101,15 @@ public class PaparazziPlugin @Inject constructor(
99101
val layoutlibNativeRuntimeFileCollection = project.setupLayoutlibRuntimeDependency()
100102
val layoutlibResourcesFileCollection = project.setupLayoutlibResourcesDependency()
101103
val testSourceSetProvider = project.objects.directoryProperty()
102-
testSourceSetProvider.set(project.layout.projectDirectory.dir("src/test"))
104+
105+
val defaultUnitTestDir = project.layout.projectDirectory.dir("src/test")
106+
testSourceSetProvider.set(defaultUnitTestDir)
103107

104108
project.plugins.withId("org.jetbrains.kotlin.multiplatform") {
105109
val kmpExtension = project.extensions.getByType(KotlinMultiplatformExtension::class.java)
106-
kmpExtension.sourceSets.all { sourceSet ->
107-
if (sourceSet.name == "androidUnitTest" || sourceSet.name == "androidTest") {
110+
kmpExtension.sourceSets.configureEach { sourceSet ->
111+
// TODO: Should we allow snapshots held in commonTest dir?
112+
if (sourceSet.name == "androidUnitTest") {
108113
testSourceSetProvider.set(
109114
sourceSet.kotlin.srcDirs.map {
110115
File(it.parent)
@@ -114,7 +119,6 @@ public class PaparazziPlugin @Inject constructor(
114119
}
115120
}
116121

117-
val defaultUnitTestDir = project.layout.projectDirectory.dir("src/test")
118122
val snapshotOutputDir = testSourceSetProvider.map {
119123
if (it.asFile.exists() && !defaultUnitTestDir.asFile.exists()) {
120124
it.dir("snapshots")

paparazzi-gradle-plugin/src/test/projects/multiplatform-plugin-with-android/build.gradle

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,13 @@ kotlin {
88
androidTarget()
99

1010
sourceSets {
11-
androidMain {
11+
commonMain {
1212
dependencies {
1313
implementation 'androidx.appcompat:appcompat:1.7.0'
1414
}
1515
}
16+
androidMain {
17+
}
1618
}
1719
}
1820

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package app.cash.paparazzi.plugin.test
2+
3+
import android.widget.TextView
4+
import app.cash.paparazzi.Paparazzi
5+
import org.junit.Rule
6+
import org.junit.Test
7+
8+
class SampleCommonTest {
9+
@get:Rule
10+
val paparazzi = Paparazzi()
11+
12+
@Test
13+
fun test() {
14+
paparazzi.snapshot(TextView(paparazzi.context).apply { text = "Hello, Paparazzi!" })
15+
}
16+
}

0 commit comments

Comments
 (0)