pluginManagement {
    resolutionStrategy {
        eachPlugin {
            if (requested.id.namespace != null) {
                if (requested.id.namespace.startsWith("org.jetbrains.kotlin")) {
                    println "Kotlin version $kotlinVersion"
                    useVersion kotlinVersion
                } else if (requested.id.namespace.startsWith("org.springframework")) {
                    println "Springboot version $springbootVersion"
                    useVersion springbootVersion
                }
            }
        }
    }
    repositories {
        gradlePluginPortal()
    }
}
rootProject.name = 'restaurant'

