Signal-Android/libsignal-service/build.gradle.kts
Jameson Williams a96c8867ae Move from AssertJ to AssertK.
Resolves #13841
2024-12-21 12:39:10 -05:00

111 lines
2.4 KiB
Kotlin

/*
* Copyright 2024 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("java-library")
id("org.jetbrains.kotlin.jvm")
id("java-test-fixtures")
id("maven-publish")
id("signing")
id("idea")
id("org.jlleitschuh.gradle.ktlint")
id("com.squareup.wire")
}
val signalBuildToolsVersion: String by rootProject.extra
val signalCompileSdkVersion: String by rootProject.extra
val signalTargetSdkVersion: Int by rootProject.extra
val signalMinSdkVersion: Int by rootProject.extra
val signalJavaVersion: JavaVersion by rootProject.extra
val signalKotlinJvmTarget: String by rootProject.extra
java {
withJavadocJar()
withSourcesJar()
sourceCompatibility = signalJavaVersion
targetCompatibility = signalJavaVersion
}
tasks.withType<KotlinCompile>().configureEach {
kotlinOptions {
jvmTarget = signalKotlinJvmTarget
freeCompilerArgs = listOf("-Xjvm-default=all")
}
}
afterEvaluate {
listOf(
"runKtlintCheckOverMainSourceSet",
"runKtlintFormatOverMainSourceSet",
"sourcesJar"
).forEach { taskName ->
tasks.named(taskName) {
mustRunAfter(tasks.named("generateMainProtos"))
}
}
}
ktlint {
version.set("1.2.1")
filter {
exclude { entry ->
entry.file.toString().contains("build/generated/source/wire")
}
}
}
wire {
protoLibrary = true
kotlin {
javaInterop = true
}
sourcePath {
srcDir("src/main/protowire")
}
custom {
// Comes from wire-handler jar project
schemaHandlerFactoryClass = "org.signal.wire.Factory"
}
}
tasks.whenTaskAdded {
if (name == "lint") {
enabled = false
}
}
dependencies {
api(libs.google.libphonenumber)
api(libs.jackson.core)
api(libs.jackson.module.kotlin)
implementation(libs.libsignal.client)
api(libs.square.okhttp3)
api(libs.square.okio)
implementation(libs.google.jsr305)
api(libs.rxjava3.rxjava)
implementation(libs.kotlin.stdlib.jdk8)
implementation(libs.kotlinx.coroutines.core)
implementation(libs.kotlinx.coroutines.core.jvm)
implementation(project(":core-util-jvm"))
testImplementation(testLibs.junit.junit)
testImplementation(testLibs.assertk)
testImplementation(testLibs.conscrypt.openjdk.uber)
testImplementation(testLibs.mockk)
testImplementation(testLibs.hamcrest.hamcrest)
testFixturesImplementation(libs.libsignal.client)
testFixturesImplementation(testLibs.junit.junit)
}