collectScreenshots: fix indentation, retry on fail

This commit is contained in:
Abe Pazos
2025-08-27 21:26:03 +02:00
parent 1377d63372
commit eeaf12707e

View File

@@ -68,23 +68,33 @@ abstract class CollectScreenshotsTask @Inject constructor() : DefaultTask() {
val imageName = klassName.replace(".", "-") val imageName = klassName.replace(".", "-")
val pngFile = "${outputDir.get().asFile}/$imageName.png" val pngFile = "${outputDir.get().asFile}/$imageName.png"
fun launchDemoProgram() {
execOperations.javaexec {
this.classpath += project.files(inputDir.get().asFile, preloadClass)
this.classpath += runtimeDependencies.get()
this.mainClass.set(klassName)
this.workingDir(project.rootProject.projectDir)
this.jvmArgs(
"-DtakeScreenshot=true",
"-DscreenshotPath=$pngFile",
"-Dorg.openrndr.exceptions=JVM",
"-Dorg.openrndr.gl3.debug=true",
"-Dorg.openrndr.gl3.delete_angle_on_exit=false"
)
}
}
// A. Create an empty image for quick tests // A. Create an empty image for quick tests
//File(pngFile).createNewFile() File(pngFile).createNewFile()
// B. Create an actual image by running a demo program // B. Create an actual image by running a demo program
execOperations.javaexec { // runCatching {
this.classpath += project.files(inputDir.get().asFile, preloadClass) // launchDemoProgram()
this.classpath += runtimeDependencies.get() // }.onFailure {
this.mainClass.set(klassName) // println("Retrying $klassName after error: ${it.message}")
this.workingDir(project.rootProject.projectDir) // Thread.sleep(5000)
this.jvmArgs( // launchDemoProgram()
"-DtakeScreenshot=true", // }
"-DscreenshotPath=$pngFile",
"-Dorg.openrndr.exceptions=JVM",
"-Dorg.openrndr.gl3.debug=true",
"-Dorg.openrndr.gl3.delete_angle_on_exit=false"
)
}
} }
} }
@@ -131,13 +141,18 @@ abstract class CollectScreenshotsTask @Inject constructor() : DefaultTask() {
} else "" } else ""
} else "" } else ""
readmeLines.add("### $imagePath") readmeLines.add(
readmeLines.add("") """
readmeLines.add(description) |### $imagePath
readmeLines.add("![$demoImageBaseName](${url}images/$demoImageBaseName.png)") |
readmeLines.add("") |$description
readmeLines.add("[source code]($ktFilePath)") |
readmeLines.add("") |![$demoImageBaseName](${url}images/$demoImageBaseName.png)
|
|[source code]($ktFilePath)
|
""".trimMargin()
)
} }
readme.delete() readme.delete()
readme.writeText(readmeLines.joinToString("\n")) readme.writeText(readmeLines.joinToString("\n"))