in plugin/src/main/kotlin/com/facebook/testing/screenshot/build/PullScreenshotsTask.kt [64:124]
fun pullScreenshots() {
val codeSource = ScreenshotsPlugin::class.java.protectionDomain.codeSource
val jarFile = File(codeSource.location.toURI().path)
val isVerifyOnly = verify && extension.referenceDir != null
val outputDir =
if (isVerifyOnly) {
File(extension.referenceDir)
} else {
getReportDir(project, variant)
}
assert(if (isVerifyOnly) outputDir.exists() else !outputDir.exists())
project.exec {
it.executable = extension.pythonExecutable
it.environment("PYTHONPATH", jarFile)
it.args =
mutableListOf(
"-m",
"android_screenshot_tests.pull_screenshots",
"--apk",
apkPath.absolutePath,
"--test-run-id",
testRunId,
"--temp-dir",
outputDir.absolutePath)
.apply {
if (verify) {
add("--verify")
} else if (record) {
add("--record")
}
if (verify || record) {
add(extension.recordDir)
}
if (verify && extension.failureDir != null) {
add("--failure-dir")
add("${extension.failureDir}")
}
if (extension.multipleDevices) {
add("--multiple-devices")
add("${extension.multipleDevices}")
}
if (isVerifyOnly) {
add("--no-pull")
}
if (bundleResults) {
add("--bundle-results")
}
}
println(it.args)
}
}