blob: 5783f1ca9298d6ac5c6ced3d3018961e3214f175 [file]
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages
import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile
plugins {
id("common-configuration")
id("com.autonomousapps.dependency-analysis")
kotlin("jvm")
id("test-inputs-check")
}
sourceSets {
"main" { projectDefault() }
"test" { projectDefault() }
}
optInToK1Deprecation()
kotlin {
compilerOptions {
explicitApi()
}
}
projectTests {
testData(isolated, "testData")
testTask {
val testProjectKlib = configurations.create("testProjectKlib") {
attributes {
attribute(Usage.USAGE_ATTRIBUTE, objects.named(KotlinUsages.KOTLIN_API))
attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.LIBRARY))
attribute(KotlinPlatformType.attribute, KotlinPlatformType.native)
hostKonanTargetAttribute()
}
}
val testProjectKlibFiles = testProjectKlib.incoming.files
dependencies {
testProjectKlib(project("testProject"))
}
inputs.files(testProjectKlibFiles)
.withPathSensitivity(PathSensitivity.RELATIVE)
doFirst {
systemProperty("testKlibs", testProjectKlibFiles.joinToString(File.pathSeparator))
}
}
}
dependencies {
api(project(":analysis:analysis-api"))
implementation(project(":core:compiler.common"))
implementation(project(":kotlin-tooling-core"))
compileOnly(project(":analysis:analysis-api-standalone"))
compileOnly(project(":core:metadata"))
compileOnly(project(":kotlin-metadata"))
compileOnly(project(":kotlin-util-klib-metadata"))
compileOnly(protobufLite())
testImplementation(kotlinTest("junit5"))
testImplementation(testFixtures(project(":compiler:tests-common")))
testImplementation(project(":analysis:analysis-api-standalone"))
testRuntimeOnly(project(":analysis:analysis-api-standalone:analysis-api-standalone-fir"))
testImplementation(project(":native:native.config"))
}
tasks.withType<KotlinJvmCompile>().configureEach {
compilerOptions.freeCompilerArgs.add("-Xconsistent-data-class-copy-visibility")
}