File tree Expand file tree Collapse file tree 2 files changed +25
-0
lines changed
src/main/kotlin/org/modelix/model/server/mps Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ dependencies {
9
9
compileOnly(" com.jetbrains:mps-openapi:2021.1.4" )
10
10
compileOnly(" com.jetbrains:mps-core:2021.1.4" )
11
11
compileOnly(" com.jetbrains:mps-environment:2021.1.4" )
12
+ compileOnly(" com.jetbrains:mps-platform:2021.1.4" )
12
13
}
13
14
14
15
// Configure Gradle IntelliJ Plugin
Original file line number Diff line number Diff line change @@ -19,7 +19,9 @@ import com.intellij.ide.plugins.IdeaPluginDescriptor
19
19
import com.intellij.openapi.Disposable
20
20
import com.intellij.openapi.components.Service
21
21
import com.intellij.openapi.components.service
22
+ import com.intellij.openapi.project.DumbService
22
23
import com.intellij.openapi.project.Project
24
+ import jetbrains.mps.ide.project.ProjectHelper
23
25
import jetbrains.mps.project.ProjectBase
24
26
import jetbrains.mps.project.ProjectManager
25
27
import jetbrains.mps.smodel.MPSModuleRepository
@@ -46,6 +48,28 @@ class MPSModelServer : Disposable {
46
48
server = LightModelServer .builder()
47
49
.port(48305 )
48
50
.rootNode(rootNodeProvider)
51
+ .healthCheck(object : LightModelServer .IHealthCheck {
52
+ override val id: String
53
+ get() = " indexer"
54
+ override val enabledByDefault: Boolean
55
+ get() = false
56
+
57
+ override fun run (output : java.lang.StringBuilder ): Boolean {
58
+ var allSmart = true
59
+ val projects = ProjectManager .getInstance().openedProjects
60
+ for (project in projects) {
61
+ project.repository.modelAccess.runReadAction {
62
+ val indexerDone =
63
+ ! DumbService .getInstance(ProjectHelper .toIdeaProject(project)).isDumb
64
+ if (! indexerDone) {
65
+ output.append(" indexer running on project " ).append(project.name)
66
+ allSmart = false
67
+ }
68
+ }
69
+ }
70
+ return allSmart
71
+ }
72
+ })
49
73
.healthCheck(object : LightModelServer .IHealthCheck {
50
74
override val id: String
51
75
get() = " projects"
You can’t perform that action at this time.
0 commit comments