diff --git a/.travis.yml b/.travis.yml
index 0357386b..80791a25 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,10 +3,20 @@ jdk: oraclejdk8
install: true
script: ./gradlew test
deploy:
- provider: releases
- api_key:
- secure: dOEX78/Th6n5XAbfQKT8DCQbQOqE9C4etqtH7OsI4snYAUkZdxHmdmuFWoMqwnU9nbR+17+2f9XPpE9BfslnxMP21lvn6AP5jScFgeZzV1KJ7kPg1H8buxLvGiQLq1vjNBrmT/Fg5S7tZFWSljEVKRQczpbijdtiTTzdRu/dGCPrLJiijS1uSJet6AwJ4qd+HIXsrVlPny5XL36SCiF88HiYO1vMQFo3pOPCrELfSLHHmLohcdcLy21BTMsbaZwrFzgb4xnmoFRRMiqVOi0z/zOTCNz6AWwfZ+RrAS2YmBSMeIL0R0K22P1WStg1NiYYaapoMf1AESW0VdKm6bSxD2SgxdG7V0hGbOFpzd5uZ22PxtishIfWerwvHCOey2JgH/xl4oGmLqwxmaWJMIrsWI5ObSePFbukKH6kkdGCrZq83cnJonYNb8KckBN997iQI12AKahUDnHg+Se62KANqogcWpWCztCAzgyqOb0swYBQ53vUzwciwul2yzr8Hrm5N32OY9UcK5Hx9pRtSr3c9ykJybdPnzUcCJGdxvNdDek21fx41q+1Qr2EgeJon8BmBpyLwfngIL3DRFEcfxQzramV6kVRI1T67Pk6xD+mVrYDGFbGAGkElEvdrlnOFzWv0Pza8cIv9i13B4sNdQOYtyEwaT0UvzklMVHw8ifYT0M=
- file: build/artifacts/typechecking-plugin//typechecking-0.2.zip
- skip_cleanup: true
- on:
- tags: true
+ - provider: releases
+ api_key:
+ secure: dOEX78/Th6n5XAbfQKT8DCQbQOqE9C4etqtH7OsI4snYAUkZdxHmdmuFWoMqwnU9nbR+17+2f9XPpE9BfslnxMP21lvn6AP5jScFgeZzV1KJ7kPg1H8buxLvGiQLq1vjNBrmT/Fg5S7tZFWSljEVKRQczpbijdtiTTzdRu/dGCPrLJiijS1uSJet6AwJ4qd+HIXsrVlPny5XL36SCiF88HiYO1vMQFo3pOPCrELfSLHHmLohcdcLy21BTMsbaZwrFzgb4xnmoFRRMiqVOi0z/zOTCNz6AWwfZ+RrAS2YmBSMeIL0R0K22P1WStg1NiYYaapoMf1AESW0VdKm6bSxD2SgxdG7V0hGbOFpzd5uZ22PxtishIfWerwvHCOey2JgH/xl4oGmLqwxmaWJMIrsWI5ObSePFbukKH6kkdGCrZq83cnJonYNb8KckBN997iQI12AKahUDnHg+Se62KANqogcWpWCztCAzgyqOb0swYBQ53vUzwciwul2yzr8Hrm5N32OY9UcK5Hx9pRtSr3c9ykJybdPnzUcCJGdxvNdDek21fx41q+1Qr2EgeJon8BmBpyLwfngIL3DRFEcfxQzramV6kVRI1T67Pk6xD+mVrYDGFbGAGkElEvdrlnOFzWv0Pza8cIv9i13B4sNdQOYtyEwaT0UvzklMVHw8ifYT0M=
+ file: build/artifacts/typechecking-plugin//typechecking-0.2.zip
+ skip_cleanup: true
+ on:
+ branch: master
+ tags: true
+ - provider: pages
+ skip_cleanup: true
+ github_token:
+ secure: dOEX78/Th6n5XAbfQKT8DCQbQOqE9C4etqtH7OsI4snYAUkZdxHmdmuFWoMqwnU9nbR+17+2f9XPpE9BfslnxMP21lvn6AP5jScFgeZzV1KJ7kPg1H8buxLvGiQLq1vjNBrmT/Fg5S7tZFWSljEVKRQczpbijdtiTTzdRu/dGCPrLJiijS1uSJet6AwJ4qd+HIXsrVlPny5XL36SCiF88HiYO1vMQFo3pOPCrELfSLHHmLohcdcLy21BTMsbaZwrFzgb4xnmoFRRMiqVOi0z/zOTCNz6AWwfZ+RrAS2YmBSMeIL0R0K22P1WStg1NiYYaapoMf1AESW0VdKm6bSxD2SgxdG7V0hGbOFpzd5uZ22PxtishIfWerwvHCOey2JgH/xl4oGmLqwxmaWJMIrsWI5ObSePFbukKH6kkdGCrZq83cnJonYNb8KckBN997iQI12AKahUDnHg+Se62KANqogcWpWCztCAzgyqOb0swYBQ53vUzwciwul2yzr8Hrm5N32OY9UcK5Hx9pRtSr3c9ykJybdPnzUcCJGdxvNdDek21fx41q+1Qr2EgeJon8BmBpyLwfngIL3DRFEcfxQzramV6kVRI1T67Pk6xD+mVrYDGFbGAGkElEvdrlnOFzWv0Pza8cIv9i13B4sNdQOYtyEwaT0UvzklMVHw8ifYT0M=
+ on:
+ branch: master
+ tags: true
+ target_branch: updates
+ local_dir: build/artifacts/typechecking-plugin/updates
diff --git a/build.gradle b/build.gradle
index 80b935ae..2bd09ffd 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,3 +1,6 @@
+import groovy.xml.MarkupBuilder
+import java.util.regex.*
+
defaultTasks 'init'
allprojects {
@@ -71,11 +74,39 @@ task init(dependsOn: allInitDependencies) {
}
}
+def tagMatcher() {
+ System.env.TRAVIS_TAG =~ /v([0-9.]+)-.*\.([0-9]+)/
+}
+
+task generateUpdatePluginsXml {
+ onlyIf {
+ tagMatcher().find()
+ }
+ doLast {
+ def updatesDir = project.projectDir.absolutePath + "/build/artifacts/typechecking-plugin/updates"
+ mkdir(updatesDir)
+
+ def baseUrl = "https://github.com/fisakov/constraints-typechecking/releases/download"
+ def zip = "/typechecking-0.2.zip"
+
+ file(updatesDir + "/updatePlugins.xml").withWriter { w ->
+ new MarkupBuilder(new IndentPrinter(w, " ", true)).
+ plugins {
+ plugin( id: "jetbrains.mps.typechecking" ,
+ url: baseUrl + "/$System.env.TRAVIS_TAG" + zip ,
+ version: "${tagMatcher()[0][1]}-b${tagMatcher()[0][2]}" )
+ { }
+ }
+ }
+ }
+}
+
ant.taskdef(name: 'junit',
classname: 'org.apache.tools.ant.taskdefs.optional.junit.JUnitTask',
classpath: configurations.junitAnt.asPath)
ant.importBuild('build.xml')
+ant.properties.'ci.build.num' = "${tagMatcher().find() ? tagMatcher()[0][2] : '0'}".toString()
// ensure 'init' runs before 'fetchDependencies' and 'declare-mps-tasks'
fetchDependencies {
@@ -99,3 +130,10 @@ classes {
'generate'
}
}
+
+assemble {
+ finalizedBy {
+ 'generateUpdatePluginsXml'
+ }
+}
+
diff --git a/build.xml b/build.xml
index ff5b0894..2b8ac5a1 100644
--- a/build.xml
+++ b/build.xml
@@ -3,6 +3,7 @@
+
@@ -838,7 +839,7 @@
jetbrains.mps.typechecking
Typechecking with Constraint Rules
Experimental support for type checking with constraint rules
- 0.2-b17
+ 2.0-b${ci.build.num}
JetBrains s.r.o.
@@ -1348,7 +1349,7 @@
- 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}
+ 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}
diff --git a/typechecking/solutions/jetbrains.mps.typechecking.build/models/jetbrains.mps.typechecking.build.mps b/typechecking/solutions/jetbrains.mps.typechecking.build/models/jetbrains.mps.typechecking.build.mps
index 08d108a9..a32b701c 100644
--- a/typechecking/solutions/jetbrains.mps.typechecking.build/models/jetbrains.mps.typechecking.build.mps
+++ b/typechecking/solutions/jetbrains.mps.typechecking.build/models/jetbrains.mps.typechecking.build.mps
@@ -26,9 +26,15 @@
+
+
+
+
+
+
@@ -73,6 +79,9 @@
+
+
+
@@ -177,8 +186,11 @@
-
-
+
+
+
+
+
@@ -1521,6 +1533,16 @@
+
+
+
+
+
+
+
+
+
+