mirror of
https://github.com/fankes/moshi.git
synced 2025-10-18 23:49:21 +08:00
70 lines
1.6 KiB
Plaintext
70 lines
1.6 KiB
Plaintext
import Build_gradle.TestMode.KAPT
|
|
import Build_gradle.TestMode.KSP
|
|
import Build_gradle.TestMode.REFLECT
|
|
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
|
|
|
plugins {
|
|
kotlin("jvm")
|
|
kotlin("kapt") apply false
|
|
id("com.google.devtools.ksp") apply false
|
|
}
|
|
|
|
enum class TestMode {
|
|
REFLECT, KAPT, KSP
|
|
}
|
|
|
|
val testMode = findProperty("kotlinTestMode")?.toString()
|
|
?.let(TestMode::valueOf)
|
|
?: REFLECT
|
|
|
|
when (testMode) {
|
|
REFLECT -> {
|
|
// Do nothing!
|
|
}
|
|
KAPT -> {
|
|
apply(plugin = "org.jetbrains.kotlin.kapt")
|
|
}
|
|
KSP -> {
|
|
apply(plugin = "com.google.devtools.ksp")
|
|
}
|
|
}
|
|
|
|
tasks.withType<Test>().configureEach {
|
|
// ExtendsPlatformClassWithProtectedField tests a case where we set a protected ByteArrayOutputStream.buf field
|
|
jvmArgs("--add-opens=java.base/java.io=ALL-UNNAMED")
|
|
}
|
|
|
|
val useWError = findProperty("kotlinLanguageVersion")?.toString()
|
|
?.startsWith("1.5")
|
|
?: false
|
|
tasks.withType<KotlinCompile>().configureEach {
|
|
kotlinOptions {
|
|
allWarningsAsErrors = useWError
|
|
@Suppress("SuspiciousCollectionReassignment")
|
|
freeCompilerArgs += listOf(
|
|
"-Xopt-in=kotlin.ExperimentalStdlibApi"
|
|
)
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
when (testMode) {
|
|
REFLECT -> {
|
|
// Do nothing
|
|
}
|
|
KAPT -> {
|
|
"kaptTest"(project(":moshi-kotlin-codegen"))
|
|
}
|
|
KSP -> {
|
|
"kspTest"(project(":moshi-kotlin-codegen"))
|
|
}
|
|
}
|
|
testImplementation(project(":moshi"))
|
|
testImplementation(project(":moshi-kotlin"))
|
|
testImplementation(project(":moshi-kotlin-tests:extra-moshi-test-module"))
|
|
testImplementation(kotlin("reflect"))
|
|
testImplementation(libs.junit)
|
|
testImplementation(libs.assertj)
|
|
testImplementation(libs.truth)
|
|
}
|