Skip to content

Commit 6148d25

Browse files
Merge maintenance/mps20232 into merge/mps20223
2 parents e1e02ad + 6c41583 commit 6148d25

File tree

739 files changed

+193701
-58477
lines changed

Some content is hidden

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

739 files changed

+193701
-58477
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ code/languages/*/build.properties
5151
code/languages/*/TEST*.xml
5252
code/languages/org.iets3.core/build/tmp
5353
.mps-caches
54+
*.iml
5455

5556
# -----------------------------------------------------------
5657
# GRADLE

CHANGELOG.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,39 @@ All notable changes to this project are documented in this file.
55
Format of the log is _loosely_ based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
66
The project does _not_ follow Semantic Versioning and the changes are documented in reverse chronological order, grouped by calendar month.
77

8+
## Feburary 2025
9+
10+
### Added
11+
12+
- Move languages org.iets3.protocol.transport, org.iets3.components.functional, org.iets3.components.hardware, org.iets3.components.toplevel.adapter, org.iets3.core.mapping, and org.iets3.safety.attributes from iets3.core to iets3.os
13+
14+
- a new approach to run interpreter test case from command line (and inside MPS) directly without invoking JUnit code generation
15+
- Added EmptyType to Pluggable Type Facade (PTF). If your language has some kind of _NixType_, you should override `PrimitiveTypeMapper.isEmptyType()` to recognize your _NixType_.
16+
17+
18+
### Fixed
19+
20+
- Strings are not comparable with strings with constraints.
21+
- The usability of editors (code completion menu, color) was improved.
22+
23+
## January 2025
24+
25+
### Added
26+
27+
- Added a language to accommodate variability management concepts and features. Initially it provides only an Interface to mark variation points.
28+
29+
### Fixed
30+
31+
- The copy and pasting of existing nodes was slightly improved.
32+
- NPE in `ISolvableMonitorNotification#projectOpen` ([#1202](https://github.com/IETS3/iets3.opensource/issues/1202)).
33+
834
## December 2024
935

1036
### Changed
1137

38+
- All custom views are deactivated by default. You can enable each of them through their own extension point: components explorer (`components` extension point), specification explorer (`spec` extension point), requirements explorer (`requirements` extension point), bookmark explorer (`bookmark` extension point).
39+
- Empty list literals now have automatically the length constraint 0.
40+
- Lists of lists now derive the correct size.
1241
- The line wrapping ability of some concepts was improved.
1342

1443
## November 2024
@@ -30,6 +59,10 @@ The project does _not_ follow Semantic Versioning and the changes are documented
3059
- Execution of Test by Interpreter can be done without generation and compilation.
3160

3261

62+
### Added
63+
64+
- If two quantities are compatible but implicit conversions are not enabled, this check can now be disabled through setting `IUnitLangConfig#allowMixingUnitPrefixesWithoutConversions` to true for the `PhysUnitLangConfig` extension point.
65+
3366
## October 2024
3467

3568
### Fixed
@@ -195,6 +228,8 @@ The project does _not_ follow Semantic Versioning and the changes are documented
195228
### Added
196229

197230
- `NumberLiteral` can now be converted to a `BigDecimal` with the method `toBigDecimal`.
231+
- Uncatched `DateTimeException` during check DateLiteral
232+
- The type parameter is now used in the Java generation of the FailExpr.
198233
- Named based access of result columns of multi decision tables were added. Columns can be referenced by name and coexist with the index based access.
199234

200235
## December 2023

README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ We take care of porting changes done in older supported MPS versions to the newe
2121
For details see [wiki](https://github.com/IETS3/iets3.opensource/wiki/Supported-MPS-Versions).
2222

2323
### What MPS versions are currently supported?
24-
- MPS 2022.3 (branch: [master](https://github.com/IETS3/iets3.opensource/tree/master))
24+
- MPS 2023.2 (branch: [master](https://github.com/IETS3/iets3.opensource/tree/master))
25+
- MPS 2022.3 (branch: [maintenance/mps20223](https://github.com/IETS3/iets3.opensource/tree/maintenance/mps20223))
2526
- MPS 2022.2 (branch: [maintenance/mps20222](https://github.com/IETS3/iets3.opensource/tree/maintenance/mps20222))
2627
- MPS 2021.3 (branch: [maintenance/mps20213](https://github.com/IETS3/iets3.opensource/tree/maintenance/mps20213))
2728
- MPS 2021.2 (branch: [maintenance/mps20212](https://github.com/IETS3/iets3.opensource/tree/maintenance/mps20212))
@@ -54,6 +55,7 @@ The project is separated into the following virtual packages:
5455
| [build-languages.xml](http://127.0.0.1:63320/node?ref=r%3Ac3d6ae0c-8b10-477f-a3e9-5dc8700ceb13%28org.iets3.opensource.build.build%29%2F6354991446090808661) | This ant script contains all languages and generates the finished zip file. |
5556
| [build-distro.xml](http://127.0.0.1:63320/node?ref=r%3Ac3d6ae0c-8b10-477f-a3e9-5dc8700ceb13%28org.iets3.opensource.build.build%29%2F8098566576010865830) | This ant script combines the files from the mbeddr platform with the files from the previous script. |
5657
| [build-tests.xml](http://127.0.0.1:63320/node?ref=r%3Ac3d6ae0c-8b10-477f-a3e9-5dc8700ceb13%28org.iets3.opensource.build.build%29%2F950113207300454071) | This ant script contains all the test languages and solutions and also runs the KernelF generated tests as part of the build. This is achieved by including an instance of [RunKernelFGeneratedTests](http://127.0.0.1:63320/node?ref=r%3A2ce4b587-5587-43f7-8005-e3fb84f231b0%28org.iets3.opensource.build.gentests.structure%29%2F4604852045247358203). |
58+
| [build-testInterpreter.xml](http://127.0.0.1:63320/node?ref=r%3Ac3d6ae0c-8b10-477f-a3e9-5dc8700ceb13%28org.iets3.opensource.build.build%29%2F9022445546689294517) | This ant script generates and builds all project components to run the interpreter on test cases, without generating code for the tests. All test cases (specified per solution [here](http://127.0.0.1:63320/node?ref=r%3Ac3d6ae0c-8b10-477f-a3e9-5dc8700ceb13%28org.iets3.opensource.build.build%29%2F8961448726282409247)), are not generated but directly run using the interpreter.|
5759

5860
### analysis
5961
| Name | Description |
@@ -168,6 +170,11 @@ This package includes all things related to tracing. More info: [page 27 debugge
168170
| org.iets3.core.trace | It implements trace attributes (can be for example used in components). |
169171
| org.iets3.core.test | It is a language for trace testing. |
170172

173+
### variability
174+
| Name | Description |
175+
| ------------- | ------------- |
176+
| org.iets3.variability.artifacts.base | This language contains basic concepts and interfaces related to variability. |
177+
171178
## Devkits
172179

173180
The following devkits are available:

build.gradle

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ apply plugin: 'download-jbr'
4040

4141
// configure jbr download
4242
downloadJbr {
43-
jbrVersion = '17.0.6-b653.34'
43+
jbrVersion = '17.0.8.1-b1000.32'
4444
}
4545

4646
// detect if we are in a CI build
@@ -53,14 +53,14 @@ if (project.hasProperty("forceCI")) {
5353

5454
def forceLocal = project.hasProperty("forceLocalDependencies")
5555

56-
def major = "2022"
57-
def minor = "3"
56+
def major = "2023"
57+
def minor = "2"
5858

5959
// Dependency versions
6060

61-
ext.mpsVersion = '2022.3.3'
61+
ext.mpsVersion = '2023.2.2'
6262

63-
def mbeddrVersion = "2022.3+"
63+
def mbeddrVersion = "2023.2+"
6464
def mpsQAVersion = "$major.$minor+"
6565

6666
// if building a against a special branch from mbeddr is required add the name here
@@ -116,7 +116,6 @@ ext.publishingRepository = version.toString().endsWith("-SNAPSHOT") ? snapshotRe
116116

117117
// 'artifacts' is used in the generated ant scripts as build output directory
118118
ext.artifactsDir = new File(buildDir, 'artifacts')
119-
ext.incrementalBuild = !project.hasProperty("disableIncrementalBuild")
120119

121120

122121
wrapper {
@@ -197,8 +196,8 @@ task resolveDependencies(dependsOn: ['downloadJbr', resolveMps, resolveLanguageL
197196
def defaultScriptArgs = [
198197
'mps.home' : resolveMps.destinationDir,
199198
'iets3.github.opensource.home' : rootDir,
199+
'build.jna.library.path' : new File(resolveMps.destinationDir, "lib/jna/${System.getProperty('os.arch')}"),
200200
'build.dir' : buildDir,
201-
'mps.generator.skipUnmodifiedModels': incrementalBuild,
202201
'version' : version
203202
]
204203
if (gradle.startParameter.logLevel.toString() != "LIFECYCLE") {
@@ -225,6 +224,21 @@ task buildLanguages(type: BuildLanguages, dependsOn: prebuild) {
225224
script "$buildDir/scripts/build-languages.xml"
226225
}
227226

227+
task execTestsByInterpreter(type: TestLanguages, dependsOn: buildLanguages) {
228+
script "$buildDir/scripts/build-testInterpreter.xml"
229+
targets "generate","build"
230+
doLast {
231+
ant.taskdef(name: 'junitInterpreterReport',
232+
classname: 'org.apache.tools.ant.taskdefs.optional.junit.XMLResultAggregator',
233+
classpath: configurations.junitAnt.asPath)
234+
ant.junitInterpreterReport(toDir: "$buildDir", tofile: "AggregatedInterpreterTestSuites.xml") {
235+
fileset(dir: "$buildDir", includes: '**/InterpreterTestSuite*.xml', excludes: 'tmp/**')
236+
report(format: 'frames', todir: "$buildDir/junitInterpreterReport" )
237+
}
238+
ant.echo("JUnit Interpreter report placed into $buildDir/junitInterpreterReport/index.html")
239+
}
240+
}
241+
228242

229243
task buildAndRunTests(type: TestLanguages, dependsOn: buildLanguages) {
230244
script "$buildDir/scripts/build-tests.xml"
@@ -233,7 +247,7 @@ task buildAndRunTests(type: TestLanguages, dependsOn: buildLanguages) {
233247
classname: 'org.apache.tools.ant.taskdefs.optional.junit.XMLResultAggregator',
234248
classpath: configurations.junitAnt.asPath)
235249
ant.junitreport {
236-
fileset(dir: "$buildDir", includes: '**/TEST*.xml')
250+
fileset(dir: "$buildDir", includes: '**/TEST*.xml', excludes: 'tmp/**')
237251
report(format: 'frames', todir: "$buildDir/junitreport")
238252
}
239253
ant.echo("JUnit report placed into $buildDir/junitreport/index.html")
@@ -422,6 +436,8 @@ publishing {
422436
builtBy buildLanguages
423437
classifier 'sources'
424438
}
439+
440+
pom additionalPomInfo
425441
}
426442

427443
'org.iets3.core.expr.simpleTypes.runtime'(MavenPublication) {
@@ -437,6 +453,8 @@ publishing {
437453
}
438454

439455
addDependency(pom, 'org.iets3.core.expr.base.shared', 'shared-runtime', project.version)
456+
457+
pom additionalPomInfo
440458
}
441459

442460
'org.iets3.core.expr.datetime.runtime'(MavenPublication) {
@@ -451,6 +469,8 @@ publishing {
451469
}
452470

453471
addDependency(pom, 'org.iets3.core.expr.base.shared', 'shared-runtime', project.version)
472+
473+
pom additionalPomInfo
454474
}
455475

456476
'org.iets3.core.expr.temporal.runtime'(MavenPublication) {
@@ -465,6 +485,8 @@ publishing {
465485
}
466486

467487
addDependency(pom, 'org.iets3.core.expr.datetime', 'datetime-runtime', project.version)
488+
489+
pom additionalPomInfo
468490
}
469491
}
470492
}

build/scripts/build-allScripts.xml

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
<path id="path.mps.ant.path">
4141
<pathelement location="${artifacts.mps}/lib/ant/lib/ant-mps.jar" />
4242
<fileset dir="${artifacts.mps}/lib">
43-
<include name="util.jar" />
43+
<include name="util-8.jar" />
4444
</fileset>
4545
</path>
4646

@@ -304,11 +304,11 @@
304304
<path location="${iets3.lang.opensource}/languages/org.iets3.opensource.build.gentests/source_gen" />
305305
</src>
306306
<classpath>
307-
<fileset file="${artifacts.mps}/lib/mps-core.jar" />
308307
<fileset file="${artifacts.mps}/lib/mps-annotations.jar" />
309308
<fileset file="${artifacts.mps}/lib/mps-openapi.jar" />
310309
<fileset file="${artifacts.mps}/lib/mps-context.jar" />
311310
<fileset file="${artifacts.mps}/lib/mps-constraints-runtime.jar" />
311+
<fileset file="${artifacts.mps}/lib/mps-core.jar" />
312312
<fileset file="${artifacts.mps}/lib/mps-problem.jar" />
313313
<fileset file="${artifacts.mps}/lib/mps-feedback-api.jar" />
314314
<fileset file="${artifacts.mps}/lib/mps-platform.jar" />
@@ -318,10 +318,8 @@
318318
<fileset file="${artifacts.mps}/lib/mps-behavior-runtime.jar" />
319319
<fileset file="${artifacts.mps}/lib/mps-closures.jar" />
320320
<fileset file="${artifacts.mps}/lib/mps-collections.jar" />
321-
<fileset file="${artifacts.mps}/lib/mps-logging.jar" />
322321
<fileset file="${artifacts.mps}/lib/mps-tuples.jar" />
323322
<fileset file="${artifacts.mps}/lib/mps-references.jar" />
324-
<fileset file="${artifacts.mps}/lib/mps-messaging.jar" />
325323
<fileset file="${artifacts.mps}/lib/mps-editor.jar" />
326324
<fileset file="${artifacts.mps}/lib/mps-editor-api.jar" />
327325
<fileset file="${artifacts.mps}/lib/mps-editor-runtime.jar" />
@@ -331,19 +329,23 @@
331329
<fileset file="${artifacts.mps}/lib/mps-project-check.jar" />
332330
<fileset file="${artifacts.mps}/lib/annotations.jar" />
333331
<fileset file="${artifacts.mps}/lib/app.jar" />
334-
<fileset file="${artifacts.mps}/lib/3rd-party-rt.jar" />
332+
<fileset file="${artifacts.mps}/lib/app-client.jar" />
333+
<fileset file="${artifacts.mps}/lib/lib.jar" />
334+
<fileset file="${artifacts.mps}/lib/lib-client.jar" />
335335
<fileset file="${artifacts.mps}/lib/util.jar" />
336336
<fileset file="${artifacts.mps}/lib/util_rt.jar" />
337+
<fileset file="${artifacts.mps}/lib/util-8.jar" />
337338
<fileset file="${artifacts.mps}/lib/forms_rt.jar" />
338339
<fileset file="${artifacts.mps}/lib/java-impl.jar" />
339340
<fileset file="${artifacts.mps}/lib/jps-model.jar" />
340341
<fileset file="${artifacts.mps}/lib/testFramework.jar" />
341342
<fileset file="${artifacts.mps}/lib/stats.jar" />
342-
<fileset file="${artifacts.com.mbeddr.platform}/de.slisson.mps.hacks/languages/de.slisson.mps.hacks/de.slisson.mps.reflection.runtime.jar" />
343+
<fileset file="${artifacts.mps}/lib/platform-loader.jar" />
343344
<fileset file="${artifacts.mps}/languages/runtimes/jetbrains.mps.analyzers.runtime.jar" />
344345
<fileset file="${artifacts.mps}/languages/baseLanguage/jetbrains.mps.baseLanguage.logging.runtime.jar" />
345346
<fileset file="${artifacts.mps}/plugins/mps-build/languages/build/jetbrains.mps.build.jar" />
346347
<fileset file="${artifacts.mps}/plugins/mps-build/languages/build/jetbrains.mps.build.mps.jar" />
348+
<fileset file="${artifacts.mps}/plugins/mps-build/languages/build/jetbrains.mps.build.mps.runner.jar" />
347349
<fileset file="${artifacts.mps}/plugins/mps-build/languages/build/jetbrains.mps.build.mps.tests.jar" />
348350
<fileset file="${artifacts.mps}/plugins/mps-build/languages/build/jetbrains.mps.build.workflow.jar" />
349351
<fileset file="${artifacts.mps}/languages/xml/jetbrains.mps.core.xml.jar" />
@@ -370,11 +372,11 @@
370372
<path location="${iets3.lang.opensource}/languages/org.iets3.opensource.build.gentests/generator/source_gen" />
371373
</src>
372374
<classpath>
373-
<fileset file="${artifacts.mps}/lib/mps-core.jar" />
374375
<fileset file="${artifacts.mps}/lib/mps-annotations.jar" />
375376
<fileset file="${artifacts.mps}/lib/mps-openapi.jar" />
376377
<fileset file="${artifacts.mps}/lib/mps-context.jar" />
377378
<fileset file="${artifacts.mps}/lib/mps-constraints-runtime.jar" />
379+
<fileset file="${artifacts.mps}/lib/mps-core.jar" />
378380
<fileset file="${artifacts.mps}/lib/mps-problem.jar" />
379381
<fileset file="${artifacts.mps}/lib/mps-feedback-api.jar" />
380382
<fileset file="${artifacts.mps}/lib/mps-platform.jar" />
@@ -384,10 +386,8 @@
384386
<fileset file="${artifacts.mps}/lib/mps-behavior-runtime.jar" />
385387
<fileset file="${artifacts.mps}/lib/mps-closures.jar" />
386388
<fileset file="${artifacts.mps}/lib/mps-collections.jar" />
387-
<fileset file="${artifacts.mps}/lib/mps-logging.jar" />
388389
<fileset file="${artifacts.mps}/lib/mps-tuples.jar" />
389390
<fileset file="${artifacts.mps}/lib/mps-references.jar" />
390-
<fileset file="${artifacts.mps}/lib/mps-messaging.jar" />
391391
<fileset file="${artifacts.mps}/lib/mps-editor.jar" />
392392
<fileset file="${artifacts.mps}/lib/mps-editor-api.jar" />
393393
<fileset file="${artifacts.mps}/lib/mps-editor-runtime.jar" />
@@ -398,18 +398,24 @@
398398
<pathelement path="${build.tmp}/java/out/org.iets3.opensource.build.gentests" />
399399
<fileset file="${artifacts.mps}/lib/annotations.jar" />
400400
<fileset file="${artifacts.mps}/lib/app.jar" />
401-
<fileset file="${artifacts.mps}/lib/3rd-party-rt.jar" />
401+
<fileset file="${artifacts.mps}/lib/app-client.jar" />
402+
<fileset file="${artifacts.mps}/lib/lib.jar" />
403+
<fileset file="${artifacts.mps}/lib/lib-client.jar" />
402404
<fileset file="${artifacts.mps}/lib/util.jar" />
403405
<fileset file="${artifacts.mps}/lib/util_rt.jar" />
406+
<fileset file="${artifacts.mps}/lib/util-8.jar" />
404407
<fileset file="${artifacts.mps}/lib/forms_rt.jar" />
405408
<fileset file="${artifacts.mps}/lib/java-impl.jar" />
406409
<fileset file="${artifacts.mps}/lib/jps-model.jar" />
407410
<fileset file="${artifacts.mps}/lib/testFramework.jar" />
408411
<fileset file="${artifacts.mps}/lib/stats.jar" />
412+
<fileset file="${artifacts.mps}/lib/platform-loader.jar" />
409413
<fileset file="${artifacts.mps}/languages/baseLanguage/jetbrains.mps.baseLanguage.logging.runtime.jar" />
410414
<fileset file="${artifacts.mps}/plugins/mps-build/languages/build/jetbrains.mps.build.jar" />
411415
<fileset file="${artifacts.mps}/plugins/mps-build/languages/build/jetbrains.mps.build.mps.jar" />
412416
<fileset file="${artifacts.mps}/plugins/mps-build/languages/build/jetbrains.mps.build.mps-generator.jar" />
417+
<fileset file="${artifacts.mps}/plugins/mps-build/languages/build/jetbrains.mps.build.mps.runner.jar" />
418+
<fileset file="${artifacts.mps}/plugins/mps-build/languages/build/jetbrains.mps.build.mps.runner-generator.jar" />
413419
<fileset file="${artifacts.mps}/plugins/mps-build/languages/build/jetbrains.mps.build.mps.tests.jar" />
414420
<fileset file="${artifacts.mps}/plugins/mps-build/languages/build/jetbrains.mps.build.workflow.jar" />
415421
<fileset file="${artifacts.mps}/languages/xml/jetbrains.mps.core.xml.jar" />

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,10 @@
1919
<entry key="jetbrains.mps.ide.mpsmigration.v_2021_3.ExtractMPSBootStubs" value="executed" />
2020
<entry key="jetbrains.mps.ide.mpsmigration.v_2022_3.ExplicitJavaFacetSettings" value="executed" />
2121
<entry key="jetbrains.mps.ide.mpsmigration.v_2022_3.SplitMPSCoreStub2" value="executed" />
22+
<entry key="jetbrains.mps.ide.mpsmigration.v_2023_1.DataFlowStubsToRegularNodes" value="executed" />
23+
<entry key="jetbrains.mps.ide.mpsmigration.v_2023_1.JavaModuleSettingsToFacet" value="executed" />
2224
<entry key="jetbrains.mps.javaVersionMigration_JDKDefault" value="executed" />
2325
<entry key="jetbrains.mps.v8_elimination" value="executed" />
24-
<entry key="project.migrated.version" value="223" />
26+
<entry key="project.migrated.version" value="232" />
2527
</component>
2628
</project>

0 commit comments

Comments
 (0)