@@ -2,17 +2,44 @@ val intellijPluginVersion: String? by rootProject
22val kotlinLoggingVersion: String? by rootProject
33val apacheCommonsTextVersion: String? by rootProject
44val jacksonVersion: String? by rootProject
5- val ideType: String? by rootProject
6- val ideVersion: String by rootProject
75val kotlinPluginVersion: String by rootProject
6+
7+ // === IDE settings ===
8+ val projectType: String by rootProject
9+ val communityEdition: String by rootProject
10+ val ultimateEdition: String by rootProject
11+
12+ val ideType: String by rootProject
13+ val androidStudioPath: String? by rootProject
14+
15+ val ideaVersion: String? by rootProject
16+ val pycharmVersion: String? by rootProject
17+ val golandVersion: String? by rootProject
18+
19+ val javaIde: String? by rootProject
20+ val pythonIde: String? by rootProject
21+ val jsIde: String? by rootProject
22+ val goIde: String? by rootProject
23+
24+ val ideVersion = when (ideType) {
25+ " PC" , " PY" -> pycharmVersion
26+ " GO" -> golandVersion
27+ else -> ideaVersion
28+ }
29+
830val pythonCommunityPluginVersion: String? by rootProject
931val pythonUltimatePluginVersion: String? by rootProject
1032val goPluginVersion: String? by rootProject
1133
34+ // https://plugins.jetbrains.com/docs/intellij/android-studio.html#configuring-the-plugin-pluginxml-file
35+ val ideTypeOrAndroidStudio = if (androidStudioPath == null ) ideType else " IC"
36+
37+ project.tasks.asMap[" runIde" ]?.enabled = false
38+ // === IDE settings ===
39+
1240plugins {
1341 id(" org.jetbrains.intellij" ) version " 1.13.1"
1442}
15- project.tasks.asMap[" runIde" ]?.enabled = false
1643
1744tasks {
1845 compileKotlin {
@@ -46,10 +73,16 @@ intellij {
4673
4774 val androidPlugins = listOf (" org.jetbrains.android" )
4875
49- val jvmPlugins = listOf (
76+ val jvmPlugins = mutableListOf (
5077 " java"
5178 )
5279
80+ val kotlinPlugins = listOf (
81+ " org.jetbrains.kotlin"
82+ )
83+
84+ androidStudioPath?.let { jvmPlugins + = androidPlugins }
85+
5386 val pythonCommunityPlugins = listOf (
5487 " PythonCore:${pythonCommunityPluginVersion} "
5588 )
@@ -66,13 +99,24 @@ intellij {
6699 " org.jetbrains.plugins.go:${goPluginVersion} "
67100 )
68101
102+ val mavenUtilsPlugins = listOf (
103+ " org.jetbrains.idea.maven"
104+ )
105+
106+ val basePluginSet = jvmPlugins + kotlinPlugins + mavenUtilsPlugins + androidPlugins
107+
69108 plugins.set(
70- when (ideType) {
71- " IC" -> jvmPlugins + pythonCommunityPlugins + androidPlugins
72- " IU" -> jvmPlugins + pythonUltimatePlugins + jsPlugins + goPlugins + androidPlugins
73- " PC" -> pythonCommunityPlugins
74- " PU" -> pythonUltimatePlugins // something else, JS?
75- else -> jvmPlugins
109+ when (projectType) {
110+ communityEdition -> basePluginSet + pythonCommunityPlugins
111+ ultimateEdition -> when (ideType) {
112+ " IC" -> basePluginSet + pythonCommunityPlugins
113+ " IU" -> basePluginSet + pythonUltimatePlugins + jsPlugins + goPlugins
114+ " PC" -> pythonCommunityPlugins
115+ " PY" -> pythonUltimatePlugins + jsPlugins
116+ " GO" -> goPlugins
117+ else -> basePluginSet
118+ }
119+ else -> basePluginSet
76120 }
77121 )
78122
0 commit comments