allprojects {
    ext {
        projectByName = { name ->
            for (subproject in rootProject.subprojects) {
                if (subproject.name == name) {
                    return subproject
                }
            }
            return null
        }

        internalProject = { name ->
//            if (releaseMode) {
//                "$group:$name:$version"
//            } else {
//                projectByName("$name")
//            }
            projectByName("$name")
        }

        releaseMode = (project.hasProperty('RELEASE_MODE') && project.property('RELEASE_MODE') == "true") || System.getenv('RELEASE_MODE') == "true"

        mppProjectWithSerializationPresetPath = "${rootProject.projectDir.absolutePath}/mppProjectWithSerialization.gradle"
        mppProjectWithSerializationAndComposePresetPath = "${rootProject.projectDir.absolutePath}/mppProjectWithSerializationAndCompose.gradle"
        mppJavaProjectPresetPath = "${rootProject.projectDir.absolutePath}/mppJavaProject.gradle"
        mppAndroidProjectPresetPath = "${rootProject.projectDir.absolutePath}/mppAndroidProject.gradle"

        defaultAndroidSettingsPresetPath = "${rootProject.projectDir.absolutePath}/defaultAndroidSettings.gradle"

        publishGradlePath = "${rootProject.projectDir.absolutePath}/publish.gradle"
        publishMavenPath = "${rootProject.projectDir.absolutePath}/maven.publish.gradle"
    }
}