diff --git a/.gitignore b/.gitignore
index dce910ca..9340c0b6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,6 +11,7 @@
.gradle
out
build/*
+samples/mpscore/build/*
config/*
system/*
MPS_HOME
diff --git a/build.gradle b/build.gradle
index c1157521..00c29370 100644
--- a/build.gradle
+++ b/build.gradle
@@ -123,12 +123,22 @@ fetchDependencies {
}
// ensure 'generate' runs before 'classes' ('generate' is NOT optional)
-classes {
- dependsOn {
- 'generate'
+allprojects {
+ classes {
+ dependsOn {
+ 'generate'
+ }
+ mustRunAfter {
+ 'generate'
+ }
}
- mustRunAfter {
- 'generate'
+ test {
+ dependsOn {
+ 'assemble'
+ }
+ mustRunAfter {
+ 'assemble'
+ }
}
}
@@ -137,4 +147,3 @@ assemble {
'generateUpdatePluginsXml'
}
}
-
diff --git a/build.xml b/build.xml
index 6c077bd0..abc6b8cc 100644
--- a/build.xml
+++ b/build.xml
@@ -5,6 +5,7 @@
+
@@ -18,13 +19,13 @@
-
+
-
+
@@ -1340,7 +1341,7 @@
Experimental support for type checking with constraint rules
0.5-b${ci.build.num}
JetBrains s.r.o.
-
+
@@ -2518,28 +2519,28 @@
typechecking-plugin.ci.build.num=${ci.build.num}${line.separator}mps.build.number=${mps.build.number}${line.separator}mps.date=${mps.date}${line.separator}mps.build.vcs.number=${mps.build.vcs.number}${line.separator}mps.teamcity.buildConfName=${mps.teamcity.buildConfName}${line.separator}mps.idea.platform.build.number=${mps.idea.platform.build.number}${line.separator}mps.mps.build.counter=${mps.mps.build.counter}${line.separator}mpsBootstrapCore.version=${mpsBootstrapCore.version}
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -2681,15 +2682,15 @@
-
+
-
+
-
+
-
+
@@ -2701,7 +2702,7 @@
-
+
@@ -2752,7 +2753,7 @@
-
+
@@ -2803,7 +2804,7 @@
-
+
@@ -2839,7 +2840,7 @@
-
+
@@ -2891,7 +2892,7 @@
-
+
@@ -2939,7 +2940,7 @@
-
+
@@ -2980,7 +2981,7 @@
-
+
@@ -3011,7 +3012,7 @@
-
+
@@ -3065,7 +3066,7 @@
-
+
@@ -3128,7 +3129,7 @@
-
+
@@ -3183,7 +3184,7 @@
-
+
@@ -3228,7 +3229,7 @@
-
+
@@ -3273,7 +3274,7 @@
-
+
@@ -3330,7 +3331,7 @@
-
+
@@ -3379,7 +3380,7 @@
-
+
@@ -3436,7 +3437,7 @@
-
+
@@ -3474,7 +3475,7 @@
-
+
@@ -3486,7 +3487,7 @@
-
+
@@ -3556,7 +3557,7 @@
-
+
@@ -3587,7 +3588,7 @@
-
+
@@ -3641,7 +3642,7 @@
-
+
@@ -3704,7 +3705,7 @@
-
+
@@ -3755,7 +3756,7 @@
-
+
@@ -3810,7 +3811,7 @@
-
+
@@ -3887,7 +3888,7 @@
-
+
@@ -3961,7 +3962,7 @@
-
+
@@ -4000,7 +4001,7 @@
-
+
@@ -4041,7 +4042,7 @@
-
+
@@ -4094,7 +4095,7 @@
-
+
@@ -4148,7 +4149,7 @@
-
+
@@ -4183,7 +4184,7 @@
-
+
@@ -4327,23 +4328,23 @@
-
+
-
+
-
+
-
+
@@ -4379,4 +4380,4 @@
-
\ No newline at end of file
+
diff --git a/coderules/solutions/jetbrains.mps.typechecking.test/models/jetbrains.mps.scheduling@tests.mps b/coderules/solutions/jetbrains.mps.typechecking.test/models/jetbrains.mps.scheduling@tests.mps
index 84dc91f0..410cfba3 100644
--- a/coderules/solutions/jetbrains.mps.typechecking.test/models/jetbrains.mps.scheduling@tests.mps
+++ b/coderules/solutions/jetbrains.mps.typechecking.test/models/jetbrains.mps.scheduling@tests.mps
@@ -950,7 +950,7 @@
-
+
diff --git a/coderules/solutions/jetbrains.mps.typechecking.test/models/jetbrains.mps.typechecking@tests.mps b/coderules/solutions/jetbrains.mps.typechecking.test/models/jetbrains.mps.typechecking@tests.mps
index a7df3717..55b174b1 100644
--- a/coderules/solutions/jetbrains.mps.typechecking.test/models/jetbrains.mps.typechecking@tests.mps
+++ b/coderules/solutions/jetbrains.mps.typechecking.test/models/jetbrains.mps.typechecking@tests.mps
@@ -334,7 +334,7 @@
-
+
diff --git a/gradle.properties b/gradle.properties
index e6f6057a..f4134e9e 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,5 +1,5 @@
mpsBuildConfiguration = MPS_20181_Distribution_DownloadableArtifacts
-mpsBuildLabel = 2018.1
-mpsBuildNumber = 181.1168
+mpsBuildLabel = 2018.1.5
+mpsBuildNumber = 181.1469
mpsRelease = 2018.1
diff --git a/samples/mpscore/.mps/libraries.xml b/samples/mpscore/.mps/libraries.xml
index 4f7e4c25..f8cd8b60 100644
--- a/samples/mpscore/.mps/libraries.xml
+++ b/samples/mpscore/.mps/libraries.xml
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/mpscore/.mps/modules.xml b/samples/mpscore/.mps/modules.xml
index cdb77404..e169e4c2 100644
--- a/samples/mpscore/.mps/modules.xml
+++ b/samples/mpscore/.mps/modules.xml
@@ -4,6 +4,7 @@
+
diff --git a/samples/mpscore/build.gradle b/samples/mpscore/build.gradle
new file mode 100644
index 00000000..e91f15e7
--- /dev/null
+++ b/samples/mpscore/build.gradle
@@ -0,0 +1,17 @@
+configurations {
+ junitAnt
+}
+
+dependencies {
+ // initialize JUnit optional ant task
+ junitAnt 'junit:junit:4.8.2'
+ junitAnt('org.apache.ant:ant-junit:1.9.2') {
+ transitive = false
+ }
+}
+
+ant.taskdef(name: 'junit',
+ classname: 'org.apache.tools.ant.taskdefs.optional.junit.JUnitTask',
+ classpath: configurations.junitAnt.asPath)
+
+ant.importBuild('build.xml')
diff --git a/samples/mpscore/build.xml b/samples/mpscore/build.xml
new file mode 100644
index 00000000..7487d7f8
--- /dev/null
+++ b/samples/mpscore/build.xml
@@ -0,0 +1,707 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mps.build.number=${mps.build.number}${line.separator}mps.date=${mps.date}${line.separator}mps.build.vcs.number=${mps.build.vcs.number}${line.separator}mps.teamcity.buildConfName=${mps.teamcity.buildConfName}${line.separator}mps.idea.platform.build.number=${mps.idea.platform.build.number}${line.separator}mps.mps.build.counter=${mps.mps.build.counter}${line.separator}mpsBootstrapCore.version=${mpsBootstrapCore.version}${line.separator}typechecking-plugin.ci.build.num=${typechecking-plugin.ci.build.num}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/mpscore/solutions/jetbrains.mps.baseLanguageExt.test/models/jetbrains.mps.baseLanguageExt.test.types@tests.mps b/samples/mpscore/solutions/jetbrains.mps.baseLanguageExt.test/models/jetbrains.mps.baseLanguageExt.test.types@tests.mps
index e081938f..3fa838ac 100644
--- a/samples/mpscore/solutions/jetbrains.mps.baseLanguageExt.test/models/jetbrains.mps.baseLanguageExt.test.types@tests.mps
+++ b/samples/mpscore/solutions/jetbrains.mps.baseLanguageExt.test/models/jetbrains.mps.baseLanguageExt.test.types@tests.mps
@@ -1070,7 +1070,7 @@
-
+
diff --git a/samples/mpscore/solutions/jetbrains.mps.coderules.samples.mpscore.build/jetbrains.mps.coderules.samples.mpscore.build.msd b/samples/mpscore/solutions/jetbrains.mps.coderules.samples.mpscore.build/jetbrains.mps.coderules.samples.mpscore.build.msd
new file mode 100644
index 00000000..e0eaa7af
--- /dev/null
+++ b/samples/mpscore/solutions/jetbrains.mps.coderules.samples.mpscore.build/jetbrains.mps.coderules.samples.mpscore.build.msd
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+ bc9cd1e7-827b-4d61-b111-d2c896dcae6f(jetbrains.mps.typechecking.build)
+ 422c2909-59d6-41a9-b318-40e6256b250f(jetbrains.mps.ide.build)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/mpscore/solutions/jetbrains.mps.coderules.samples.mpscore.build/models/jetbrains.mps.coderules.samples.mpscore.build.mps b/samples/mpscore/solutions/jetbrains.mps.coderules.samples.mpscore.build/models/jetbrains.mps.coderules.samples.mpscore.build.mps
new file mode 100644
index 00000000..bb520723
--- /dev/null
+++ b/samples/mpscore/solutions/jetbrains.mps.coderules.samples.mpscore.build/models/jetbrains.mps.coderules.samples.mpscore.build.mps
@@ -0,0 +1,383 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.bounds.bad@tests.mps b/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.bounds.bad@tests.mps
index 44258d6e..8c59164d 100644
--- a/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.bounds.bad@tests.mps
+++ b/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.bounds.bad@tests.mps
@@ -274,7 +274,7 @@
-
+
diff --git a/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.bounds@tests.mps b/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.bounds@tests.mps
index 7ceca8a2..0fa1dd9f 100644
--- a/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.bounds@tests.mps
+++ b/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.bounds@tests.mps
@@ -404,7 +404,7 @@
-
+
diff --git a/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.codeAnal@tests.mps b/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.codeAnal@tests.mps
index 354f32a4..6aa5854c 100644
--- a/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.codeAnal@tests.mps
+++ b/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.codeAnal@tests.mps
@@ -125,7 +125,7 @@
-
+
diff --git a/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.helloWorld@tests.mps b/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.helloWorld@tests.mps
index 5f808d34..81ad51e0 100644
--- a/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.helloWorld@tests.mps
+++ b/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.helloWorld@tests.mps
@@ -120,7 +120,7 @@
-
+
diff --git a/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.simpleGenerics@tests.mps b/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.simpleGenerics@tests.mps
index e86e3a01..b954120a 100644
--- a/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.simpleGenerics@tests.mps
+++ b/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.simpleGenerics@tests.mps
@@ -120,7 +120,7 @@
-
+
diff --git a/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.slice@tests.mps b/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.slice@tests.mps
index 62c83936..de7e1a18 100644
--- a/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.slice@tests.mps
+++ b/samples/mpscore/solutions/jetbrains.mps.typechecking.sample.test/models/jetbrains.mps.typechecking.sample.slice@tests.mps
@@ -120,7 +120,7 @@
-
+
diff --git a/settings.gradle b/settings.gradle
index 55ff0b52..13dd88c0 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -2,3 +2,4 @@ include 'coderules/solutions/jetbrains.mps.logic.reactor'
include 'coderules/solutions/jetbrains.mps.logic.test'
include 'coderules/solutions/jetbrains.mps.typechecking'
include 'coderules/solutions/jetbrains.mps.coderules'
+include 'samples/mpscore'