import dev.vankka.dependencydownload.task.GenerateDependencyDownloadResourceTask configurations { hikari h2Driver mysqlDriver mariadbDriver mcAuthLib compileOnly.extendsFrom hikari, h2Driver, mysqlDriver, mariadbDriver, mcAuthLib testRuntimeOnly.extendsFrom runtimeDownloadOnly } tasks.register('generateResourceForHikari', GenerateDependencyDownloadResourceTask) { var conf = configurations.hikari configuration = conf file = 'dependencies/' + conf.name + '.txt' } tasks.register('generateResourceForH2Driver', GenerateDependencyDownloadResourceTask) { var conf = configurations.h2Driver configuration = conf file = 'dependencies/' + conf.name + '.txt' } tasks.register('generateResourceForMySQLDriver', GenerateDependencyDownloadResourceTask) { var conf = configurations.mysqlDriver configuration = conf file = 'dependencies/' + conf.name + '.txt' } tasks.register('generateResourceForMariaDBDriver', GenerateDependencyDownloadResourceTask) { var conf = configurations.mariadbDriver configuration = conf file = 'dependencies/' + conf.name + '.txt' } tasks.register('generateResourceForMCAuthLib', GenerateDependencyDownloadResourceTask) { var conf = configurations.mcAuthLib configuration = conf file = 'dependencies/' + conf.name + '.txt' } dependencies { // API annotationProcessor project(':api') compileOnlyApi project(':common:common-api') testImplementation project(':common:common-api') // Unrelocate compileOnlyApi project(':common:common-unrelocate') // DependencyDownload api(libs.dependencydownload.runtime) // Apache Commons runtimeDownloadApi(libs.commons.lang) runtimeDownloadApi(libs.commons.io) // Caffeine runtimeDownloadApi(libs.caffeine) { exclude group: 'com.google.errorprone', module: 'error_prone_annotations' } // DynamicProxy runtimeDownloadApi(libs.dynamicproxy) // Jackson (transitive in :api) compileOnlyApi(libs.jackson.databind) // Config runtimeDownloadApi(libs.configurate.yaml) // Logging compileOnly(libs.log4j.core) // Adventure, MCDiscordReserializer, EnhancedLegacyText runtimeDownloadApi(libs.adventure.api) runtimeDownloadApi(libs.adventure.serializer.plain) runtimeDownloadApi(libs.adventure.serializer.legacy) runtimeDownloadApi(libs.adventure.serializer.gson) runtimeDownloadApi(libs.adventure.serializer.ansi) runtimeDownloadApi(libs.mcdiscordreserializer) runtimeDownloadApi(libs.enhancedlegacytext) // Database hikari(libs.hikaricp) h2Driver(libs.h2) mysqlDriver(libs.mysql) mariadbDriver(libs.mariadb) // MinecraftAuthentication library mcAuthLib(libs.minecraftauth.lib) { exclude group: 'junit', module: 'junit' exclude group: 'org.jetbrains', module: 'annotations' } // Brigadier compileOnlyApi(libs.brigadier) // Integrations compileOnlyApi(libs.luckperms) } processResources { dependsOn( generateRuntimeDownloadResourceForRuntimeDownloadOnly, generateResourceForHikari, generateResourceForH2Driver, generateResourceForMySQLDriver, generateResourceForMariaDBDriver, generateResourceForMCAuthLib ) } // Relocations in buildscript/relocations.gradle