@@ -18,6 +18,8 @@ import com.apollographql.ijplugin.gradle.ApolloKotlinService.Id
1818import com.apollographql.ijplugin.gradle.apolloKotlinProjectModelService
1919import com.apollographql.ijplugin.util.logd
2020import com.apollographql.ijplugin.util.logw
21+ import com.intellij.openapi.progress.ProcessCanceledException
22+ import com.intellij.openapi.progress.ProgressManager
2123import com.intellij.openapi.project.Project
2224import com.intellij.openapi.vfs.VfsUtil
2325import java.io.File
@@ -63,7 +65,7 @@ class ApolloCompilerHelper(
6365 codegenSchemaOptionsFile = schemaService.codegenSchemaOptionsFile!! ,
6466 codegenSchemaFile = codegenSchemaFile,
6567 )
66-
68+ ProgressManager .checkCanceled()
6769
6870 val allUpstreamServiceIds = service.allUpstreamServiceIds()
6971 if (allUpstreamServiceIds == null ) {
@@ -91,6 +93,7 @@ class ApolloCompilerHelper(
9193 irOptionsFile = service.irOptionsFile!! ,
9294 irOperationsFile = irOperationsFile,
9395 )
96+ ProgressManager .checkCanceled()
9497 irOperationsById[service.id] = irOperationsFile
9598 }
9699
@@ -132,6 +135,7 @@ class ApolloCompilerHelper(
132135 outputDirectory = service.codegenOutputDir!! ,
133136 metadataOutput = metadataOutput,
134137 )
138+ ProgressManager .checkCanceled()
135139 upstreamMetadata.add(metadataOutput)
136140 outputDirs.add(service.codegenOutputDir)
137141 }
@@ -149,13 +153,18 @@ class ApolloCompilerHelper(
149153 codegenOptions = service.codegenOptionsFile!! ,
150154 outputDirectory = service.dataBuildersOutputDir!! ,
151155 )
156+ ProgressManager .checkCanceled()
152157 outputDirs.add(service.dataBuildersOutputDir)
153158 }
154159 }
155160
156161 logd(" Apollo compiler sources generated for service ${service.id} at ${service.codegenOutputDir} " )
157162 return outputDirs
158163 } catch (e: Exception ) {
164+ if (e is ProcessCanceledException ) {
165+ logd(" Apollo compiler was canceled" )
166+ throw e
167+ }
159168 logw(e, " Failed to generate sources for service ${service.id} " )
160169 }
161170 return emptySet()
0 commit comments