Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a simple tool to list dependencies used in the project in a file #704

Merged
merged 9 commits into from
Dec 12, 2023
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,6 @@ scripts/.mps-caches

# Generated during the build
/kotlin-js-store/

# Generated by statistics plugin
code/dependencies.txt
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@ All notable changes to this project are documented in this file.
Format of the log is _loosely_ based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
The project does _not_ follow Semantic Versioning and the changes are documented in reverse chronological order, grouped by calendar month.

## December 2023
## Dezember 2023

### Added

- A new language `de.itemis.mps.statistics` was added that adds a new menu `MPS Statistics` to the `Tools` menu. The containing action writes a file `dependencies.txt` to the root folder. It contains all the used dependencies of the current project.
- de.slisson.mps.tables: tables now support a new property `column UI actions (experimental)`: This property adds actions to the MPS toolbar to add a new column above/below the current column or to delete the current column. These actions only work for simple tables that are based on rows (default: *false*).

## November 2023
Expand Down
1 change: 1 addition & 0 deletions code/.mps/modules.xml
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,7 @@
<modulePath path="$PROJECT_DIR$/solutions/de.itemis.model.merge.simple.demo/de.itemis.model.merge.simple.demo.msd" folder="modelmerger2" />
<modulePath path="$PROJECT_DIR$/solutions/de.itemis.model.merge.test.integration/de.itemis.model.merge.test.integration.msd" folder="modelmerger2" />
<modulePath path="$PROJECT_DIR$/solutions/de.itemis.model.merge.test/de.itemis.model.merge.test.msd" folder="modelmerger2" />
<modulePath path="$PROJECT_DIR$/statistics/de.itemis.mps.statistics.mpl" folder="statistics" />
<modulePath path="$PROJECT_DIR$/structurecheck/languages/de.slisson.mps.structurecheck/de.slisson.mps.structurecheck.mpl" folder="structurecheck" />
<modulePath path="$PROJECT_DIR$/structurecheck/solutions/de.slisson.mps.structurecheck.runtime/de.slisson.mps.structurecheck.runtime.msd" folder="structurecheck" />
<modulePath path="$PROJECT_DIR$/structurecheck/solutions/de.slisson.mps.structurecheck.sandbox/de.slisson.mps.structurecheck.sandbox.msd" folder="structurecheck" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13800,6 +13800,106 @@
</node>
</node>
</node>
<node concept="2G$12M" id="4bHoaiHvgTl" role="3989C9">
<property role="TrG5h" value="group.de.itemis.mps.statistics" />
<node concept="1E1JtD" id="4bHoaiHviN7" role="2G$12L">
<property role="BnDLt" value="true" />
<property role="TrG5h" value="de.itemis.mps.statistics" />
<property role="3LESm3" value="72570c50-58ae-43ff-a0b7-71d2b3908271" />
<node concept="398BVA" id="4bHoaiHvjIf" role="3LF7KH">
<ref role="398BVh" node="2fo8bJE$D4t" resolve="extensions.code" />
<node concept="2Ry0Ak" id="4bHoaiHvkfb" role="iGT6I">
<property role="2Ry0Am" value="statistics" />
<node concept="2Ry0Ak" id="4bHoaiHvkso" role="2Ry0An">
<property role="2Ry0Am" value="de.itemis.mps.statistics.mpl" />
</node>
</node>
</node>
<node concept="1SiIV0" id="4bHoaiHvl1t" role="3bR37C">
<node concept="3bR9La" id="4bHoaiHvl1u" role="1SiIV1">
<ref role="3bR37D" to="ffeo:1TaHNgiIbJb" resolve="MPS.Platform" />
</node>
</node>
<node concept="1BupzO" id="4bHoaiHvl1A" role="3bR31x">
<property role="3ZfqAx" value="models" />
<property role="1Hdu6h" value="true" />
<property role="1HemKv" value="true" />
<node concept="3LXTmp" id="4bHoaiHvl1B" role="1HemKq">
<node concept="398BVA" id="4bHoaiHvl1v" role="3LXTmr">
<ref role="398BVh" node="2fo8bJE$D4t" resolve="extensions.code" />
<node concept="2Ry0Ak" id="4bHoaiHvl1w" role="iGT6I">
<property role="2Ry0Am" value="statistics" />
<node concept="2Ry0Ak" id="4bHoaiHvl1x" role="2Ry0An">
<property role="2Ry0Am" value="models" />
</node>
</node>
</node>
<node concept="3qWCbU" id="4bHoaiHvl1C" role="3LXTna">
<property role="3qWCbO" value="**/*.mps, **/*.mpsr, **/.model" />
</node>
</node>
</node>
<node concept="1yeLz9" id="4bHoaiHvl1D" role="1TViLv">
<property role="TrG5h" value="de.itemis.mps.statistics.generator" />
<property role="3LESm3" value="6da50d99-f028-49bf-8b4c-bdb71ec99406" />
<node concept="1BupzO" id="4bHoaiHvl1N" role="3bR31x">
<property role="3ZfqAx" value="generator/templates" />
<property role="1Hdu6h" value="true" />
<property role="1HemKv" value="true" />
<node concept="3LXTmp" id="4bHoaiHvl1O" role="1HemKq">
<node concept="398BVA" id="4bHoaiHvl1E" role="3LXTmr">
<ref role="398BVh" node="2fo8bJE$D4t" resolve="extensions.code" />
<node concept="2Ry0Ak" id="4bHoaiHvl1F" role="iGT6I">
<property role="2Ry0Am" value="statistics" />
<node concept="2Ry0Ak" id="4bHoaiHvl1G" role="2Ry0An">
<property role="2Ry0Am" value="generator" />
<node concept="2Ry0Ak" id="4bHoaiHvl1H" role="2Ry0An">
<property role="2Ry0Am" value="templates" />
</node>
</node>
</node>
</node>
<node concept="3qWCbU" id="4bHoaiHvl1P" role="3LXTna">
<property role="3qWCbO" value="**/*.mps, **/*.mpsr, **/.model" />
</node>
</node>
</node>
</node>
</node>
</node>
<node concept="m$_wf" id="4bHoaiHvmsq" role="3989C9">
<property role="m$_wk" value="de.itemis.mps.statistics" />
<node concept="3_J27D" id="4bHoaiHvmss" role="m$_yQ">
<node concept="3Mxwew" id="4bHoaiHvo31" role="3MwsjC">
<property role="3MwjfP" value="MPS language dependency information" />
</node>
</node>
<node concept="3_J27D" id="4bHoaiHvmsu" role="m_cZH">
<node concept="3Mxwew" id="4bHoaiHvo33" role="3MwsjC">
<property role="3MwjfP" value="de.itemis.mps.statistics" />
</node>
</node>
<node concept="3_J27D" id="4bHoaiHvmsw" role="m$_w8">
<node concept="3Mxwey" id="4bHoaiHvomR" role="3MwsjC">
<ref role="3Mxwex" node="4MKCCgA1ncQ" resolve="versionNumber" />
</node>
</node>
<node concept="3_J27D" id="4bHoaiHvo9D" role="3s6cr7">
<node concept="3Mxwew" id="4bHoaiHvogh" role="3MwsjC">
<property role="3MwjfP" value="List used MPS dependencies in a txt file" />
</node>
</node>
<node concept="2iUeEo" id="4bHoaiHvoE_" role="2iVFfd">
<property role="2iUeEt" value="itemis AG" />
<property role="2iUeEu" value="https://www.itemis.com/en/it-services/methods-and-tools/mps" />
</node>
<node concept="m$f5U" id="4bHoaiHvpbr" role="m$_yh">
<ref role="m$f5T" node="4bHoaiHvgTl" resolve="group.de.itemis.mps.statistics" />
</node>
<node concept="m$_yC" id="4bHoaiHvqQ$" role="m$_yJ">
<ref role="m$_y1" to="ffeo:4k71ibbKLe8" resolve="jetbrains.mps.core" />
</node>
</node>
<node concept="2G$12M" id="2jlBy7bQlGk" role="3989C9">
<property role="TrG5h" value="group.treenotation" />
<node concept="1E1JtA" id="2jlBy7bQp6P" role="2G$12L">
Expand Down Expand Up @@ -14566,6 +14666,10 @@
<ref role="m_rDy" node="6lSuB9eYUwh" resolve="de.itemis.mps.editor.pagination" />
<node concept="pUk6x" id="6lSuB9eYZaj" role="pUk7w" />
</node>
<node concept="m$_wl" id="4bHoaiHvro9" role="39821P">
<ref role="m_rDy" node="4bHoaiHvmsq" resolve="de.itemis.mps.statistics" />
<node concept="pUk6x" id="4bHoaiHvrBL" role="pUk7w" />
</node>
</node>
</node>
<node concept="1l3spW" id="6$6tsX_CERA">
Expand Down
114 changes: 114 additions & 0 deletions code/statistics/de.itemis.mps.statistics.mpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
<?xml version="1.0" encoding="UTF-8"?>
<language namespace="de.itemis.mps.statistics" uuid="72570c50-58ae-43ff-a0b7-71d2b3908271" languageVersion="0" moduleVersion="0">
<models>
<modelRoot contentPath="${module}" type="default">
<sourceRoot location="models" />
</modelRoot>
</models>
<facets>
<facet type="java">
<classes generated="true" path="${module}/classes_gen" />
</facet>
</facets>
<accessoryModels />
<generators>
<generator alias="main" namespace="de.itemis.mps.statistics.generator" uuid="6da50d99-f028-49bf-8b4c-bdb71ec99406">
<models>
<modelRoot contentPath="${module}/generator" type="default">
<sourceRoot location="templates" />
</modelRoot>
</models>
<facets>
<facet type="java">
<classes generated="true" path="${module}/generator/classes_gen" />
</facet>
</facets>
<external-templates />
<languageVersions>
<language slang="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" version="12" />
<language slang="l:fd392034-7849-419d-9071-12563d152375:jetbrains.mps.baseLanguage.closures" version="0" />
<language slang="l:83888646-71ce-4f1c-9c53-c54016f6ad4f:jetbrains.mps.baseLanguage.collections" version="1" />
<language slang="l:f2801650-65d5-424e-bb1b-463a8781b786:jetbrains.mps.baseLanguage.javadoc" version="2" />
<language slang="l:760a0a8c-eabb-4521-8bfd-65db761a9ba3:jetbrains.mps.baseLanguage.logging" version="0" />
<language slang="l:a247e09e-2435-45ba-b8d2-07e93feba96a:jetbrains.mps.baseLanguage.tuples" version="0" />
<language slang="l:ceab5195-25ea-4f22-9b92-103b95ca8c0c:jetbrains.mps.lang.core" version="2" />
<language slang="l:b401a680-8325-4110-8fd3-84331ff25bef:jetbrains.mps.lang.generator" version="4" />
<language slang="l:d7706f63-9be2-479c-a3da-ae92af1e64d5:jetbrains.mps.lang.generator.generationContext" version="2" />
<language slang="l:289fcc83-6543-41e8-a5ca-768235715ce4:jetbrains.mps.lang.generator.generationParameters" version="0" />
<language slang="l:446c26eb-2b7b-4bf0-9b35-f83fa582753e:jetbrains.mps.lang.modelapi" version="0" />
<language slang="l:3a13115c-633c-4c5c-bbcc-75c4219e9555:jetbrains.mps.lang.quotation" version="5" />
<language slang="l:13744753-c81f-424a-9c1b-cf8943bf4e86:jetbrains.mps.lang.sharedConcepts" version="0" />
<language slang="l:7866978e-a0f0-4cc7-81bc-4d213d9375e1:jetbrains.mps.lang.smodel" version="19" />
<language slang="l:c7fb639f-be78-4307-89b0-b5959c3fa8c8:jetbrains.mps.lang.text" version="0" />
<language slang="l:9ded098b-ad6a-4657-bfd9-48636cfe8bc3:jetbrains.mps.lang.traceable" version="0" />
</languageVersions>
<dependencyVersions>
<module reference="3f233e7f-b8a6-46d2-a57f-795d56775243(Annotations)" version="0" />
<module reference="6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)" version="0" />
<module reference="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea(MPS.Core)" version="0" />
<module reference="8865b7a8-5271-43d3-884c-6fd1d9cfdd34(MPS.OpenAPI)" version="0" />
<module reference="72570c50-58ae-43ff-a0b7-71d2b3908271(de.itemis.mps.statistics)" version="0" />
<module reference="6da50d99-f028-49bf-8b4c-bdb71ec99406(de.itemis.mps.statistics.generator)" version="0" />
<module reference="ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)" version="0" />
</dependencyVersions>
<mapping-priorities />
</generator>
</generators>
<sourcePath />
<dependencies>
<dependency reexport="false">742f6602-5a2f-4313-aa6e-ae1cd4ffdc61(MPS.Platform)</dependency>
</dependencies>
<languageVersions>
<language slang="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" version="12" />
<language slang="l:443f4c36-fcf5-4eb6-9500-8d06ed259e3e:jetbrains.mps.baseLanguage.classifiers" version="0" />
<language slang="l:fd392034-7849-419d-9071-12563d152375:jetbrains.mps.baseLanguage.closures" version="0" />
<language slang="l:83888646-71ce-4f1c-9c53-c54016f6ad4f:jetbrains.mps.baseLanguage.collections" version="1" />
<language slang="l:f2801650-65d5-424e-bb1b-463a8781b786:jetbrains.mps.baseLanguage.javadoc" version="2" />
<language slang="l:760a0a8c-eabb-4521-8bfd-65db761a9ba3:jetbrains.mps.baseLanguage.logging" version="0" />
<language slang="l:a247e09e-2435-45ba-b8d2-07e93feba96a:jetbrains.mps.baseLanguage.tuples" version="0" />
<language slang="l:aee9cad2-acd4-4608-aef2-0004f6a1cdbd:jetbrains.mps.lang.actions" version="4" />
<language slang="l:f159adf4-3c93-40f9-9c5a-1f245a8697af:jetbrains.mps.lang.aspect" version="2" />
<language slang="l:af65afd8-f0dd-4942-87d9-63a55f2a9db1:jetbrains.mps.lang.behavior" version="2" />
<language slang="l:3f4bc5f5-c6c1-4a28-8b10-c83066ffa4a1:jetbrains.mps.lang.constraints" version="6" />
<language slang="l:e51810c5-7308-4642-bcb6-469e61b5dd18:jetbrains.mps.lang.constraints.msg.specification" version="0" />
<language slang="l:47257bf3-78d3-470b-89d9-8c3261a61d15:jetbrains.mps.lang.constraints.rules" version="0" />
<language slang="l:5dae8159-ab99-46bb-a40d-0cee30ee7018:jetbrains.mps.lang.constraints.rules.kinds" version="0" />
<language slang="l:134c38d4-e3af-4d9e-b069-1c7df0a4005d:jetbrains.mps.lang.constraints.rules.skeleton" version="0" />
<language slang="l:3ad5badc-1d9c-461c-b7b1-fa2fcd0a0ae7:jetbrains.mps.lang.context" version="0" />
<language slang="l:ea3159bf-f48e-4720-bde2-86dba75f0d34:jetbrains.mps.lang.context.defs" version="0" />
<language slang="l:ceab5195-25ea-4f22-9b92-103b95ca8c0c:jetbrains.mps.lang.core" version="2" />
<language slang="l:f4ad079d-bc71-4ffb-9600-9328705cf998:jetbrains.mps.lang.descriptor" version="0" />
<language slang="l:18bc6592-03a6-4e29-a83a-7ff23bde13ba:jetbrains.mps.lang.editor" version="14" />
<language slang="l:ad93155d-79b2-4759-b10c-55123e763903:jetbrains.mps.lang.messages" version="0" />
<language slang="l:446c26eb-2b7b-4bf0-9b35-f83fa582753e:jetbrains.mps.lang.modelapi" version="0" />
<language slang="l:d4615e3b-d671-4ba9-af01-2b78369b0ba7:jetbrains.mps.lang.pattern" version="2" />
<language slang="l:28f9e497-3b42-4291-aeba-0a1039153ab1:jetbrains.mps.lang.plugin" version="5" />
<language slang="l:ef7bf5ac-d06c-4342-b11d-e42104eb9343:jetbrains.mps.lang.plugin.standalone" version="0" />
<language slang="l:3a13115c-633c-4c5c-bbcc-75c4219e9555:jetbrains.mps.lang.quotation" version="5" />
<language slang="l:982eb8df-2c96-4bd7-9963-11712ea622e5:jetbrains.mps.lang.resources" version="2" />
<language slang="l:b3551702-269c-4f05-ba61-58060cef4292:jetbrains.mps.lang.rulesAndMessages" version="0" />
<language slang="l:d8f591ec-4d86-4af2-9f92-a9e93c803ffa:jetbrains.mps.lang.scopes" version="0" />
<language slang="l:13744753-c81f-424a-9c1b-cf8943bf4e86:jetbrains.mps.lang.sharedConcepts" version="0" />
<language slang="l:7866978e-a0f0-4cc7-81bc-4d213d9375e1:jetbrains.mps.lang.smodel" version="19" />
<language slang="l:c72da2b9-7cce-4447-8389-f407dc1158b7:jetbrains.mps.lang.structure" version="9" />
<language slang="l:c7fb639f-be78-4307-89b0-b5959c3fa8c8:jetbrains.mps.lang.text" version="0" />
<language slang="l:9ded098b-ad6a-4657-bfd9-48636cfe8bc3:jetbrains.mps.lang.traceable" version="0" />
<language slang="l:7a5dda62-9140-4668-ab76-d5ed1746f2b2:jetbrains.mps.lang.typesystem" version="5" />
<language slang="l:c9d137c4-3259-44f8-80ff-33ab2b506ee4:jetbrains.mps.lang.util.order" version="0" />
<language slang="l:696c1165-4a59-463b-bc5d-902caab85dd0:jetbrains.mps.make.facet" version="0" />
</languageVersions>
<dependencyVersions>
<module reference="3f233e7f-b8a6-46d2-a57f-795d56775243(Annotations)" version="0" />
<module reference="6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)" version="0" />
<module reference="6ed54515-acc8-4d1e-a16c-9fd6cfe951ea(MPS.Core)" version="0" />
<module reference="1ed103c3-3aa6-49b7-9c21-6765ee11f224(MPS.Editor)" version="0" />
<module reference="498d89d2-c2e9-11e2-ad49-6cf049e62fe5(MPS.IDEA)" version="0" />
<module reference="8865b7a8-5271-43d3-884c-6fd1d9cfdd34(MPS.OpenAPI)" version="0" />
<module reference="742f6602-5a2f-4313-aa6e-ae1cd4ffdc61(MPS.Platform)" version="0" />
<module reference="72570c50-58ae-43ff-a0b7-71d2b3908271(de.itemis.mps.statistics)" version="0" />
<module reference="ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)" version="0" />
<module reference="a9e4c532-c5f5-4bb7-99ef-42abb73bbb70(jetbrains.mps.lang.descriptor.aspects)" version="0" />
</dependencyVersions>
<extendedLanguages />
</language>

24 changes: 24 additions & 0 deletions ...statistics/generator/templates/[email protected]
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<model ref="r:4d1807ec-dae7-4b22-a4f5-b2ea8260b47f(de.itemis.mps.statistics.generator.templates@generator)">
<persistence version="9" />
<languages>
<devkit ref="a2eb3a43-fcc2-4200-80dc-c60110c4862d(jetbrains.mps.devkit.templates)" />
</languages>
<imports>
<import index="h45r" ref="r:efd1ffdb-47aa-4326-b09f-33ddd6d4726f(de.itemis.mps.statistics.structure)" />
</imports>
<registry>
<language id="b401a680-8325-4110-8fd3-84331ff25bef" name="jetbrains.mps.lang.generator">
<concept id="1095416546421" name="jetbrains.mps.lang.generator.structure.MappingConfiguration" flags="ig" index="bUwia" />
</language>
<language id="ceab5195-25ea-4f22-9b92-103b95ca8c0c" name="jetbrains.mps.lang.core">
<concept id="1169194658468" name="jetbrains.mps.lang.core.structure.INamedConcept" flags="ng" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
</language>
</registry>
<node concept="bUwia" id="5Mtf2XriAiQ">
<property role="TrG5h" value="main" />
</node>
</model>

12 changes: 12 additions & 0 deletions code/statistics/models/de.itemis.mps.statistics.behavior.mps
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<model ref="r:5040915b-5b25-4a70-b0b0-4a7c77383988(de.itemis.mps.statistics.behavior)">
<persistence version="9" />
<languages>
<use id="7866978e-a0f0-4cc7-81bc-4d213d9375e1" name="jetbrains.mps.lang.smodel" version="19" />
<use id="af65afd8-f0dd-4942-87d9-63a55f2a9db1" name="jetbrains.mps.lang.behavior" version="2" />
<devkit ref="fbc25dd2-5da4-483a-8b19-70928e1b62d7(jetbrains.mps.devkit.general-purpose)" />
</languages>
<imports />
<registry />
</model>

19 changes: 19 additions & 0 deletions code/statistics/models/de.itemis.mps.statistics.constraints.mps
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<model ref="r:d4991840-2dae-4645-bc76-8372b4005cb5(de.itemis.mps.statistics.constraints)">
<persistence version="9" />
<languages>
<use id="5dae8159-ab99-46bb-a40d-0cee30ee7018" name="jetbrains.mps.lang.constraints.rules.kinds" version="0" />
<use id="ea3159bf-f48e-4720-bde2-86dba75f0d34" name="jetbrains.mps.lang.context.defs" version="0" />
<use id="e51810c5-7308-4642-bcb6-469e61b5dd18" name="jetbrains.mps.lang.constraints.msg.specification" version="0" />
<use id="134c38d4-e3af-4d9e-b069-1c7df0a4005d" name="jetbrains.mps.lang.constraints.rules.skeleton" version="0" />
<use id="b3551702-269c-4f05-ba61-58060cef4292" name="jetbrains.mps.lang.rulesAndMessages" version="0" />
<use id="3f4bc5f5-c6c1-4a28-8b10-c83066ffa4a1" name="jetbrains.mps.lang.constraints" version="6" />
<use id="13744753-c81f-424a-9c1b-cf8943bf4e86" name="jetbrains.mps.lang.sharedConcepts" version="0" />
<use id="3ad5badc-1d9c-461c-b7b1-fa2fcd0a0ae7" name="jetbrains.mps.lang.context" version="0" />
<use id="ad93155d-79b2-4759-b10c-55123e763903" name="jetbrains.mps.lang.messages" version="0" />
<devkit ref="00000000-0000-4000-0000-5604ebd4f22c(jetbrains.mps.devkit.aspect.constraints)" />
</languages>
<imports />
<registry />
</model>

Loading