@@ -10,21 +10,23 @@ import org.gradle.api.DefaultTask
1010import org.gradle.api.file.DirectoryProperty
1111import org.gradle.api.provider.Property
1212import org.gradle.api.tasks.Input
13+ import org.gradle.api.tasks.Nested
1314import org.gradle.api.tasks.OutputDirectory
1415import org.gradle.api.tasks.TaskAction
1516import java.net.ConnectException
1617import java.time.Duration
1718import java.time.temporal.ChronoUnit.SECONDS
1819
1920
20- open class OpenApiGeneratorTask : DefaultTask () {
21+ open class OpenApiGeneratorTask : DefaultTask () {
2122 @get:Input
2223 val apiDocsUrl: Property <String > = project.objects.property(String ::class .java)
2324 @get:Input
2425 val outputFileName: Property <String > = project.objects.property(String ::class .java)
2526 @get:OutputDirectory
2627 val outputDir: DirectoryProperty = project.objects.directoryProperty()
2728 private val waitTimeInSeconds: Property <Int > = project.objects.property(Int ::class .java)
29+ @get:Nested
2830 val taskError: Property <String > = project.objects.property(String ::class .java)
2931
3032 init {
@@ -49,7 +51,10 @@ open class OpenApiGeneratorTask: DefaultTask() {
4951 @TaskAction
5052 fun execute () {
5153 try {
52- await ignoreException ConnectException ::class withPollInterval Durations .ONE_SECOND atMost Duration .of(waitTimeInSeconds.get().toLong(), SECONDS ) until {
54+ await ignoreException ConnectException ::class withPollInterval Durations .ONE_SECOND atMost Duration .of(
55+ waitTimeInSeconds.get().toLong(),
56+ SECONDS
57+ ) until {
5358 val statusCode = khttp.get(apiDocsUrl.get()).statusCode
5459 logger.trace(" apiDocsUrl = {} status code = {}" , apiDocsUrl.get(), statusCode)
5560 statusCode < 299
@@ -63,7 +68,10 @@ open class OpenApiGeneratorTask: DefaultTask() {
6368 outputFile.writeText(gson.toJson(googleJsonObject))
6469 } catch (e: ConditionTimeoutException ) {
6570 taskError.set(" Timeout occurred while trying to connect to ${apiDocsUrl.get()} " )
66- this .logger.error(" Unable to connect to ${apiDocsUrl.get()} waited for ${waitTimeInSeconds.get()} seconds" , e)
71+ this .logger.error(
72+ " Unable to connect to ${apiDocsUrl.get()} waited for ${waitTimeInSeconds.get()} seconds" ,
73+ e
74+ )
6775 }
6876 }
6977
0 commit comments