diff --git a/build.gradle b/build.gradle
index c6c27768..ab9c13c4 100644
--- a/build.gradle
+++ b/build.gradle
@@ -145,7 +145,8 @@ task check {
[
':coderules-test',
':samples/mpscore:mpscore-test',
- ':samples/lambdacalc:lambdacalc-generate'
+ ':samples/lambdacalc:lambdacalc-generate',
+ ':samples/fitch:fitch-generate'
]
}
}
diff --git a/samples/fitch/.mps/libraries.xml b/samples/fitch/.mps/libraries.xml
new file mode 100644
index 00000000..f8cd8b60
--- /dev/null
+++ b/samples/fitch/.mps/libraries.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/fitch/.mps/modules.xml b/samples/fitch/.mps/modules.xml
index a8a7b483..6be7aef5 100644
--- a/samples/fitch/.mps/modules.xml
+++ b/samples/fitch/.mps/modules.xml
@@ -7,6 +7,7 @@
+
\ No newline at end of file
diff --git a/samples/fitch/.mps/vcs.xml b/samples/fitch/.mps/vcs.xml
index 94a25f7f..b2bdec2d 100644
--- a/samples/fitch/.mps/vcs.xml
+++ b/samples/fitch/.mps/vcs.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/samples/fitch/build.gradle b/samples/fitch/build.gradle
new file mode 100644
index 00000000..47d06214
--- /dev/null
+++ b/samples/fitch/build.gradle
@@ -0,0 +1,23 @@
+configurations {
+ junitAnt
+}
+
+ant.importBuild('build.xml') {antTarget ->
+ 'fitch-'+antTarget
+}
+
+// ensure 'generate' runs before 'classes' ('generate' is NOT optional)
+'fitch-classes' {
+ dependsOn {
+ 'fitch-generate'
+ }
+ mustRunAfter {
+ 'fitch-generate'
+ }
+}
+
+'fitch-generate' {
+ dependsOn {
+ ':coderules-assemble'
+ }
+}
diff --git a/samples/fitch/build.xml b/samples/fitch/build.xml
new file mode 100644
index 00000000..5e0f55aa
--- /dev/null
+++ b/samples/fitch/build.xml
@@ -0,0 +1,569 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/samples/fitch/solutions/jetbrains.mps.fitch.build/jetbrains.mps.fitch.build.msd b/samples/fitch/solutions/jetbrains.mps.fitch.build/jetbrains.mps.fitch.build.msd
new file mode 100644
index 00000000..fa579b34
--- /dev/null
+++ b/samples/fitch/solutions/jetbrains.mps.fitch.build/jetbrains.mps.fitch.build.msd
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+ 422c2909-59d6-41a9-b318-40e6256b250f(jetbrains.mps.ide.build)
+ bc9cd1e7-827b-4d61-b111-d2c896dcae6f(jetbrains.mps.typechecking.build)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/fitch/solutions/jetbrains.mps.fitch.build/models/jetbrains.mps.fitch.build.mps b/samples/fitch/solutions/jetbrains.mps.fitch.build/models/jetbrains.mps.fitch.build.mps
new file mode 100644
index 00000000..7ae711b4
--- /dev/null
+++ b/samples/fitch/solutions/jetbrains.mps.fitch.build/models/jetbrains.mps.fitch.build.mps
@@ -0,0 +1,319 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/settings.gradle b/settings.gradle
index 2f914e4a..d3448dd9 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -4,3 +4,4 @@ include 'coderules/solutions/jetbrains.mps.typechecking'
include 'coderules/solutions/jetbrains.mps.coderules'
include 'samples/mpscore'
include 'samples/lambdacalc'
+include 'samples/fitch'