plugins { alias(libs.plugins.kotlin) alias(libs.plugins.ktor) alias(libs.plugins.serilization) } group = "app.revanced" tasks { processResources { expand("projectVersion" to project.version) } // Needed by gradle-semantic-release-plugin. // Tracking: https://github.com/KengoTODA/gradle-semantic-release-plugin/issues/435 register("publish") { group = "publishing" dependsOn(startShadowScripts) } shadowJar { // Needed for Jetty to work. mergeServiceFiles() } } application { mainClass.set("app.revanced.api.command.MainCommandKt") } ktor { fatJar { archiveFileName.set("${project.name}-${project.version}.jar") } } repositories { mavenCentral() google() mavenLocal() maven { // A repository must be specified for some reason. "registry" is a dummy. url = uri("https://maven.pkg.github.com/revanced/registry") credentials { username = project.findProperty("gpr.user") as String? ?: System.getenv("GITHUB_ACTOR") password = project.findProperty("gpr.key") as String? ?: System.getenv("GITHUB_TOKEN") } } } dependencies { implementation(libs.ktor.client.core) implementation(libs.ktor.client.cio) implementation(libs.ktor.client.okhttp) implementation(libs.ktor.client.auth) implementation(libs.ktor.client.resources) implementation(libs.ktor.client.content.negotiation) implementation(libs.ktor.server.core) implementation(libs.ktor.server.content.negotiation) implementation(libs.ktor.server.auth) implementation(libs.ktor.server.auth.jwt) implementation(libs.ktor.server.cors) implementation(libs.ktor.server.caching.headers) implementation(libs.ktor.server.host.common) implementation(libs.ktor.server.jetty) implementation(libs.ktor.server.conditional.headers) implementation(libs.ktor.serialization.kotlinx.json) implementation(libs.koin.ktor) implementation(libs.h2) implementation(libs.logback.classic) implementation(libs.exposed.core) implementation(libs.exposed.jdbc) implementation(libs.exposed.dao) implementation(libs.exposed.kotlin.datetime) implementation(libs.dotenv.kotlin) implementation(libs.ktoml.core) implementation(libs.ktoml.file) implementation(libs.picocli) implementation(libs.kotlinx.datetime) implementation(libs.revanced.patcher) implementation(libs.revanced.library) implementation(libs.caffeine) }