revanced-api/build.gradle.kts
2024-07-08 13:49:21 +02:00

84 lines
2.5 KiB
Plaintext

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<DefaultTask>("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)
}