@@ -2,17 +2,44 @@ val intellijPluginVersion: String? by rootProject
2
2
val kotlinLoggingVersion: String? by rootProject
3
3
val apacheCommonsTextVersion: String? by rootProject
4
4
val jacksonVersion: String? by rootProject
5
- val ideType: String? by rootProject
6
- val ideVersion: String by rootProject
7
5
val 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
+
8
30
val pythonCommunityPluginVersion: String? by rootProject
9
31
val pythonUltimatePluginVersion: String? by rootProject
10
32
val goPluginVersion: String? by rootProject
11
33
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
+
12
40
plugins {
13
41
id(" org.jetbrains.intellij" ) version " 1.13.1"
14
42
}
15
- project.tasks.asMap[" runIde" ]?.enabled = false
16
43
17
44
tasks {
18
45
compileKotlin {
@@ -46,10 +73,16 @@ intellij {
46
73
47
74
val androidPlugins = listOf (" org.jetbrains.android" )
48
75
49
- val jvmPlugins = listOf (
76
+ val jvmPlugins = mutableListOf (
50
77
" java"
51
78
)
52
79
80
+ val kotlinPlugins = listOf (
81
+ " org.jetbrains.kotlin"
82
+ )
83
+
84
+ androidStudioPath?.let { jvmPlugins + = androidPlugins }
85
+
53
86
val pythonCommunityPlugins = listOf (
54
87
" PythonCore:${pythonCommunityPluginVersion} "
55
88
)
@@ -66,13 +99,24 @@ intellij {
66
99
" org.jetbrains.plugins.go:${goPluginVersion} "
67
100
)
68
101
102
+ val mavenUtilsPlugins = listOf (
103
+ " org.jetbrains.idea.maven"
104
+ )
105
+
106
+ val basePluginSet = jvmPlugins + kotlinPlugins + mavenUtilsPlugins + androidPlugins
107
+
69
108
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
76
120
}
77
121
)
78
122
0 commit comments