enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")

pluginManagement {
    val nexusPluginsUrl = providers.gradleProperty("NEXUS_PLUGINS_URL")
        .orElse(providers.environmentVariable("NEXUS_PLUGINS_URL"))
        .orNull

    includeBuild("build-logic")
    repositories {
        if (!nexusPluginsUrl.isNullOrBlank()) {
            maven(url = uri(nexusPluginsUrl))
        }
        google()
        mavenCentral()
        gradlePluginPortal()
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)

    val nexusMavenUrl = providers.gradleProperty("NEXUS_MAVEN_URL")
        .orElse(providers.environmentVariable("NEXUS_MAVEN_URL"))
        .orNull

    repositories {
        if (!nexusMavenUrl.isNullOrBlank()) {
            maven(url = uri(nexusMavenUrl))
        }
        google()
        mavenCentral()
    }
}

rootProject.name = "fast-messenger"

include(":app")

include(":core:network")
include(":core:data")
include(":core:database")
include(":core:datastore")
include(":core:ui")
include(":core:common")
include(":core:domain")
include(":core:model")

include(":feature:messageshistory")
include(":feature:convos")
include(":feature:auth")
include(":feature:chatmaterials")
include(":feature:languagepicker")
include(":feature:photoviewer")
include(":feature:settings")
include(":feature:friends")
include(":feature:profile")
include(":feature:createchat")
include(":core:presentation")
include(":core:logger")
