1
1
import de.itemis.mps.gradle.*
2
+ import de.itemis.mps.gradle.tasks.MpsMigrate
3
+ import de.itemis.mps.gradle.tasks.Remigrate
4
+ import de.itemis.mps.gradle.downloadJBR.DownloadJbrForPlatform
2
5
import groovy.xml.XmlSlurper
3
6
import java.time.LocalDate
4
7
import java.time.format.DateTimeFormatter
@@ -9,14 +12,13 @@ buildscript {
9
12
repositories {
10
13
maven { url ' https://artifacts.itemis.cloud/repository/maven-mps/' }
11
14
}
12
- dependencies {
13
- classpath ' de.itemis.mps:mps-gradle-plugin:1.23.1.412.a54f29f'
14
- }
15
15
}
16
16
17
17
plugins {
18
18
id ' base'
19
19
id ' maven-publish'
20
+ id ' de.itemis.mps.gradle.common' version ' 1.29.+'
21
+ id ' de.itemis.mps.gradle.launcher' version ' 2.5.2.+'
20
22
id " com.github.breadmoirai.github-release" version " 2.4.1"
21
23
id " org.cyclonedx.bom" version " 1.8.2"
22
24
}
@@ -125,6 +127,7 @@ wrapper {
125
127
126
128
configurations {
127
129
mps
130
+ rerunMigrationsBackend
128
131
languageLibs
129
132
junitAnt
130
133
pcollections // Synced to org.iets3.core.expr.base.collections.stubs/lib
@@ -133,6 +136,7 @@ configurations {
133
136
134
137
dependencies {
135
138
mps " com.jetbrains:mps:$mpsVersion "
139
+ rerunMigrationsBackend(" de.itemis.mps.build-backends:remigrate:0.0.5.+" )
136
140
languageLibs " org.mpsqa:all-in-one:$mpsQAVersion "
137
141
languageLibs " com.mbeddr:platform:$mbeddrVersionSelector "
138
142
junitAnt ' org.apache.ant:ant-junit:1.10.6'
@@ -192,6 +196,8 @@ task resolveBigMath(type: Sync) {
192
196
193
197
task resolveDependencies (dependsOn : [' downloadJbr' , resolveMps, resolveLanguageLibs, resolvePcollections, resolveBigMath])
194
198
199
+ ext. mpsHomeDir = resolveMps. destinationDir
200
+
195
201
// Default arguments for ant scripts
196
202
def defaultScriptArgs = [
197
203
' mps.home' : resolveMps. destinationDir,
@@ -274,12 +280,37 @@ task failOnTestError() {
274
280
buildAndRunTests. configure { finalizedBy failOnTestError }
275
281
check. dependsOn buildAndRunTests
276
282
277
- tasks. register(' migrate' ) {
283
+ tasks. register(' migrate' , MpsMigrate ) {
284
+ dependsOn(resolveMps, ' resolveMpsForModelcheck' , ' downloadJbr' , ' buildLanguages' , ' buildAndRunTests' )
285
+ javaLauncher = tasks. named(' downloadJbr' , DownloadJbrForPlatform ). flatMap { it. javaLauncher }
286
+
287
+ haltOnPrecheckFailure = false
288
+ haltOnDependencyError = true
289
+
290
+ mpsHome = mpsHomeDir
291
+
292
+ projectDirectories. from(' code/languages/org.iets3.opensource' )
293
+ folderMacros[' iets3.github.opensource.home' ] = rootProject. layout. projectDirectory
278
294
295
+ pluginRoots. from(new File (mpsHomeDir, ' plugins' ))
296
+
297
+ maxHeapSize = ' 4G'
279
298
}
280
299
281
- tasks. register(' remigrate' ) {
300
+ tasks. register(' remigrate' , Remigrate ) {
301
+ mustRunAfter(' migrate' )
302
+ mustRunAfter(' buildLanguages' , ' buildAndRunTests' )
303
+
304
+ dependsOn(resolveMps, ' resolveMpsForModelcheck' ,' downloadJbr' )
305
+
306
+ javaLauncher = tasks. named(' downloadJbr' , DownloadJbrForPlatform ). flatMap { it. javaLauncher }
282
307
308
+ mpsHome = mpsHomeDir
309
+ projectDirectories. from(' code/languages/org.iets3.opensource' )
310
+ folderMacros[' iets3.github.opensource.home' ] = rootProject. layout. projectDirectory
311
+
312
+ pluginRoots. from(new File (mpsHomeDir, ' plugins' ))
313
+ maxHeapSize = ' 4G'
283
314
}
284
315
285
316
apply plugin : ' modelcheck'
@@ -301,7 +332,6 @@ modelcheck {
301
332
maxHeap = " 4G"
302
333
}
303
334
304
-
305
335
afterEvaluate { project ->
306
336
check. configure {
307
337
dependsOn tasks. named(' checkmodels' )
0 commit comments