From 6491d5041c1f274c1bf5fb5c5b689b5b1a1a0c7f Mon Sep 17 00:00:00 2001 From: Sascha Lisson Date: Mon, 27 Nov 2023 16:57:20 +0100 Subject: [PATCH] ci: also build against MPS 2023.2 --- .github/workflows/mps-compatibility.yaml | 1 + .../model/mpsadapters/GlobalModelListener.kt | 31 ++++--------------- .../model/mpsadapters/MPSChangeTranslator.kt | 17 +++------- mps-model-server-plugin/build.gradle.kts | 13 +++++--- 4 files changed, 20 insertions(+), 42 deletions(-) diff --git a/.github/workflows/mps-compatibility.yaml b/.github/workflows/mps-compatibility.yaml index ec6f2e813c..093ccbe152 100644 --- a/.github/workflows/mps-compatibility.yaml +++ b/.github/workflows/mps-compatibility.yaml @@ -22,6 +22,7 @@ jobs: - "2021.3.3" - "2022.2" - "2022.3" + - "2023.2" steps: - uses: actions/checkout@v3 diff --git a/mps-model-adapters/src/main/kotlin/org/modelix/model/mpsadapters/GlobalModelListener.kt b/mps-model-adapters/src/main/kotlin/org/modelix/model/mpsadapters/GlobalModelListener.kt index f8759b9951..4b18ccc55e 100644 --- a/mps-model-adapters/src/main/kotlin/org/modelix/model/mpsadapters/GlobalModelListener.kt +++ b/mps-model-adapters/src/main/kotlin/org/modelix/model/mpsadapters/GlobalModelListener.kt @@ -1,3 +1,5 @@ +@file:Suppress("removal") + /* * Copyright (c) 2023. * @@ -15,19 +17,16 @@ */ package org.modelix.model.mpsadapters -import org.jetbrains.mps.openapi.language.SLanguage import org.jetbrains.mps.openapi.model.SModel -import org.jetbrains.mps.openapi.model.SModelReference -import org.jetbrains.mps.openapi.module.SDependency import org.jetbrains.mps.openapi.module.SModule import org.jetbrains.mps.openapi.module.SModuleListener -import org.jetbrains.mps.openapi.module.SModuleReference +import org.jetbrains.mps.openapi.module.SModuleListenerBase import org.jetbrains.mps.openapi.module.SRepository import org.jetbrains.mps.openapi.module.SRepositoryListener +import org.jetbrains.mps.openapi.module.SRepositoryListenerBase abstract class GlobalModelListener { - @Suppress("removal") - protected var repositoryListener: SRepositoryListener = object : SRepositoryListener { + protected var repositoryListener: SRepositoryListener = object : SRepositoryListenerBase() { override fun moduleAdded(m: SModule) { start(m) } @@ -35,18 +34,9 @@ abstract class GlobalModelListener { override fun beforeModuleRemoved(m: SModule) { stop(m) } - - override fun moduleRemoved(p0: SModuleReference) {} - override fun commandStarted(p0: SRepository?) {} - override fun commandFinished(p0: SRepository?) {} - override fun updateStarted(p0: SRepository?) {} - override fun updateFinished(p0: SRepository?) {} - override fun repositoryCommandStarted(p0: SRepository?) {} - override fun repositoryCommandFinished(p0: SRepository?) {} } - @Suppress("removal") - protected var moduleListener: SModuleListener = object : SModuleListener { + protected var moduleListener: SModuleListener = object : SModuleListenerBase() { override fun modelAdded(module: SModule, model: SModel) { start(model) } @@ -54,15 +44,6 @@ abstract class GlobalModelListener { override fun beforeModelRemoved(module: SModule, model: SModel) { stop(model) } - - override fun modelRemoved(p0: SModule?, p1: SModelReference?) {} - override fun beforeModelRenamed(p0: SModule?, p1: SModel?, p2: SModelReference?) {} - override fun modelRenamed(p0: SModule?, p1: SModel?, p2: SModelReference?) {} - override fun dependencyAdded(p0: SModule?, p1: SDependency?) {} - override fun dependencyRemoved(p0: SModule?, p1: SDependency?) {} - override fun languageAdded(p0: SModule?, p1: SLanguage?) {} - override fun languageRemoved(p0: SModule?, p1: SLanguage?) {} - override fun moduleChanged(p0: SModule?) {} } protected var myRepositories: MutableSet = HashSet() protected var myModules: MutableSet = HashSet() diff --git a/mps-model-adapters/src/main/kotlin/org/modelix/model/mpsadapters/MPSChangeTranslator.kt b/mps-model-adapters/src/main/kotlin/org/modelix/model/mpsadapters/MPSChangeTranslator.kt index 3cf644cf93..eaccd6f424 100644 --- a/mps-model-adapters/src/main/kotlin/org/modelix/model/mpsadapters/MPSChangeTranslator.kt +++ b/mps-model-adapters/src/main/kotlin/org/modelix/model/mpsadapters/MPSChangeTranslator.kt @@ -1,3 +1,5 @@ +@file:Suppress("removal") + package org.modelix.model.mpsadapters import jetbrains.mps.smodel.SModelInternal @@ -29,6 +31,7 @@ import org.jetbrains.mps.openapi.module.SModuleListener import org.jetbrains.mps.openapi.module.SModuleReference import org.jetbrains.mps.openapi.module.SRepository import org.jetbrains.mps.openapi.module.SRepositoryListener +import org.jetbrains.mps.openapi.module.SRepositoryListenerBase import org.modelix.incremental.DependencyTracking import org.modelix.incremental.IStateVariableReference @@ -36,22 +39,10 @@ class MPSChangeTranslator : GlobalModelListener(), SNodeChangeListener, SModuleListener, - SRepositoryListener, + SRepositoryListener by object : SRepositoryListenerBase() {}, SModelListener, org.jetbrains.mps.openapi.model.SModelListener { - @Suppress("removal") - override fun updateStarted(p0: SRepository?) {} - - @Suppress("removal") - override fun updateFinished(p0: SRepository?) {} - - @Suppress("removal") - override fun repositoryCommandStarted(p0: SRepository?) {} - - @Suppress("removal") - override fun repositoryCommandFinished(p0: SRepository?) {} - private fun notifyChange(change: IStateVariableReference<*>) { DependencyTracking.modified(change) } diff --git a/mps-model-server-plugin/build.gradle.kts b/mps-model-server-plugin/build.gradle.kts index 292bb3f109..5fd14257ee 100644 --- a/mps-model-server-plugin/build.gradle.kts +++ b/mps-model-server-plugin/build.gradle.kts @@ -12,6 +12,7 @@ val mpsToIdeaMap = mapOf( "2021.3.3" to "213.7172.25", // https://github.com/JetBrains/MPS/blob/2021.3.3/build/version.properties "2022.2" to "222.4554.10", // https://github.com/JetBrains/MPS/blob/2021.2.1/build/version.properties "2022.3" to "223.8836.41", // https://github.com/JetBrains/MPS/blob/2022.3.0/build/version.properties (?) + "2023.2" to "232.10072.27", // https://github.com/JetBrains/MPS/blob/2023.2.0/build/version.properties ) // use the given MPS version, or 2022.2 (last version with JAVA 11) as default val mpsVersion = project.findProperty("mps.version")?.toString().takeIf { !it.isNullOrBlank() } ?: "2020.3.6" @@ -26,10 +27,14 @@ println("Building for MPS version $mpsVersion and IntelliJ version $ideaVersion dependencies { implementation(project(":model-server-lib")) implementation(project(":mps-model-adapters")) - compileOnly("com.jetbrains:mps-openapi:$mpsVersion") - compileOnly("com.jetbrains:mps-core:$mpsVersion") - compileOnly("com.jetbrains:mps-environment:$mpsVersion") - compileOnly("com.jetbrains:mps-platform:$mpsVersion") + + val mpsZip by configurations.creating + mpsZip("com.jetbrains:mps:$mpsVersion") + compileOnly( + zipTree({ mpsZip.singleFile }).matching { + include("lib/*.jar") + }, + ) } // Configure Gradle IntelliJ Plugin