Skip to content

Commit 62816c7

Browse files
authored
Merge branch 'master' into bugfix/missing-configs-in-sbom
2 parents b3fabda + e2a7f35 commit 62816c7

File tree

346 files changed

+91242
-10614
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

346 files changed

+91242
-10614
lines changed

.github/workflows/vulnerability-scanning.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ jobs:
66
name: depecheck_test
77
steps:
88
- name: Checkout
9-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
9+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
1010
- name: Setup Java
11-
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4
11+
uses: actions/setup-java@f2beeb24e141e01a676f977032f5a29d81c9e27e # v5
1212
with:
1313
distribution: temurin
1414
java-version: 17
1515
- name: Setup Gradle
16-
uses: gradle/actions/setup-gradle@06832c7b30a0129d7fb559bcc6e43d26f6374244 # v4
16+
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5
1717
- name: Call setup
1818
run: ./gradlew dependencies
1919
- name: Dependency Check
20-
uses: dependency-check/Dependency-Check_Action@3102a65fd5f36d0000297576acc56a475b0de98d
20+
uses: dependency-check/Dependency-Check_Action@1e54355a8b4c8abaa8cc7d0b70aa655a3bb15a6c
2121
env:
2222
# actions/setup-java changes JAVA_HOME, so it needs to be reset to match the depcheck image
2323
JAVA_HOME: /opt/jdk
@@ -27,7 +27,7 @@ jobs:
2727
format: 'HTML'
2828
out: 'reports'
2929
- name: Upload Test results
30-
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
30+
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6
3131
with:
3232
name: Dependency Check Report
3333
path: ${{github.workspace}}/reports

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,18 @@ The project does _not_ follow Semantic Versioning and the changes are documented
2929

3030
- The Maven POM now contains all bundled JARs as dependencies with `provided` scope to help with automated license and
3131
vulnerability scanning.
32+
- The Grammar Cells of KernelF editors can now be customized through the extension point `EditorCustomization`. Optional cells, flag cells, constant cells, substitute cells and side transformations can be customized (activation of substitutions, side transformations, description text, post-processing etc.).
3233

3334
### Fixed
3435

3536
- A bug was fixed that caused the editor of NumberLiteral to break if a property macro was used for its value.
3637
- Added missing support for IndexExpr for the operations findFirst and forEach.
38+
- The AssessmentAnalyzer doesn't try to modify read-only models on the CI anymore.
3739
- An invalid checking rule for parameter value types of functional component instances has been removed. It was introduced by a move of IETS3.Core languages in February 2025.
3840

41+
### Improved
42+
43+
- Some editor action descriptions were improved.
3944

4045
## October 2025
4146

@@ -69,13 +74,17 @@ The project does _not_ follow Semantic Versioning and the changes are documented
6974

7075
- The renderReadable/getPresentation implementations were improved and are now equivalent in all concepts.
7176
- Variability: For feature attributes, the inspector in the configuration editor shows the current value of the attribute and what caused this value (manual input by user, default, forced by tool, etc). This assignment cause is read-only now. An intention is added to manually set it to 'manual' state.
77+
- Updated API for build.gentests and junit.interpreter.run.configuration
7278
- Variability: In the configuration editor, pressing Return/Enter anywhere will create an empty line after the configuration. Pressing Shift-Return/Enter on the header line of a configuration will create an empty line before the configuration.
7379

7480
### Added
7581

7682
- Data tables, binary and multi-criteria decision tables now support deletion, copying and pasting when multiple cells are selected with the mouse.
7783

7884

85+
### Removed
86+
- To enable github release the usage of `listMergedPRs` script is removed for the time beeing.
87+
7988
## July 2025
8089

8190
### Fixed

README.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ If you want to use a custom version of `mbeddr` with Gradle, publish its artifac
1414

1515
## Supported MPS versions
1616

17-
The latest supported MPS version is master, plus the three previous versions on maintenance branches.
17+
The latest supported MPS version is master, plus the two previous versions on maintenance branches.
1818

1919
### What does support mean in this case?
2020

@@ -25,10 +25,9 @@ For details, see the [wiki](https://github.com/IETS3/iets3.opensource/wiki/Suppo
2525

2626
| MPS version | Nexus | branch |
2727
| --------------- | --------------- | --------------- |
28-
| 2024.1 | [![artifacts.itemis.cloud](https://img.shields.io/badge/dynamic/xml?url=https://artifacts.itemis.cloud/repository/maven-mps/org/iets3/opensource/maven-metadata.xml&label=artifacts.itemis.cloud&color=success&query=.//versioning/versions/version[starts-with(text(),'2024.1')][last()])](https://artifacts.itemis.cloud/#browse/browse:maven-mps:org%2Fiets3%2Fopensource) | [master](https://github.com/IETS3/iets3.opensource/tree/master) |
29-
| 2023.2 | [![artifacts.itemis.cloud](https://img.shields.io/badge/dynamic/xml?url=https://artifacts.itemis.cloud/repository/maven-mps/org/iets3/opensource/maven-metadata.xml&label=artifacts.itemis.cloud&color=success&query=.//versioning/versions/version[starts-with(text(),'2023.2')][last()])](https://artifacts.itemis.cloud/#browse/browse:maven-mps:org%2Fiets3%2Fopensource) | [maintenance/mps20232](https://github.com/IETS3/iets3.opensource/tree/maintenance/mps20232) | [maintenance/mps20232](https://github.com/IETS3/iets3.opensource/tree/maintenance/mps20232) |
30-
| 2022.3 | [![artifacts.itemis.cloud](https://img.shields.io/badge/dynamic/xml?url=https://artifacts.itemis.cloud/repository/maven-mps/org/iets3/opensource/maven-metadata.xml&label=artifacts.itemis.cloud&color=success&query=.//versioning/versions/version[starts-with(text(),'2022.3')][last()])](https://artifacts.itemis.cloud/#browse/browse:maven-mps:org%2Fiets3%2Fopensource) | [maintenance/mps20223](https://github.com/IETS3/iets3.opensource/tree/maintenance/mps20223) | [maintenance/mps20223](https://github.com/IETS3/iets3.opensource/tree/maintenance/mps20223) |
31-
| 2022.2 | [![artifacts.itemis.cloud](https://img.shields.io/badge/dynamic/xml?url=https://artifacts.itemis.cloud/repository/maven-mps/org/iets3/opensource/maven-metadata.xml&label=artifacts.itemis.cloud&color=success&query=.//versioning/versions/version[starts-with(text(),'2022.2')][last()])](https://artifacts.itemis.cloud/#browse/browse:maven-mps:org%2Fiets3%2Fopensource) | [maintenance/mps20222](https://github.com/IETS3/iets3.opensource/tree/maintenance/mps20222) | [maintenance/mps20222](https://github.com/IETS3/iets3.opensource/tree/maintenance/mps20222) |
28+
| Master | [![artifacts.itemis.cloud](https://img.shields.io/badge/dynamic/xml?url=https://artifacts.itemis.cloud/repository/maven-mps/org/iets3/opensource/maven-metadata.xml&label=artifacts.itemis.cloud&color=success&query=.//versioning/latest)](https://artifacts.itemis.cloud/#browse/browse:maven-mps:org%2Fiets3%2Fopensource) | [master](https://github.com/IETS3/iets3.opensource/tree/master) |
29+
| 2025.1 | [![artifacts.itemis.cloud](https://img.shields.io/badge/dynamic/xml?url=https://artifacts.itemis.cloud/repository/maven-mps/org/iets3/opensource/maven-metadata.xml&label=artifacts.itemis.cloud&color=success&query=.//versioning/versions/version[starts-with(text(),'2025.1')][last()])](https://artifacts.itemis.cloud/#browse/browse:maven-mps:org%2Fiets3%2Fopensource) | [maintenance/mps20251](https://github.com/IETS3/iets3.opensource/tree/maintenance/mps20251) | [maintenance/mps20251](https://github.com/IETS3/iets3.opensource/tree/maintenance/mps20251) |
30+
| 2024.1 | [![artifacts.itemis.cloud](https://img.shields.io/badge/dynamic/xml?url=https://artifacts.itemis.cloud/repository/maven-mps/org/iets3/opensource/maven-metadata.xml&label=artifacts.itemis.cloud&color=success&query=.//versioning/versions/version[starts-with(text(),'2024.1')][last()])](https://artifacts.itemis.cloud/#browse/browse:maven-mps:org%2Fiets3%2Fopensource) | [maintenance/mps20241](https://github.com/IETS3/iets3.opensource/tree/maintenance/mps20241) | [maintenance/mps20241](https://github.com/IETS3/iets3.opensource/tree/maintenance/mps20241) |
3231

3332
## Documentation
3433

@@ -240,3 +239,7 @@ If that happens, some migrations were not executed in the project. Run `./gradle
240239
- Windows Powershell: `Get-Clipboard | ForEach-Object { $_ -replace '^.{13}', '' } | git apply`
241240
- Linux solution 1: `xclip -o | sed 's/^.\{13\}//' | git apply`
242241
- Linux solution 2: `xsel --clipboard --output | sed 's/^.\{13\}//' | git apply`
242+
243+
## Automatic Updating Of Dependencies
244+
245+
The [Renovate](https://docs.renovatebot.com/) bot updates the dependencies automatically for the master branch or optionally other branches and creates PRs for those changes. The configuration can be found at [renovate.json5](https://github.com/IETS3/iets3.opensource/blob/master/.github/renovate.json5). The documentation for the configuration can be found at https://docs.renovatebot.com/configuration-options/.

build-allScripts.xml

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,7 @@
4040

4141
<path id="path.mps.ant.path">
4242
<pathelement location="${artifacts.mps}/lib/ant/lib/ant-mps.jar" />
43-
<fileset dir="${artifacts.mps}/lib">
44-
<include name="util-8.jar" />
45-
</fileset>
43+
<pathelement location="${artifacts.mps}/lib/util-8.jar" />
4644
</path>
4745

4846
<taskdef resource="jetbrains/mps/build/ant/antlib.xml" classpathref="path.mps.ant.path" />
@@ -63,6 +61,7 @@
6361
<uses>
6462
<language id="l:798100da-4f0a-421a-b991-71f8c50ce5d2:jetbrains.mps.build" />
6563
<language id="l:0cf935df-4699-4e9c-a132-fa109541cba3:jetbrains.mps.build.mps" />
64+
<language id="l:427a473d-5177-432c-9905-bcbceb71b996:jetbrains.mps.build.mps.runner" />
6665
<language id="l:3600cb0a-44dd-4a5b-9968-22924406419e:jetbrains.mps.build.mps.tests" />
6766
<language id="l:9d000fbd-bdca-4a46-b39b-c5ba9e79b38c:org.iets3.opensource.build.gentests" />
6867
</uses>
@@ -125,8 +124,10 @@
125124
<settings refid="m2m-0" />
126125
<plugin path="${artifacts.com.mbeddr.platform}/com.mbeddr.platform.build" id="com.mbeddr.platform.build" />
127126
<plugin path="${artifacts.com.mbeddr.platform}/de.itemis.mps.extensions.build" id="de.itemis.mps.extensions.build" />
127+
<plugin path="${artifacts.mps}/lib/mps-workbench.jar" id="com.intellij.modules.mps" />
128128
<plugin path="${artifacts.mps}/plugins/mps-build" id="jetbrains.mps.build" />
129129
<plugin path="${artifacts.mps}/plugins/mps-core" id="jetbrains.mps.core" />
130+
<library file="${artifacts.mps}/languages/editor/jetbrains.mps.ide.editor.jar" />
130131
<chunk>
131132
<module file="${iets3.lang.opensource}/languages/org.iets3.opensource.build.gentests/org.iets3.opensource.build.gentests.mpl" />
132133
<module file="${iets3.lang.opensource}/solutions/org.iets3.opensource.build.gentests.rt/org.iets3.opensource.build.gentests.rt.msd" />
@@ -137,7 +138,6 @@
137138
<jvmargs>
138139
<arg value="-ea" />
139140
<arg value="-Xmx512m" />
140-
<arg value="--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED" />
141141
</jvmargs>
142142
<macro name="iets3.github.opensource.home" path="${iets3.github.opensource.home}" />
143143
<macro name="mps.home" path="${mps.home}" />
@@ -220,7 +220,12 @@
220220
<fileset file="${artifacts.mps}/lib/testFramework.jar" />
221221
<fileset file="${artifacts.mps}/lib/stats.jar" />
222222
<fileset file="${artifacts.mps}/lib/platform-loader.jar" />
223-
<fileset file="${artifacts.mps}/lib/trove.jar" />
223+
<fileset file="${artifacts.mps}/lib/module-intellij.libraries.asm.jar" />
224+
<fileset file="${artifacts.mps}/lib/module-intellij.libraries.gson.jar" />
225+
<fileset file="${artifacts.mps}/lib/module-intellij.libraries.miglayout.swing.jar" />
226+
<fileset file="${artifacts.mps}/lib/module-intellij.platform.vcs.jar" />
227+
<fileset file="${artifacts.mps}/lib/module-intellij.platform.vcs.core.jar" />
228+
<fileset file="${artifacts.mps}/lib/module-intellij.xml.parser.jar" />
224229
<fileset file="${artifacts.mps}/languages/runtimes/jetbrains.mps.analyzers.runtime.jar" />
225230
<fileset file="${artifacts.mps}/languages/baseLanguage/jetbrains.mps.baseLanguage.logging.runtime.jar" />
226231
<fileset file="${artifacts.mps}/plugins/mps-build/languages/build/jetbrains.mps.build.jar" />
@@ -292,7 +297,12 @@
292297
<fileset file="${artifacts.mps}/lib/testFramework.jar" />
293298
<fileset file="${artifacts.mps}/lib/stats.jar" />
294299
<fileset file="${artifacts.mps}/lib/platform-loader.jar" />
295-
<fileset file="${artifacts.mps}/lib/trove.jar" />
300+
<fileset file="${artifacts.mps}/lib/module-intellij.libraries.asm.jar" />
301+
<fileset file="${artifacts.mps}/lib/module-intellij.libraries.gson.jar" />
302+
<fileset file="${artifacts.mps}/lib/module-intellij.libraries.miglayout.swing.jar" />
303+
<fileset file="${artifacts.mps}/lib/module-intellij.platform.vcs.jar" />
304+
<fileset file="${artifacts.mps}/lib/module-intellij.platform.vcs.core.jar" />
305+
<fileset file="${artifacts.mps}/lib/module-intellij.xml.parser.jar" />
296306
<fileset file="${artifacts.mps}/languages/baseLanguage/jetbrains.mps.baseLanguage.logging.runtime.jar" />
297307
<fileset file="${artifacts.mps}/plugins/mps-build/languages/build/jetbrains.mps.build.jar" />
298308
<fileset file="${artifacts.mps}/plugins/mps-build/languages/build/jetbrains.mps.build.mps.jar" />
@@ -325,6 +335,7 @@
325335
<fileset file="${artifacts.mps}/lib/mps-references.jar" />
326336
<fileset file="${iets3.lang.opensource}/solutions/org.iets3.opensource.build.gentests.rt/lib/takari-cpsuite.jar" />
327337
<fileset file="${artifacts.mps}/lib/junit4.jar" />
338+
<fileset file="${artifacts.mps}/lib/lib.jar" />
328339
</classpath>
329340
</javac>
330341
<copy todir="${build.tmp}/java/out/org.iets3.opensource.build.gentests.rt">

build.gradle.kts

Lines changed: 25 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import de.itemis.mps.gradle.GitBasedVersioning
33
import de.itemis.mps.gradle.Macro
44
import de.itemis.mps.gradle.RunAntScript
55
import de.itemis.mps.gradle.TestLanguages
6+
import de.itemis.mps.gradle.tasks.MpsCheck
67
import de.itemis.mps.gradle.tasks.MpsMigrate
78
import de.itemis.mps.gradle.tasks.Remigrate
89
import groovy.util.Node
@@ -21,7 +22,6 @@ plugins {
2122
alias(libs.plugins.githubRelease)
2223
alias(libs.plugins.cyclonedxBom)
2324
alias(libs.plugins.downloadJbr)
24-
alias(libs.plugins.modelcheck)
2525
}
2626

2727
repositories {
@@ -53,11 +53,6 @@ dependencies {
5353
cpSuite(libs.cpSuite.get().toString() + "@jar") { isTransitive = false }
5454
}
5555

56-
tasks.wrapper {
57-
gradleVersion = libs.versions.gradle.get()
58-
distributionType = Wrapper.DistributionType.ALL
59-
}
60-
6156
downloadJbr {
6257
jbrVersion = libs.versions.jbr.get()
6358
}
@@ -73,8 +68,8 @@ version = calculateVersion().also {
7368
}
7469

7570
fun calculateVersion(): String {
76-
val major = libs.versions.mpsVersion.get().substring(0, 4)
77-
val minor = libs.versions.mpsVersion.get().substring(5, 6)
71+
val major = "9999"
72+
val minor = "9"
7873
if (!ciBuild) return "$major.$minor-SNAPSHOT"
7974

8075
val buildNumber =
@@ -260,7 +255,7 @@ tasks.assemble {
260255
}
261256

262257
val migrate by tasks.registering(MpsMigrate::class) {
263-
dependsOn(resolveMPS, "resolveMpsForModelcheck", tasks.downloadJbr, buildLanguages, buildAndRunTests)
258+
dependsOn(resolveMPS, tasks.downloadJbr, buildLanguages, buildAndRunTests)
264259
javaLauncher.set(tasks.downloadJbr.get().javaLauncher)
265260
haltOnPrecheckFailure.set(false)
266261
haltOnDependencyError.set(false)
@@ -273,7 +268,7 @@ val migrate by tasks.registering(MpsMigrate::class) {
273268

274269
val remigrate by tasks.registering(Remigrate::class) {
275270
mustRunAfter(migrate, buildLanguages, buildAndRunTests)
276-
dependsOn(resolveMPS, "resolveMpsForModelcheck", tasks.downloadJbr)
271+
dependsOn(resolveMPS, tasks.downloadJbr)
277272
javaLauncher.set(tasks.downloadJbr.get().javaLauncher)
278273
mpsHome.set(mpsHomeDir)
279274
projectDirectories.from("code/languages/org.iets3.opensource")
@@ -282,21 +277,22 @@ val remigrate by tasks.registering(Remigrate::class) {
282277
maxHeapSize = "4G"
283278
}
284279

285-
modelcheck {
286-
projectLocation = File("$projectDir/code/languages/org.iets3.opensource")
287-
mpsLocation = mpsHomeDir.asFile
288-
pluginsProperty.set(emptyList())
289-
mpsConfig = mps
290-
macros = listOf(Macro("iets3.github.opensource.home", "$projectDir"))
291-
junitFile = layout.buildDirectory.file("TEST-checkProject.xml").get().asFile
292-
junitFormat = "message"
293-
errorNoFail = true
280+
val checkmodels by tasks.registering(MpsCheck::class) {
281+
dependsOn(resolveMPS)
282+
javaLauncher.set(tasks.downloadJbr.get().javaLauncher)
283+
284+
projectLocation.set(file("$projectDir/code/languages/org.iets3.opensource"))
285+
mpsHome.set(mpsHomeDir)
286+
pluginRoots.add(mpsHomeDir.dir("plugins"))
287+
folderMacros.put("iets3.github.opensource.home", layout.projectDirectory)
288+
289+
junitFile.set(layout.buildDirectory.file("TEST-checkProject.xml"))
290+
junitFormat.set("message")
291+
ignoreFailures = true
294292
debug = false
295-
maxHeap = "4G"
293+
maxHeapSize = "4G"
296294
}
297295

298-
tasks.checkmodels { dependsOn(resolveMPS) }
299-
300296
val packageLanguages by tasks.registering(Zip::class) {
301297
dependsOn(buildLanguages, tasks.cyclonedxBom)
302298
from(artifactsDir) {
@@ -510,27 +506,25 @@ publishing {
510506
defaultTasks.add(tasks.assemble.name)
511507

512508
githubRelease {
513-
owner("IETS3")
514-
repo("iets3.opensource")
509+
owner = "IETS3"
510+
repo = "iets3.opensource"
515511
token(rootProject.findProperty("github.token").toString())
516-
tagName("nightly-$version")
517-
targetCommitish(GitBasedVersioning.getGitCommitHash())
512+
tagName = "nightly-$version"
513+
targetCommitish = GitBasedVersioning.getGitCommitHash()
518514
val currentDate = LocalDate.now().format(DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL))
519515
val dependencyList =
520516
languageLibs.resolvedConfiguration.lenientConfiguration.allModuleDependencies.joinToString("\n") {
521517
"- `${it.moduleGroup}:${it.moduleName}` : `${it.moduleVersion}`"
522518
}
523-
body {
524-
"""
519+
body = """
525520
Automated Nightly build from ${currentDate}.
526521
//
527522
//Includes dependencies:
528523
//${dependencyList}
529524
""".trimIndent()
530-
}
531-
prerelease(true)
525+
prerelease = true
532526
releaseAssets(packageDistroWithDependencies.get().outputs.files.map { it.path })
533-
dryRun(false)
527+
dryRun = false
534528
}
535529
tasks.githubRelease {
536530
dependsOn(packageDistroWithDependencies)

code/languages/org.iets3.opensource/.mps/migration.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@
2222
<entry key="jetbrains.mps.ide.mpsmigration.v_2023_1.DataFlowStubsToRegularNodes" value="executed" />
2323
<entry key="jetbrains.mps.ide.mpsmigration.v_2023_1.JavaModuleSettingsToFacet" value="executed" />
2424
<entry key="jetbrains.mps.ide.mpsmigration.v_2023_3.CleanStubForeignMethodIds" value="executed" />
25+
<entry key="jetbrains.mps.ide.mpsmigration.v_2024_3.LangResourceImport4Migration" value="executed" />
2526
<entry key="jetbrains.mps.javaVersionMigration_JDKDefault" value="executed" />
2627
<entry key="jetbrains.mps.v8_elimination" value="executed" />
27-
<entry key="project.migrated.version" value="241" />
28+
<entry key="project.migrated.version" value="253" />
2829
</component>
2930
</project>

0 commit comments

Comments
 (0)