mirai/tools/intellij-plugin/build.gradle.kts

120 lines
3.6 KiB
Plaintext
Raw Normal View History

@file:Suppress("UnusedImport")
plugins {
kotlin("jvm")
id("java")
`maven-publish`
id("com.jfrog.bintray")
id("org.jetbrains.intellij") version "0.4.16"
}
repositories {
maven("http://maven.aliyun.com/nexus/content/groups/public/")
}
version = Versions.console
description = "IntelliJ plugin for Mirai Console"
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
tasks.withType(JavaCompile::class.java) {
options.encoding = "UTF8"
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version = "2020.2.1"
isDownloadSources = true
updateSinceUntilBuild = false
setPlugins(
2020-09-19 23:51:53 +08:00
"org.jetbrains.kotlin:1.4.10-release-IJ2020.2-1@staging",
"java"
)
}
tasks.getByName("publishPlugin", org.jetbrains.intellij.tasks.PublishTask::class) {
val pluginKey = project.findProperty("jetbrains.hub.key")?.toString()
if (pluginKey != null) {
logger.info("Found jetbrains.hub.key")
setToken(pluginKey)
} else {
logger.info("jetbrains.hub.key not found")
}
}
tasks.withType<org.jetbrains.intellij.tasks.PatchPluginXmlTask> {
sinceBuild("193.*")
untilBuild("205.*")
2020-09-19 14:50:12 +08:00
pluginDescription("""
2020-10-04 22:28:56 +08:00
Plugin development support for <a href='https://github.com/mamoe/mirai-console'>Mirai Console</a>
2020-09-19 14:50:12 +08:00
<h3>Features</h3>
<ul>
<li>Inspections for plugin properties, for example, checking PluginDescription.</li>
<li>Inspections for illegal calls.</li>
<li>Intentions for resolving serialization problems.</li>
</ul>
""".trimIndent())
changeNotes("""
2020-09-19 14:50:12 +08:00
Initial release
""".trimIndent())
}
kotlin {
sourceSets.all {
target.compilations.all {
kotlinOptions {
jvmTarget = "1.8"
freeCompilerArgs = freeCompilerArgs + "-Xjvm-default=all"
//useIR = true
}
}
languageSettings.apply {
progressiveMode = true
useExperimentalAnnotation("kotlin.Experimental")
useExperimentalAnnotation("kotlin.RequiresOptIn")
useExperimentalAnnotation("net.mamoe.mirai.utils.MiraiInternalAPI")
useExperimentalAnnotation("net.mamoe.mirai.utils.MiraiExperimentalAPI")
useExperimentalAnnotation("net.mamoe.mirai.console.ConsoleFrontEndImplementation")
useExperimentalAnnotation("net.mamoe.mirai.console.util.ConsoleExperimentalApi")
useExperimentalAnnotation("kotlin.ExperimentalUnsignedTypes")
useExperimentalAnnotation("kotlin.experimental.ExperimentalTypeInference")
useExperimentalAnnotation("kotlin.contracts.ExperimentalContracts")
useExperimentalAnnotation("kotlinx.serialization.ExperimentalSerializationApi")
useExperimentalAnnotation("net.mamoe.mirai.console.util.ConsoleInternalApi")
}
}
}
dependencies {
api("org.jetbrains:annotations:19.0.0")
api(kotlinx("coroutines-jdk8", Versions.coroutines))
2020-09-17 21:39:34 +08:00
api(project(":mirai-console-compiler-common"))
compileOnly("org.jetbrains.kotlin:kotlin-compiler:${Versions.kotlinCompiler}")
compileOnly("org.jetbrains.kotlin:kotlin-compiler:${Versions.kotlinCompiler}")
compileOnly(files("libs/ide-common.jar"))
testApi(kotlin("test"))
testApi(kotlin("test-junit5"))
testImplementation("org.junit.jupiter:junit-jupiter-api:5.2.0")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.2.0")
}
tasks {
"test"(Test::class) {
useJUnitPlatform()
}
}
2020-09-19 21:01:04 +08:00
setupPublishing("mirai-console-intellij")