override fun createRecompiler()

in hot-reload-devtools/src/main/kotlin/org/jetbrains/compose/devtools/gradle/GradleRecompilerExtension.kt [23:54]


    override fun createRecompiler(): Recompiler? {
        if (HotReloadEnvironment.buildSystem != Gradle) return null
        val gradleBuildRoot: Path = gradleBuildRoot ?: run {
            logger.error("Missing '${HotReloadEnvironment::gradleBuildRoot.name}' property")
            return null
        }

        val gradleBuildProject: String = HotReloadEnvironment.gradleBuildProject ?: run {
            logger.error("Missing '${HotReloadEnvironment::gradleBuildProject.name}' property")
            return null
        }

        val gradleBuildTask: String = HotReloadEnvironment.gradleBuildTask ?: run {
            logger.error("Missing '${HotReloadEnvironment::gradleBuildTask.name}' property")
            return null
        }

        if (HotReloadEnvironment.gradleOfflineMode) {
            logger.debug("offline mode detected")
        }

        /* Side Effect */
        if (HotReloadEnvironment.gradleWarmupEnabled || HotReloadEnvironment.gradleBuildContinuous) {
            OrchestrationMessage.RecompileRequest().sendAsync()
        }

        return GradleRecompiler(
            buildRoot = gradleBuildRoot,
            buildProject = gradleBuildProject,
            buildTask = gradleBuildTask,
        )
    }