plugin/core/build.gradle.kts (42 lines of code) (raw):
@file:Suppress("UnstableApiUsage")
import org.jetbrains.packagesearch.gradle.GeneratePackageSearchObject
plugins {
alias(packageSearchCatalog.plugins.kotlin.jvm)
alias(packageSearchCatalog.plugins.dokka)
id(packageSearchCatalog.plugins.kotlin.plugin.serialization)
id(packageSearchCatalog.plugins.idea.gradle.plugin.base)
`maven-publish`
}
dependencies {
intellijPlatform {
intellijIdeaCommunity(INTELLIJ_VERSION)
bundledPlugins(
"org.jetbrains.idea.reposearch",
"com.jetbrains.performancePlugin"
)
}
api(packageSearchCatalog.kotlinx.serialization.core)
testRuntimeOnly(packageSearchCatalog.junit.jupiter.api)
testRuntimeOnly(packageSearchCatalog.junit.jupiter.engine)
testImplementation(packageSearchCatalog.kotlinx.coroutines.test)
testImplementation(kotlin("test-junit5"))
}
val generatedDir: Provider<Directory> = layout.buildDirectory.dir("generated/main/kotlin")
kotlin.sourceSets.main {
kotlin.srcDirs(generatedDir)
}
tasks {
withType<Test> {
environment("DB_PATH", layout.buildDirectory.file("tests/cache.db").get().asFile.absolutePath)
}
val generatePluginDataSources by registering(GeneratePackageSearchObject::class) {
group = "generate"
pluginId = PACKAGE_SEARCH_PLUGIN_ID
outputDir = generatedDir
packageName = "com.jetbrains.packagesearch.plugin.core"
databaseVersion = 3
}
compileKotlin {
dependsOn(generatePluginDataSources)
}
}