Skip to content

Commit

Permalink
merge/mps 2023.2 to 2024.1 (#287)
Browse files Browse the repository at this point in the history
* mpsqa.arch: collapse cells by default

* mpsqa.arch: create a new interface ICommentable

* mpsqa.arch: add support for commenting single component dependencies

* architecture checking enhancements (#276)

* arch: fix ModuleComponent_Behavior.getAllModels by considering also models of generators owned by a language

* arch: mini cleanup and improvements

* lint: added linter "no_alias_defined_for_non_abstract_non_smart_reference_concept"

* arch: detect redundantly declared dependencies

---------

Co-authored-by: Daniel Ratiu <[email protected]>

* arch: support for change impact analysis (#279)

* arch: initial implementation for impact analysis

* arch: mark impacted regions based on impact analysis results

* improve arch editor and linters (#283)

* arch: add possibility to set-unset the default collapsing of component definitions

* lint: improvements and fixes in the performance linters on the typesystem aspect

* lint: added a linter for detecting slow scopes computation

* lint,arch: enhance linters and architecture (#285)

* lint: make the linter "slow_scope_computation" more robust

* arch: implemented simple timed caching to speedup checks of large architectures

* ran migration

* build.gradle: added 'mps-testing' to the plugins on which migration task depends

* lint: File -> Force Save All

---------

Co-authored-by: Alexander Pann <[email protected]>
Co-authored-by: Daniel Ratiu <[email protected]>
  • Loading branch information
3 people authored Feb 5, 2025
1 parent 5609a81 commit 3aa34aa
Show file tree
Hide file tree
Showing 18 changed files with 3,969 additions and 383 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ ext.allProjectDirectoriesInDependencyOrder = [
'org.mpsqa.testing',
'org.mpsqa.unused'
].collect { file("code/languages/$it") }
ext.mpsPluginRoots = ['mps-build', 'mps-console', 'mps-trove', 'mps-modelchecker', 'mps-tooltips']
ext.mpsPluginRoots = ['mps-build', 'mps-console', 'mps-trove', 'mps-modelchecker', 'mps-tooltips', 'mps-testing']
.collect { new File(mpsHomeDir, "plugins/$it") }
ext.jbrJavaLauncher = tasks.named('downloadJbr', DownloadJbrForPlatform).flatMap { it.javaLauncher }

Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
<?xml version="1.0" encoding="UTF-8"?>
<model ref="r:05551064-8349-4600-953f-80c29a849ef4(org.mpsqa.arch.migration)">
<persistence version="9" />
<languages>
<use id="9882f4ad-1955-46fe-8269-94189e5dbbf2" name="jetbrains.mps.lang.migration.util" version="0" />
<use id="90746344-04fd-4286-97d5-b46ae6a81709" name="jetbrains.mps.lang.migration" version="2" />
</languages>
<imports />
<registry>
<language id="7866978e-a0f0-4cc7-81bc-4d213d9375e1" name="jetbrains.mps.lang.smodel">
<concept id="6911370362349121511" name="jetbrains.mps.lang.smodel.structure.ConceptId" flags="nn" index="2x4n5u">
<property id="6911370362349122519" name="conceptName" index="2x4mPI" />
<property id="6911370362349121516" name="conceptId" index="2x4n5l" />
<property id="6911370362349133804" name="isInterface" index="2x4o5l" />
<child id="6911370362349121514" name="languageIdentity" index="2x4n5j" />
</concept>
<concept id="8415841354032330471" name="jetbrains.mps.lang.smodel.structure.ContainmentLinkId" flags="ng" index="HUanS">
<property id="8415841354032330474" name="linkName" index="HUanP" />
<property id="8415841354032330473" name="linkId" index="HUanQ" />
<child id="8415841354032330472" name="conceptIdentity" index="HUanR" />
</concept>
<concept id="3542851458883438784" name="jetbrains.mps.lang.smodel.structure.LanguageId" flags="nn" index="2V$Bhx">
<property id="3542851458883439831" name="namespace" index="2V$B1Q" />
<property id="3542851458883439832" name="languageId" index="2V$B1T" />
</concept>
</language>
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
<concept id="1133920641626" name="jetbrains.mps.lang.core.structure.BaseConcept" flags="ng" index="2VYdi">
<property id="1193676396447" name="virtualPackage" index="3GE5qa" />
</concept>
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ngI" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
</language>
<language id="90746344-04fd-4286-97d5-b46ae6a81709" name="jetbrains.mps.lang.migration">
<concept id="3116305438947623354" name="jetbrains.mps.lang.migration.structure.MoveContainmentLink" flags="ng" index="7a1rN">
<child id="8415841354033040054" name="targetId" index="HTpAD" />
<child id="8415841354033040053" name="sourceId" index="HTpAE" />
</concept>
<concept id="3116305438947553624" name="jetbrains.mps.lang.migration.structure.RefactoringPart" flags="ng" index="7amoh">
<property id="3628660716136424362" name="participant" index="hSBgo" />
<child id="3628660716136424366" name="finalState" index="hSBgs" />
<child id="3628660716136424364" name="initialState" index="hSBgu" />
</concept>
<concept id="2864063292004102367" name="jetbrains.mps.lang.migration.structure.ReflectionNodeReference" flags="ng" index="2pBcaW">
<property id="2864063292004102809" name="nodeName" index="2pBc3U" />
<property id="2864063292004103235" name="modelRef" index="2pBcow" />
<property id="2864063292004103247" name="nodeId" index="2pBcoG" />
</concept>
<concept id="2015900981881695631" name="jetbrains.mps.lang.migration.structure.RefactoringLog" flags="ng" index="W$Crc">
<property id="2015900981881695633" name="fromVersion" index="W$Cri" />
<child id="2015900981881695634" name="part" index="W$Crh" />
<child id="3597905718825595708" name="options" index="1w76sc" />
</concept>
<concept id="7431903976166007326" name="jetbrains.mps.lang.migration.structure.MoveNodeMigrationPart" flags="ng" index="Z4OXk">
<child id="3116305438947564633" name="specialization" index="7agGg" />
<child id="7431903976166276375" name="toNode" index="Z5P1t" />
<child id="7431903976166276373" name="fromNode" index="Z5P1v" />
</concept>
<concept id="7431903976166443707" name="jetbrains.mps.lang.migration.structure.PureMigrationScript" flags="ng" index="Z5qvL">
<property id="7431903976166443708" name="fromVersion" index="Z5qvQ" />
<property id="2151301691306162408" name="description" index="1AQGQl" />
<child id="7431903976166447091" name="part" index="Z5rET" />
</concept>
<concept id="3597905718825595712" name="jetbrains.mps.lang.migration.structure.RefactoringOptions" flags="ng" index="1w76tK">
<child id="3597905718825595718" name="options" index="1w76tQ" />
</concept>
<concept id="3597905718825595715" name="jetbrains.mps.lang.migration.structure.RefactoringOption" flags="ng" index="1w76tN">
<property id="3597905718825595716" name="optionId" index="1w76tO" />
<property id="3597905718825650036" name="description" index="1w7ld4" />
</concept>
</language>
</registry>
<node concept="W$Crc" id="5gfdDUfN4cx">
<property role="3GE5qa" value="refactoring" />
<property role="W$Cri" value="0" />
<property role="TrG5h" value="Update References: comment-&gt;comment" />
<node concept="1w76tK" id="5gfdDUfN4cy" role="1w76sc">
<node concept="1w76tN" id="5gfdDUfN4cz" role="1w76tQ">
<property role="1w76tO" value="moveNode.options.updateLocalInstances" />
<property role="1w7ld4" value="Update instances in current project" />
</node>
<node concept="1w76tN" id="5gfdDUfN4c$" role="1w76tQ">
<property role="1w76tO" value="moveNode.options.updateModelImports" />
<property role="1w7ld4" value="Update model imports" />
</node>
<node concept="1w76tN" id="5gfdDUfN4c_" role="1w76tQ">
<property role="1w76tO" value="moveNode.options.updateReferencesParticipant" />
<property role="1w7ld4" value="Update references" />
</node>
<node concept="1w76tN" id="5gfdDUfN4cA" role="1w76tQ">
<property role="1w76tO" value="moveNode.options.writeMigrationScript" />
<property role="1w7ld4" value="Write migration script" />
</node>
<node concept="1w76tN" id="5gfdDUfN4cB" role="1w76tQ">
<property role="1w76tO" value="moveNode.options.writeRefactoringLog" />
<property role="1w7ld4" value="Write refactoring log" />
</node>
</node>
<node concept="7amoh" id="5gfdDUfN4cD" role="W$Crh">
<property role="hSBgo" value="moveNode.updateReferences" />
<node concept="2pBcaW" id="5gfdDUfN4cu" role="hSBgu">
<property role="2pBcoG" value="2756396587892930227" />
<property role="2pBcow" value="r:d0c25d1d-f21e-42b4-b319-5eef0584d5ca(org.mpsqa.arch.structure)" />
<property role="2pBc3U" value="comment" />
</node>
<node concept="2pBcaW" id="5gfdDUfN4cC" role="hSBgs">
<property role="2pBcoG" value="6057120078481867552" />
<property role="2pBcow" value="r:d0c25d1d-f21e-42b4-b319-5eef0584d5ca(org.mpsqa.arch.structure)" />
<property role="2pBc3U" value="comment" />
</node>
</node>
</node>
<node concept="Z5qvL" id="5gfdDUfN4cE">
<property role="Z5qvQ" value="0" />
<property role="TrG5h" value="Migrate_MoveLinkUp_0" />
<property role="1AQGQl" value="Move link `comment` to concept `ICommentable`" />
<node concept="Z4OXk" id="5gfdDUfN4cP" role="Z5rET">
<node concept="2pBcaW" id="5gfdDUfN4cN" role="Z5P1v">
<property role="2pBcoG" value="2756396587892930227" />
<property role="2pBcow" value="r:d0c25d1d-f21e-42b4-b319-5eef0584d5ca(org.mpsqa.arch.structure)" />
<property role="2pBc3U" value="comment_old" />
</node>
<node concept="2pBcaW" id="5gfdDUfN4cO" role="Z5P1t">
<property role="2pBcoG" value="6057120078481867552" />
<property role="2pBcow" value="r:d0c25d1d-f21e-42b4-b319-5eef0584d5ca(org.mpsqa.arch.structure)" />
<property role="2pBc3U" value="comment" />
</node>
<node concept="7a1rN" id="5gfdDUfN4cM" role="7agGg">
<node concept="HUanS" id="5gfdDUfN4cG" role="HTpAE">
<property role="HUanP" value="comment_old" />
<property role="HUanQ" value="kxwl1jekjmwj" />
<node concept="2x4n5u" id="5gfdDUfN4cH" role="HUanR">
<property role="2x4mPI" value="IComponentLike" />
<property role="2x4o5l" value="true" />
<property role="2x4n5l" value="1nix3erx7wem4" />
<node concept="2V$Bhx" id="5gfdDUfN4cI" role="2x4n5j">
<property role="2V$B1T" value="6c101563-ba1f-458d-b298-a75634941e0c" />
<property role="2V$B1Q" value="org.mpsqa.arch" />
</node>
</node>
</node>
<node concept="HUanS" id="5gfdDUfN4cJ" role="HTpAD">
<property role="HUanP" value="comment" />
<property role="HUanQ" value="1a0otv9sa589s" />
<node concept="2x4n5u" id="5gfdDUfN4cK" role="HUanR">
<property role="2x4mPI" value="ICommentable" />
<property role="2x4o5l" value="true" />
<property role="2x4n5l" value="1a0otv9sa554k" />
<node concept="2V$Bhx" id="5gfdDUfN4cL" role="2x4n5j">
<property role="2V$B1T" value="6c101563-ba1f-458d-b298-a75634941e0c" />
<property role="2V$B1Q" value="org.mpsqa.arch" />
</node>
</node>
</node>
</node>
</node>
</node>
</model>

Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@
<concept id="3348158742936976479" name="jetbrains.mps.lang.structure.structure.EnumerationDeclaration" flags="ng" index="25R3W">
<child id="3348158742936976577" name="members" index="25R1y" />
</concept>
<concept id="1224240836180" name="jetbrains.mps.lang.structure.structure.DeprecatedNodeAnnotation" flags="ig" index="asaX9">
<property id="1225118933224" name="comment" index="YLQ7P" />
</concept>
<concept id="1082978164218" name="jetbrains.mps.lang.structure.structure.DataTypeDeclaration" flags="ng" index="AxPO6">
<property id="7791109065626895363" name="datatypeId" index="3F6X1D" />
</concept>
Expand Down Expand Up @@ -55,6 +58,7 @@
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
<concept id="1133920641626" name="jetbrains.mps.lang.core.structure.BaseConcept" flags="ng" index="2VYdi">
<property id="1193676396447" name="virtualPackage" index="3GE5qa" />
<child id="5169995583184591170" name="smodelAttribute" index="lGtFl" />
</concept>
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ngI" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" />
Expand Down Expand Up @@ -95,6 +99,11 @@
<property role="TrG5h" value="regexForModulesNamesToWhitelist" />
<ref role="AX2Wp" to="tpck:fKAOsGN" resolve="string" />
</node>
<node concept="1TJgyi" id="5yQ9IyuJEHF" role="1TKVEl">
<property role="IQ2nx" value="6392339501636561771" />
<property role="TrG5h" value="collapseComponentDefinitions" />
<ref role="AX2Wp" to="tpck:fKAQMTB" resolve="boolean" />
</node>
</node>
<node concept="1TIwiD" id="6MUZd5Uj9vB">
<property role="EcuMT" value="7834852478394603495" />
Expand Down Expand Up @@ -148,6 +157,9 @@
<property role="20lbJX" value="fLJekj5/_0__n" />
<ref role="20lvS9" node="Te1zv$_lA2" resolve="SingleComponentDependencyWhitelistEntry" />
</node>
<node concept="PrWs8" id="5gfdDUfRu3S" role="PzmwI">
<ref role="PrY4T" node="5gfdDUfN3cO" resolve="ICommentable" />
</node>
</node>
<node concept="PlHQZ" id="6MUZd5Uj9MP">
<property role="EcuMT" value="7834852478394604725" />
Expand Down Expand Up @@ -219,12 +231,18 @@
<node concept="1TJgyj" id="2p0G1uTtfqN" role="1TKVEi">
<property role="IQ2ns" value="2756396587892930227" />
<property role="20lmBu" value="fLJjDmT/aggregation" />
<property role="20kJfa" value="comment" />
<property role="20kJfa" value="comment_old" />
<ref role="20lvS9" to="zqge:2cLqkTm6vgh" resolve="Text" />
<node concept="asaX9" id="5gfdDUfN4cF" role="lGtFl">
<property role="YLQ7P" value="The link was moved to concept &quot;org.mpsqa.arch.structure.ICommentable&quot;" />
</node>
</node>
<node concept="PrWs8" id="6MUZd5UjGNX" role="PrDN$">
<ref role="PrY4T" to="tpck:h0TrEE$" resolve="INamedConcept" />
</node>
<node concept="PrWs8" id="5gfdDUfN3cP" role="PrDN$">
<ref role="PrY4T" node="5gfdDUfN3cO" resolve="ICommentable" />
</node>
</node>
<node concept="1TIwiD" id="fm3v0WWntE">
<property role="EcuMT" value="276423752595634026" />
Expand Down Expand Up @@ -277,5 +295,15 @@
<property role="R4oN_" value="a dependency which is forbidden" />
<ref role="1TJDcQ" node="6MUZd5Uj9MQ" resolve="ComponentDependency" />
</node>
<node concept="PlHQZ" id="5gfdDUfN3cO">
<property role="EcuMT" value="6057120078481863476" />
<property role="TrG5h" value="ICommentable" />
<node concept="1TJgyj" id="5gfdDUfN4cw" role="1TKVEi">
<property role="IQ2ns" value="6057120078481867552" />
<property role="20lmBu" value="fLJjDmT/aggregation" />
<property role="20kJfa" value="comment" />
<ref role="20lvS9" to="zqge:2cLqkTm6vgh" resolve="Text" />
</node>
</node>
</model>

Loading

0 comments on commit 3aa34aa

Please sign in to comment.