Skip to content

Commit b46763b

Browse files
Alexander Pannmfsoliveira
authored andcommitted
activate migration checking
1 parent eadf788 commit b46763b

File tree

2 files changed

+62
-6
lines changed

2 files changed

+62
-6
lines changed

build.gradle

Lines changed: 53 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
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
25
import groovy.xml.XmlSlurper
36
import java.time.LocalDate
47
import java.time.format.DateTimeFormatter
@@ -9,21 +12,28 @@ buildscript {
912
repositories {
1013
maven { url 'https://artifacts.itemis.cloud/repository/maven-mps/' }
1114
}
12-
dependencies {
13-
classpath 'de.itemis.mps:mps-gradle-plugin:1.29.1.1.d7f2744'
14-
}
1515
}
1616

1717
plugins {
1818
id 'base'
1919
id 'maven-publish'
20+
id 'de.itemis.mps.gradle.common' version '1.29.+'
21+
id 'de.itemis.mps.gradle.launcher' version '2.5.2.+'
2022
id "com.github.breadmoirai.github-release" version "2.4.1"
2123
id "org.cyclonedx.bom" version "1.8.2"
2224
}
2325

26+
ext.dependencyRepositories = [
27+
'https://artifacts.itemis.cloud/repository/maven-mps/'
28+
]
29+
2430
repositories {
25-
maven {
26-
url 'https://artifacts.itemis.cloud/repository/maven-mps/'
31+
// we don't use mavenLocal() repo, since it can cause various issues with resolving dependencies,
32+
// see https://docs.gradle.org/current/userguide/declaring_repositories.html#sec:case-for-maven-local
33+
for (repoUrl in project.dependencyRepositories) {
34+
maven {
35+
url repoUrl
36+
}
2737
}
2838
mavenCentral()
2939
}
@@ -86,7 +96,7 @@ if (project.hasProperty('iets3OpenSourceVersion')) {
8696
} else {
8797
def isSnapshot = !(currentBranch.equals("master") || currentBranch.startsWith("datev-loon-staging-") || currentBranch.startsWith("datev-steuer-staging-"))
8898
version = GitBasedVersioning.getVersionWithCount(major, minor, buildNumber) + (isSnapshot ? "-SNAPSHOT" : "")
89-
}
99+
}
90100
println "##teamcity[buildNumber '${version}']"
91101
} else {
92102
version = "$major.$minor-SNAPSHOT"
@@ -105,6 +115,7 @@ ext.artifactsDir = new File(buildDir, 'artifacts')
105115

106116
configurations {
107117
mps
118+
rerunMigrationsBackend
108119
languageLibs
109120
junitAnt
110121
pcollections // Synced to org.iets3.core.expr.base.collections.stubs/lib
@@ -113,6 +124,7 @@ configurations {
113124

114125
dependencies {
115126
mps "com.jetbrains:mps:$mpsVersion"
127+
rerunMigrationsBackend("de.itemis.mps.build-backends:remigrate:0.0.5.+")
116128
languageLibs "org.mpsqa:all-in-one:$mpsQAVersion"
117129
languageLibs "com.mbeddr:platform:$mbeddrVersion"
118130
junitAnt 'org.apache.ant:ant-junit:1.10.15'
@@ -172,6 +184,8 @@ task resolveBigMath(type: Sync) {
172184

173185
task resolveDependencies(dependsOn: ['downloadJbr', resolveMps, resolveLanguageLibs, resolvePcollections, resolveBigMath])
174186

187+
ext.mpsHomeDir = resolveMps.destinationDir
188+
175189
// Default arguments for ant scripts
176190
def defaultScriptArgs = [
177191
'mps.home' : resolveMps.destinationDir,
@@ -255,6 +269,39 @@ task failOnTestError() {
255269
buildAndRunTests.configure { finalizedBy failOnTestError }
256270
check.dependsOn buildAndRunTests
257271

272+
tasks.register('migrate', MpsMigrate) {
273+
dependsOn(resolveMps, 'resolveMpsForModelcheck', 'downloadJbr', 'buildLanguages', 'buildAndRunTests')
274+
javaLauncher = tasks.named('downloadJbr', DownloadJbrForPlatform).flatMap { it.javaLauncher }
275+
276+
haltOnPrecheckFailure = false
277+
haltOnDependencyError = true
278+
279+
mpsHome = mpsHomeDir
280+
281+
projectDirectories.from('code/languages/org.iets3.opensource')
282+
folderMacros['iets3.github.opensource.home'] = rootProject.layout.projectDirectory
283+
284+
pluginRoots.from(new File(mpsHomeDir, 'plugins'))
285+
286+
maxHeapSize = '4G'
287+
}
288+
289+
tasks.register('remigrate', Remigrate) {
290+
mustRunAfter('migrate')
291+
mustRunAfter('buildLanguages', 'buildAndRunTests')
292+
293+
dependsOn(resolveMps, 'resolveMpsForModelcheck','downloadJbr')
294+
295+
javaLauncher = tasks.named('downloadJbr', DownloadJbrForPlatform).flatMap { it.javaLauncher }
296+
297+
mpsHome = mpsHomeDir
298+
projectDirectories.from('code/languages/org.iets3.opensource')
299+
folderMacros['iets3.github.opensource.home'] = rootProject.layout.projectDirectory
300+
301+
pluginRoots.from(new File(mpsHomeDir, 'plugins'))
302+
maxHeapSize = '4G'
303+
}
304+
258305
apply plugin: 'modelcheck'
259306

260307
File modelcheckresult = new File("$buildDir/TEST-checkProject.xml")

settings.gradle

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,11 @@
1+
pluginManagement {
2+
repositories {
3+
maven { url 'https://artifacts.itemis.cloud/repository/maven-mps' }
4+
5+
// Need to manually include the default Gradle plugin portal repository when overriding the defaults.
6+
gradlePluginPortal()
7+
}
8+
}
9+
110
rootProject.name = 'opensource'
211

0 commit comments

Comments
 (0)