Skip to content

Commit

Permalink
Merge pull request #884 from JetBrains/merge/mps20223
Browse files Browse the repository at this point in the history
Merge maintenance/mps20223 into maintenance/mps20232
  • Loading branch information
sergej-koscejev authored Jul 19, 2024
2 parents 46954bf + 0171d8d commit 6ed2598
Show file tree
Hide file tree
Showing 100 changed files with 56,342 additions and 29,458 deletions.
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,28 @@ All notable changes to this project are documented in this file.

The format 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.

## July 2024

### Fixed

- *de.itemis.mps.editor.diagram*: Preserving the port order works the same way as before to avoid layouting issues. The clear layout style attribute now works properly.

### Added

- *de.itemis.mps.editor.diagram*: ELK layout attributes on the box, edge and label level are now also supported.

## June 2024

### Added

- *de.itemis.mps.editor.celllayout.styles*: A new style sheet item *full-width-root* was added that can make the root cell of the editor occupy the full editor width. That means that, for example, horizontal lines with a push/grow style will extend to the full editor width as well as all other cells with the same style.

### Fixed

- *de.itemis.mps.editor.diagram.runtime*: Diagrams can now be used in an headless environment (e.g. for rendering documentation).
- *de.slisson.mps.editor.multiline.runtime*: A bug was fixed where the multiline cell got a wrong background color set.
- *de.itemis.mps.editor.diagram.runtime*: The dependency to *de.q60.mps.collections.libs* was removed.
- *de.itemis.mps.editor.diagram*: Various improvements to diagrams were made. (see: [PR #866](https://github.com/JetBrains/MPS-extensions/pull/866) )

## May 2024

Expand Down
70 changes: 39 additions & 31 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
plugins {
id 'de.itemis.mps.gradle.common' version '1.27.0.+'
id 'de.itemis.mps.gradle.common' version '1.28.0.+'
id "com.github.breadmoirai.github-release" version "2.5.2"
id 'maven-publish'
id 'base'
Expand All @@ -8,6 +8,7 @@ plugins {

import de.itemis.mps.gradle.*
import de.itemis.mps.gradle.tasks.MpsMigrate
import de.itemis.mps.gradle.tasks.Remigrate
import de.itemis.mps.gradle.downloadJBR.DownloadJbrForPlatform
import groovy.xml.XmlSlurper

Expand Down Expand Up @@ -169,6 +170,11 @@ configurations {
exclude(group: 'com.google.guava')
attributes.attribute(Attribute.of('org.gradle.jvm.environment', String), 'standard-jvm')
}
batik {
exclude(group: 'xml-apis')
exclude(group: 'commons-io')
exclude(group: 'commons-logging')
}
}

dependencies {
Expand All @@ -189,6 +195,9 @@ dependencies {
diagram_lib ("org.eclipse.emf:org.eclipse.emf.common:2.30.0")
diagram_lib ("org.eclipse.emf:org.eclipse.emf.ecore:2.36.0")
diagram_lib ("org.eclipse.emf:org.eclipse.emf.ecore.xmi:2.37.0")

batik ("org.apache.xmlgraphics:batik-svggen:1.17")
batik ("org.apache.xmlgraphics:batik-dom:1.17")
}


Expand Down Expand Up @@ -252,8 +261,25 @@ task resolved_diagram_dependencies(type: Copy) {
}
}

task resolved_batik_dependencies(type: Sync) {
from configurations.batik
into file('code/batik/solutions/lib')

// Strip version numbers from file names
rename { filename ->
def ra = configurations.batik.resolvedConfiguration.resolvedArtifacts.find { ResolvedArtifact ra -> ra.file.name == filename }
String finalName
if (ra.classifier != null) {
finalName = "${ra.name}-${ra.classifier}.${ra.extension}"
} else {
finalName = "${ra.name}.${ra.extension}"
}
return finalName
}
}

tasks.register('build_allScripts', BuildLanguages) {
dependsOn 'downloadJbr', resolveMps, copyModelApi, resolved_diagram_dependencies
dependsOn 'downloadJbr', resolveMps, copyModelApi, resolved_diagram_dependencies, resolved_batik_dependencies
script "$rootDir/scripts/build.xml"
}

Expand Down Expand Up @@ -499,12 +525,12 @@ def usedPluginRoots = [
new File(mpsHomeDir, 'plugins/mps-tooltips'),
new File(mpsHomeDir, 'plugins/mps-vcs'),
new File(mpsHomeDir, 'plugins/mps-git4idea'),
new File(mpsHomeDir, 'plugins/mps-httpsupport'),
]

tasks.register('migrate', MpsMigrate) {
dependsOn(resolveMps, 'downloadJbr', 'build_languages', 'build_tests')
javaExecutable = layout.file(
tasks.named('downloadJbr', DownloadJbrForPlatform).map { it.javaExecutable })
javaLauncher = tasks.named('downloadJbr', DownloadJbrForPlatform).flatMap { it.javaLauncher }

haltOnPrecheckFailure = true
haltOnDependencyError = true
Expand All @@ -518,37 +544,19 @@ tasks.register('migrate', MpsMigrate) {
maxHeapSize = '4G'
}


tasks.register('rerunMigrations', JavaExec) {
tasks.register('remigrate', Remigrate) {
mustRunAfter('migrate')
mustRunAfter('build_languages', 'build_tests')

dependsOn(resolveMps, 'downloadJbr')
mpsBackendLauncher.builder()
.withMpsHome(mpsHomeDir)
.withJavaExecutable(tasks.named('downloadJbr', DownloadJbrForPlatform).map { it.javaExecutable.path })
.configure(it)

classpath(fileTree(mpsHomeDir) {
include("lib/**/*.jar")
})
classpath(configurations.rerunMigrationsBackend)
mainClass = 'de.itemis.mps.gradle.migrate.MainKt'

args("--project=${file('code')}")

// rerun-migrations needs its own jar added as a plugin
argumentProviders.add(new CommandLineArgumentProvider() {
@Override
Iterable<String> asArguments() {
def config = configurations.rerunMigrationsBackend

["--plugin=de.itemis.mps.buildbackends.rerun-migrations::" +
configurations.rerunMigrationsBackend.files(config.dependencies.first()).first()]
}
})

args(usedPluginRoots.collect { "--plugin-root=$it".toString() })
javaLauncher = tasks.named('downloadJbr', DownloadJbrForPlatform).flatMap { it.javaLauncher }

mpsHome = mpsHomeDir
projectDirectories.from('code')
pluginRoots.from(usedPluginRoots)
maxHeapSize = '4G'

maxHeapSize = "4G"
// diagram migration from version 0 is currently not rerunnable, although it claims to be
excludeModuleMigration("de.itemis.mps.editor.diagram", 0)
}
1 change: 1 addition & 0 deletions code/.mps/modules.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
<component name="MPSProject">
<projectModules>
<modulePath path="$PROJECT_DIR$/apache-commons/solutions/org.apache.commons/org.apache.commons.msd" folder="apache-commons" />
<modulePath path="$PROJECT_DIR$/batik/solutions/de.itemis.stubs.batik.msd" folder="" />
<modulePath path="$PROJECT_DIR$/blutil/languages/com.mbeddr.mpsutil.blutil.genutil/com.mbeddr.mpsutil.blutil.genutil.mpl" folder="blutil" />
<modulePath path="$PROJECT_DIR$/blutil/languages/com.mbeddr.mpsutil.blutil/blutil.mpl" folder="blutil" />
<modulePath path="$PROJECT_DIR$/blutil/languages/com.mbeddr.mpsutil.blutil/solutions/com.mbeddr.mpsutil.blutil.rt.msd" folder="blutil" />
Expand Down
1 change: 1 addition & 0 deletions code/batik/solutions/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/lib/
48 changes: 48 additions & 0 deletions code/batik/solutions/de.itemis.stubs.batik.msd
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<solution name="de.itemis.stubs.batik" uuid="563a0770-eb88-4f4f-83ed-f708776fc2fe" moduleVersion="0">
<models>
<modelRoot type="java_classes" contentPath="${module}/lib">
<sourceRoot location="batik-awt-util.jar" />
<sourceRoot location="batik-constants.jar" />
<sourceRoot location="batik-css.jar" />
<sourceRoot location="batik-dom.jar" />
<sourceRoot location="batik-ext.jar" />
<sourceRoot location="batik-i18n.jar" />
<sourceRoot location="batik-shared-resources.jar" />
<sourceRoot location="batik-svggen.jar" />
<sourceRoot location="batik-util.jar" />
<sourceRoot location="batik-xml.jar" />
<sourceRoot location="xmlgraphics-commons.jar" />
</modelRoot>
</models>
<facets>
<facet compile="mps" classes="mps" ext="no" type="java">
<classes generated="true" path="${module}/classes_gen" />
<library location="${module}/lib/batik-awt-util.jar" />
<library location="${module}/lib/batik-constants.jar" />
<library location="${module}/lib/batik-css.jar" />
<library location="${module}/lib/batik-dom.jar" />
<library location="${module}/lib/batik-ext.jar" />
<library location="${module}/lib/batik-i18n.jar" />
<library location="${module}/lib/batik-shared-resources.jar" />
<library location="${module}/lib/batik-svggen.jar" />
<library location="${module}/lib/batik-util.jar" />
<library location="${module}/lib/batik-xml.jar" />
<library location="${module}/lib/xmlgraphics-commons.jar" />
</facet>
</facets>
<dependencies>
<dependency reexport="false">6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)</dependency>
</dependencies>
<languageVersions>
<language slang="l:f3061a53-9226-4cc5-a443-f952ceaf5816:jetbrains.mps.baseLanguage" version="12" />
<language slang="l:f2801650-65d5-424e-bb1b-463a8781b786:jetbrains.mps.baseLanguage.javadoc" version="2" />
<language slang="l:ceab5195-25ea-4f22-9b92-103b95ca8c0c:jetbrains.mps.lang.core" version="2" />
<language slang="l:9ded098b-ad6a-4657-bfd9-48636cfe8bc3:jetbrains.mps.lang.traceable" version="0" />
</languageVersions>
<dependencyVersions>
<module reference="6354ebe7-c22a-4a0f-ac54-50b52ab9b065(JDK)" version="0" />
<module reference="563a0770-eb88-4f4f-83ed-f708776fc2fe(de.itemis.stubs.batik)" version="0" />
</dependencyVersions>
</solution>

Loading

0 comments on commit 6ed2598

Please sign in to comment.