plugins { // New:https://github.com/JetBrains/gradle-intellij-plugin/releases id 'org.jetbrains.intellij' version '1.3.1' } group 'io.github.linwancen' version '2.29.0.' + (new Date().format('yyyy.MM.dd_HH.mm')) patchPluginXml { // The performance of 2019.3 has been greatly improved. // change plugins without restarting the IDE in 2020.1. // 2020.2 JCEF, 2022.2 JDK17 java2d perf improved, 2023.3 AI sinceBuild = '201.1' untilBuild = '' changeNotes = """

English Change Notes:

中文更新说明:

""" } repositories { mavenCentral() } dependencies { testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2' } def system = org.gradle.internal.os.OperatingSystem.current() def ideTypeStr = String.valueOf(ideType) // See https://github.com/JetBrains/gradle-intellij-plugin/ intellij { type = ideType if (system.isMacOsX()) { localPath = "/Applications/IntelliJ IDEA.app" } else { version = ideaVersion // localPath = "D:/Program Files/JetBrains/IntelliJ IDEA 2021.2.2" } // see https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#intellij-extension-plugins plugins = [ 'PsiViewer:201.6251.22-EAP-SNAPSHOT.3', // only for runIde when dev 'org.jetbrains.plugins.yaml', 'Pythonid:201.6668.121', 'org.rust.lang:0.3.131.3366-201', 'org.toml.lang:0.2.131.3366-201', 'org.jetbrains.plugins.ruby:201.6668.113', ] if ('IC' == ideTypeStr || 'IU' == ideTypeStr) { plugins.add('java') plugins.add('org.jetbrains.idea.maven') plugins.add('org.jetbrains.kotlin') plugins.add('org.intellij.groovy') plugins.add('org.intellij.scala:2020.1.43') } else if ('CL' == ideTypeStr) { plugins.add('com.intellij.clion-swift:201.6668.126') } if (!ideTypeStr.endsWith('C')) { plugins.add('JavaScript') plugins.add('com.intellij.database') plugins.add('org.jetbrains.plugins.go:201.6668.60.126') plugins.add('com.jetbrains.php:201.6668.153') } } sourceSets { // can not use plugin in IDEA IU if ('RD' == ideTypeStr) { main { java { srcDirs = ['src/main/java', 'src/main/rider'] } } } else if ('CL' == ideTypeStr) { main { java { srcDirs = ['src/main/java', 'src/main/clion'] } } } else { main { java { srcDirs = ['src/main/java', 'src/main/idea'] } resources { srcDirs = ['src/main/resources', 'src/main/other_lang_class'] } } } } tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } tasks.withType(Javadoc) { options.encoding = 'UTF-8' } test { useJUnitPlatform() } publishPlugin { token = System.getenv("PUBLISH_TOKEN") }