b5b7e5f262
This new module gives the ability to resolve symbols from provided klib KtLibraryModules withing a Analysis Session. ^KT-65327 Fixed
68 lines
2.0 KiB
Kotlin
68 lines
2.0 KiB
Kotlin
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
|
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages
|
|
import org.jetbrains.kotlin.konan.target.HostManager
|
|
|
|
plugins {
|
|
kotlin("jvm")
|
|
}
|
|
|
|
sourceSets {
|
|
"main" { projectDefault() }
|
|
"test" { projectDefault() }
|
|
}
|
|
|
|
kotlin {
|
|
compilerOptions {
|
|
explicitApi()
|
|
|
|
/* Required to use Analysis Api */
|
|
freeCompilerArgs.add("-Xcontext-receivers")
|
|
}
|
|
}
|
|
|
|
projectTest(jUnitMode = JUnitMode.JUnit5) {
|
|
workingDir = rootDir
|
|
|
|
useJUnitPlatform()
|
|
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)
|
|
attribute(KotlinNativeTarget.konanTargetAttribute, HostManager.host.name)
|
|
}
|
|
}
|
|
|
|
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(":core:compiler.common.native"))
|
|
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(project(":compiler:tests-common", "tests-jar"))
|
|
testImplementation(project(":analysis:analysis-api-standalone"))
|
|
}
|