pluginManagement {
	repositories {
		gradlePluginPortal()
		maven { url 'https://repo.spring.io/plugins-release' }
	}
}

plugins {
	id "com.gradle.enterprise" version "3.11.1"
	id "io.spring.ge.conventions" version "0.0.7"
}

dependencyResolutionManagement {
	repositories {
		mavenCentral()
	}
}

rootProject.name = 'spring-security'

FileTree buildFiles = fileTree(rootDir) {
	List excludes = gradle.startParameter.projectProperties.get("excludeProjects")?.split(",")
	include '**/*.gradle', '**/*.gradle.kts'
	exclude 'build', '**/gradle', 'settings.gradle', 'buildSrc', '/build.gradle', '.*', 'out'
	exclude '**/grails3'
	if(excludes) {
		exclude excludes
	}
}

String rootDirPath = rootDir.absolutePath + File.separator
buildFiles.each { File buildFile ->

	boolean isDefaultName = 'build.gradle'.equals(buildFile.name)
	boolean isKotlin = buildFile.name.endsWith(".kts")
	if(isDefaultName) {
		String buildFilePath = buildFile.parentFile.absolutePath
		String projectPath = buildFilePath.replace(rootDirPath, '').replace(File.separator, ':')
		include projectPath
	} else {
		String projectName
		if (isKotlin) {
			projectName = buildFile.name.replace('.gradle.kts', '')
		} else {
		 	projectName = buildFile.name.replace('.gradle', '')
		}
		String projectPath = ':' + projectName;
		include projectPath
		def project = findProject("${projectPath}")
		project.name = projectName
		project.projectDir = buildFile.parentFile
		project.buildFileName = buildFile.name
	}
}
