CristianGM
05/12/2022, 3:40 PMCristianGM
05/12/2022, 3:41 PMChris Lee
05/12/2022, 3:41 PMChris Lee
05/12/2022, 3:44 PMChris Lee
05/12/2022, 3:45 PMCristianGM
05/12/2022, 3:50 PMChris Lee
05/12/2022, 3:51 PMChris Lee
05/12/2022, 3:58 PM--max-workers=n
or setting org.gradle.workers.max=n
in a gradle.propertiesCristianGM
05/12/2022, 4:55 PMCristianGM
05/12/2022, 4:55 PMChris Lee
05/12/2022, 5:01 PMChris Lee
05/12/2022, 5:01 PMChris Lee
05/12/2022, 5:16 PMabstract class CdkToolchainBuildService : BuildService<CdkToolchainBuildService.CdkToolchainParams> {
interface CdkToolchainParams : BuildServiceParameters {
val cacheService: Property<CacheBuildService>
}
private val versionCache = ConcurrentHashMap<String, CdkToolchain>()
@get:Inject
abstract val execOperations: ExecOperations
companion object {
internal fun registerIfAbsent(
gradle: Gradle,
configureAction: Action<BuildServiceSpec<CdkToolchainParams>>
): Provider<CdkToolchainBuildService> {
return gradle.sharedServices.registerIfAbsent(
"cloudshift-cdk-toolchain",
CdkToolchainBuildService::class,
configureAction
)
}
}
fun resolve(versionProvider: Provider<String>): CdkToolchain {
require(versionProvider.isPresent) { "Missing version" }
val version = versionProvider.get()
require(version.isNotBlank()) { "Empty version"}
return versionCache.computeIfAbsent(version) {
// omitted for brevity
}
}
}
Chris Lee
05/12/2022, 5:17 PMCristianGM
05/12/2022, 5:56 PMCristianGM
05/16/2022, 10:42 PMChris Lee
05/16/2022, 10:44 PMCristianGM
05/16/2022, 10:55 PMCristianGM
05/16/2022, 10:56 PMCristianGM
05/16/2022, 10:56 PMCristianGM
05/16/2022, 10:58 PMChris Lee
05/16/2022, 10:59 PMCristianGM
05/16/2022, 11:01 PMCristianGM
05/16/2022, 11:03 PM