fun resolve()

in src/main/kotlin/org/jetbrains/intellij/platform/gradle/utils/IntelliJPlatformCacheResolver.kt [139:167]


    fun resolve(configurationName: String, configure: IntelliJPlatformDependencyConfiguration.() -> Unit): Path {
        val dependenciesHelper = dependenciesHelperProvider.get()
        val requestedProvider = dependenciesHelper.requestedIntelliJPlatforms.set(
            objects.newInstance<IntelliJPlatformDependencyConfiguration>(objects, extensionProvider).apply(configure),
            configurationName,
        )

        val targetDirectory = parameters.cacheDirectory.dir(
            requestedProvider.map {
                parameters.name.get().invoke(it)
            },
        ).asPath
        if (targetDirectory.exists() && targetDirectory.listFiles().isNotEmpty()) {
            return targetDirectory
        }

        val configuration = configurations.create(Configurations.INTELLIJ_PLATFORM_DEPENDENCY.withRandomSuffix)
        dependenciesHelper.addIntelliJPlatformDependency(
            requestedIntelliJPlatformProvider = requestedProvider,
            configurationName = configuration.name,
        )

        extractorService.get().extract(
            path = configuration.files.single().toPath(),
            targetDirectory = targetDirectory,
        )

        return targetDirectory
    }