import java.nio.file.Paths
import java.nio.file.Path

rootProject.name = 'org.apollo'
include ':cache'
include ':docs'
include ':game'
include ':game:plugin'
include ':game:plugin-detekt-rules'
include ':game:plugin-testing'
include ':net'
include ':util'

def pluginDirs = [
    rootProject.projectDir.toPath().resolve("game/plugin"),
]

def processPluginDir(Path pluginDir) {
    if (pluginDir.toFile().exists()) {
        def pluginFileFinder = new FileNameFinder();
        def pluginFiles = pluginFileFinder.getFileNames(pluginDir.toString(), "**/*.gradle");

        pluginFiles.each { filename ->
            def path = Paths.get(filename)
            def parentPath = path.parent

            if (parentPath == pluginDir) {
                return
            }

            def relativePath = pluginDir.relativize(parentPath)
            def pluginName = relativePath.toString().replace(File.separator, ":")

            include ":game:plugin:$pluginName"
        }
    }
}

pluginDirs.each { processPluginDir(it) }

