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

Merge maintenance/MPS-2023.2 into master #114

Open
wants to merge 12 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 37 additions & 3 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,13 @@ on:
publish:
description: Whether to publish the build result to Maven repositories
type: boolean
default: false
default: 'false'
required: false

publish_rcp:
description: Whether to publish the RCP to Github packages
type: boolean
default: 'false'
required: true
jobs:
build:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -72,7 +76,7 @@ jobs:

publish:
# Only publish on push (to maintenance or master) or on dispatch if requested
if: github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && inputs.publish == 'true')
if: ${{ github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && inputs.publish == 'true') }}

runs-on: ubuntu-latest
steps:
Expand All @@ -94,3 +98,33 @@ jobs:
-Pgpr.token=${{ secrets.GITHUB_TOKEN }} \
-Partifacts.itemis.cloud.user=${{ secrets.ARTIFACTS_ITEMIS_CLOUD_USER }} \
-Partifacts.itemis.cloud.pw=${{ secrets.ARTIFACTS_ITEMIS_CLOUD_PW }}

publish_rcps:
# Only publish on push (to maintenance or master) or on dispatch if requested
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.publish_rcp == 'true' }}

runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17

- name: Set up Gradle
uses: gradle/actions/setup-gradle@v3

- name: Publish FASTEN-Windows RCP to Github Packages
run: |
./gradlew publishFASTEN_WIN_RCPPublicationToGitHubPackagesRepository \
-Pgpr.user=${{ github.actor }} \
-Pgpr.token=${{ secrets.GITHUB_TOKEN }} \

- name: Publish FASTEN-Linux RCPs to Github Packages
run: |
./gradlew publishFASTEN_LINUX_RCPPublicationToGitHubPackagesRepository \
-Pgpr.user=${{ github.actor }} \
-Pgpr.token=${{ secrets.GITHUB_TOKEN }} \

61 changes: 51 additions & 10 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ plugins {
}

val jbrVers = "17.0.8.1-b1000.32"
val jbrWindowsVers = "jbr_jcef-17.0.8.1-windows-x64-b1000.32"

downloadJbr {
jbrVersion = jbrVers
Expand Down Expand Up @@ -83,6 +84,7 @@ configurations {
val jbrWin by creating
val jbrMac by creating
val jbrLinux by creating
val docx4j by creating

dependencies {
mps("com.jetbrains:mps:$mpsVersion")
Expand All @@ -92,6 +94,8 @@ configurations {
jbrWin("com.jetbrains.jdk:jbr_jcef:$jbrVers:windows-x64@tgz")
jbrMac("com.jetbrains.jdk:jbr_jcef:$jbrVers:osx-x64@tgz")
jbrLinux("com.jetbrains.jdk:jbr_jcef:$jbrVers:linux-x64@tgz")
docx4j("org.docx4j:docx4j-diffx:11.4.11")
docx4j("org.docx4j:docx4j-JAXB-MOXy:11.4.11")
}
}

Expand Down Expand Up @@ -171,12 +175,20 @@ tasks {
}
}


val resolveLanguageLibs by registering(Copy::class) {
dependsOn(configureJava)
from({ configurations["languageLibs"].resolve().map(::zipTree) })
into(dependenciesDir)
}

val resolveDocx4j by registering(Sync::class) {
duplicatesStrategy = DuplicatesStrategy.INCLUDE
dependsOn(configureJava)
from({ configurations["docx4j"].resolve() })
into("code/languages/com.mpsbasics/solutions/com.mpsbasics.docx4j.lib/lib")
}

// "com.fasten.safety.rcp.pluginSolution" makes use of the mbeddr actionsfilter plugin.
// The "actionsfilter" plugin and dependencies must be copied to "MPS\plugins" folder in order to load properly.
val copy_mbeddr_actionsfilter by registering {
Expand Down Expand Up @@ -205,7 +217,7 @@ tasks {
fun scriptFile(name: String): Provider<RegularFile> = layout.buildDirectory.file("scripts/$name")

val build_allScripts_unpatched by registering(BuildLanguages::class) {
dependsOn(resolveMps, resolveLanguageLibs)
dependsOn(resolveMps, resolveLanguageLibs,resolveDocx4j)
script = scriptFile("build_all_scripts.xml")
}

Expand Down Expand Up @@ -363,21 +375,40 @@ tasks {

val deleteJBR by registering(Delete::class) {
dependsOn(unpackDistribution)
delete("$artifactsDir/com.mbeddr.formal.safetyDistribution/tmp/fasten-${version}/jbr")
delete("$artifactsDir/com.mbeddr.formal.safetyDistribution/tmp/fasten-${version}/jbr/")
}

val fix_JNA_for_Windows by registering(Copy::class) {
dependsOn(unpackDistribution)
from("$artifactsDir/com.mbeddr.formal.safetyDistribution/tmp/fasten-${version}/lib/jna/amd64/")
into("$artifactsDir/com.mbeddr.formal.safetyDistribution/tmp/fasten-${version}/lib/jna/")
}

val fix_BIN_for_Windows by registering(Copy::class) {
dependsOn(unpackDistribution)
from("$artifactsDir/com.mbeddr.formal.safetyDistribution/tmp/fasten-${version}/bin/win/")
into("$artifactsDir/com.mbeddr.formal.safetyDistribution/tmp/fasten-${version}/bin/")
}

val removeJBR by registering(Zip::class) {
dependsOn(deleteJBR)
from("$artifactsDir/com.mbeddr.formal.safetyDistribution/tmp/fasten-${version}")
archiveFileName.set("fasten-${version}_with_removed_JBR.zip")
destinationDirectory.set(file("$artifactsDir/com.mbeddr.formal.safetyDistribution"))
val unpack_windows_JBR by registering(Copy::class) {
dependsOn(resolveJBR_Win, deleteJBR, fix_JNA_for_Windows, fix_BIN_for_Windows)
from(tarTree("$jdkDir/jbr_jcef-windows-x64.tgz"))
into("$artifactsDir/com.mbeddr.formal.safetyDistribution/tmp")
}

val package_fasten_safety_distribution_win by registering(Zip::class) {
dependsOn(resolveJBR_Win, build_fasten_safety_distribution, removeJBR)
dependsOn(resolveJBR_Win, build_fasten_safety_distribution, unpack_windows_JBR)
archiveBaseName.set("fasten-${version}-Win")
from(zipTree("$artifactsDir/com.mbeddr.formal.safetyDistribution/fasten-${version}_with_removed_JBR.zip"))
from(tarTree("$jdkDir/jbr_jcef-windows-x64.tgz"))
from("$artifactsDir/com.mbeddr.formal.safetyDistribution/tmp/fasten-${version}/")
from("$artifactsDir/com.mbeddr.formal.safetyDistribution/tmp/$jbrWindowsVers") {
into("jbr")
}
}

val package_fasten_safety_distribution_linux by registering(Zip::class) {
dependsOn(build_fasten_safety_distribution)
archiveBaseName.set("fasten-${version}-Linux")
from("$artifactsDir/com.mbeddr.formal.safetyDistribution/fasten-${version}.zip")
}

val build_all_languages by registering {
Expand Down Expand Up @@ -517,6 +548,16 @@ publishing {
}
}
}
create<MavenPublication>("FASTEN_WIN_RCP") {
groupId = "fasten"
artifactId = "win.rcp"
artifact(tasks.named("package_fasten_safety_distribution_win"))
}
create<MavenPublication>("FASTEN_LINUX_RCP") {
groupId = "fasten"
artifactId = "linux.rcp"
artifact(tasks.named("package_fasten_safety_distribution_linux"))
}
}
}

Expand Down
17 changes: 17 additions & 0 deletions code/languages/com.fasten.symo/.mps/libraries.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectLibraryManager">
<option name="libraries">
<map>
<entry key="dependencies">
<value>
<Library>
<option name="name" value="dependencies" />
<option name="path" value="${mbeddr.formal.home}/build/dependencies" />
</Library>
</value>
</entry>
</map>
</option>
</component>
</project>
3 changes: 3 additions & 0 deletions code/languages/com.fasten.symo/.mps/modules.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,11 @@
<component name="MPSProject">
<projectModules>
<modulePath path="$PROJECT_DIR$/languages/com.fasten.symo.hw/com.fasten.symo.hw.mpl" folder="" />
<modulePath path="$PROJECT_DIR$/languages/com.symo.plantuml/com.symo.plantuml.mpl" folder="plantuml" />
<modulePath path="$PROJECT_DIR$/languages/com.symo.sysml.ibd/com.symo.sysml.ibd.mpl" folder="" />
<modulePath path="$PROJECT_DIR$/solutions/com.fasten.symo.hw.sandbox/com.fasten.symo.hw.sandbox.msd" folder="" />
<modulePath path="$PROJECT_DIR$/solutions/com.symo.plantuml.lib/com.symo.plantuml.lib.msd" folder="plantuml" />
<modulePath path="$PROJECT_DIR$/solutions/com.symo.plantuml.sandbox/com.symo.plantuml.sandbox.msd" folder="plantuml" />
<modulePath path="$PROJECT_DIR$/solutions/com.symo.sysml.ibd.sandbox/com.symo.sysml.ibd.sandbox.msd" folder="" />
</projectModules>
</component>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
<?xml version="1.0" encoding="UTF-8"?>
<language namespace="com.symo.plantuml" uuid="6f31bc85-cbcc-4dcf-ada4-35da43e6832c" languageVersion="0" moduleVersion="0">
<models>
<modelRoot type="default" contentPath="${module}">
<sourceRoot location="models" />
</modelRoot>
</models>
<facets>
<facet compile="mps" classes="mps" ext="yes" type="java">
<classes generated="true" path="${module}/classes_gen" />
</facet>
</facets>
<accessoryModels />
<generators>
<generator alias="main" namespace="com.symo.plantuml.generator" uuid="a57cbb55-8fec-4326-ad52-8822ceb60e64">
<models>
<modelRoot type="default" contentPath="${module}/generator">
<sourceRoot location="templates" />
</modelRoot>
</models>
<facets>
<facet compile="mps" classes="mps" ext="no" 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="2" />
<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="6f31bc85-cbcc-4dcf-ada4-35da43e6832c(com.symo.plantuml)" version="0" />
<module reference="a57cbb55-8fec-4326-ad52-8822ceb60e64(com.symo.plantuml.generator)" version="0" />
<module reference="ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)" version="0" />
</dependencyVersions>
<mapping-priorities />
</generator>
</generators>
<dependencies>
<dependency reexport="false">377bf088-4ffc-48ac-910f-fb1c66ffa60e(com.symo.plantuml.lib)</dependency>
<dependency reexport="false">2d3c70e9-aab2-4870-8d8d-6036800e4103(jetbrains.mps.kernel)</dependency>
<dependency reexport="false">848ef45d-e560-4e35-853c-f35a64cc135c(de.itemis.mps.editor.celllayout.runtime)</dependency>
<dependency reexport="false">1ed103c3-3aa6-49b7-9c21-6765ee11f224(MPS.Editor)</dependency>
<dependency reexport="false">c7fb639f-be78-4307-89b0-b5959c3fa8c8(jetbrains.mps.lang.text)</dependency>
<dependency reexport="false">6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)</dependency>
<dependency reexport="false">5ad14eca-28d7-4bce-b8e0-648908a49062(org.apache.batik)</dependency>
<dependency reexport="false">563a0770-eb88-4f4f-83ed-f708776fc2fe(de.itemis.stubs.batik)</dependency>
</dependencies>
<languageVersions>
<language slang="l:9d69e719-78c8-4286-90db-fb19c107d049:com.mbeddr.mpsutil.grammarcells" version="2" />
<language slang="l:b4f35ed8-45af-4efa-abe4-00ac26956e69:com.mbeddr.mpsutil.grammarcells.runtimelang" version="0" />
<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="2" />
<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:63650c59-16c8-498a-99c8-005c7ee9515d:jetbrains.mps.lang.access" version="0" />
<language slang="l:aee9cad2-acd4-4608-aef2-0004f6a1cdbd:jetbrains.mps.lang.actions" version="4" />
<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: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" />
</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="6f31bc85-cbcc-4dcf-ada4-35da43e6832c(com.symo.plantuml)" version="0" />
<module reference="377bf088-4ffc-48ac-910f-fb1c66ffa60e(com.symo.plantuml.lib)" version="0" />
<module reference="848ef45d-e560-4e35-853c-f35a64cc135c(de.itemis.mps.editor.celllayout.runtime)" version="0" />
<module reference="24c96a96-b7a1-4f30-82da-0f8e279a2661(de.itemis.mps.editor.celllayout.styles)" version="0" />
<module reference="563a0770-eb88-4f4f-83ed-f708776fc2fe(de.itemis.stubs.batik)" version="0" />
<module reference="f0fff802-6d26-4d2e-b89d-391357265626(de.slisson.mps.hacks.editor)" version="0" />
<module reference="2d3c70e9-aab2-4870-8d8d-6036800e4103(jetbrains.mps.kernel)" 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" />
<module reference="c7fb639f-be78-4307-89b0-b5959c3fa8c8(jetbrains.mps.lang.text)" version="0" />
<module reference="5ad14eca-28d7-4bce-b8e0-648908a49062(org.apache.batik)" version="0" />
</dependencyVersions>
<extendedLanguages />
</language>

24 changes: 24 additions & 0 deletions ...com.symo.plantuml/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:385fc850-648f-4929-816b-d5dca6ad8506(com.symo.plantuml.generator.templates@generator)">
<persistence version="9" />
<languages>
<devkit ref="a2eb3a43-fcc2-4200-80dc-c60110c4862d(jetbrains.mps.devkit.templates)" />
</languages>
<imports>
<import index="udwj" ref="r:3cfd1ac4-92be-4123-8876-78cf444bfbcb(com.symo.plantuml.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="ngI" index="TrEIO">
<property id="1169194664001" name="name" index="TrG5h" />
</concept>
</language>
</registry>
<node concept="bUwia" id="25fKBAPJ1y7">
<property role="TrG5h" value="main" />
</node>
</model>

Loading
Loading