plugins {
    id 'java'
    id 'com.gradleup.shadow' version "8.3.5"
}

allprojects {
    group = 'de.mhsl.craftattack'
    version = '1.0.0'

    repositories {
        mavenCentral()
        maven {
            name = "papermc-repo"
            url = "https://repo.papermc.io/repository/maven-public/"
        }
        maven {
            name = "sonatype"
            url = "https://oss.sonatype.org/content/groups/public/"
        }
        maven {
            url = uri("https://repo.opencollab.dev/main/")
        }
    }
}

subprojects {
    apply plugin: 'java'
    apply plugin: 'com.gradleup.shadow'

    java {
        toolchain {
            languageVersion = JavaLanguageVersion.of(21)
        }
    }
}

configurations {
    shadowImplementation.extendsFrom implementation
}

shadowJar {
    configurations = [project.configurations.shadowImplementation]
    archiveClassifier.set('')

    relocate 'org.apache.httpcomponents', 'eu.mhsl.lib.shadow.httpclient'
    relocate 'com.sparkjava', 'eu.mhsl.lib.shadow.spark-core'

    mergeServiceFiles()
}

if (file("local.gradle").exists()) {
    apply from: "local.gradle"
}