diff --git a/INSTALL.txt b/INSTALL.txt index cf766f7b..481dad47 100644 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -5,16 +5,28 @@ Prerequisites: - Oracle JDK 1.8 - Maven 3 +## To fully build the project execute: ## + + mvn -Dmaven.javadoc.skip=true -B -f reactor install && ./gradlew build + ## To fully build and test the project execute: ## mvn -Dmaven.javadoc.skip=true -B -f reactor install && ./gradlew check -This builds the «reactor» project and installs its artefacts into local Maven repository. Then the regular Gradle build is launched. Further launches of Gradle can be done without running the build in «reactor». +This builds the "reactor" project and installs its artefacts into local Maven +repository. Then the regular Gradle build is launched. Further launches of +Gradle can be done without running the build in "reactor". + +The default task to execute if none is specified is "build". ## To install all the dependencies in order to open the project with MPS: ## - mvn -Dmaven.javadoc.skip=true -B -f reactor install && ./gradlew init + mvn -Dmaven.javadoc.skip=true -B -f reactor install && ./gradlew setup -Once the project is opened, execute «Rebuild», since generated artefacts are excluded from version control +Once the project is opened, execute "Rebuild Project", since generated +artefacts are excluded from version control. + +**NOTE: ** in order to open any of the sample projects follow the steps above +for building the whole project, as samples expect the compiled languages to be +available in a project library. -**NOTE: ** in order to open any of the sample projects follow the steps above for building the whole project, as samples expect the compiled languages to be available in a project library. diff --git a/build.gradle b/build.gradle index 7293d187..a3b0bfc9 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ import groovy.xml.MarkupBuilder import java.util.regex.* -defaultTasks 'init' +defaultTasks 'build' allprojects { repositories { @@ -65,12 +65,12 @@ task installMps(type: Copy) { def allInitDependencies = [ 'installMps', - 'coderules/solutions/jetbrains.mps.logic.reactor:copyDependencies', - 'coderules/solutions/jetbrains.mps.logic.test:copyDependencies', - 'coderules/solutions/jetbrains.mps.typechecking:copyDependencies', - 'coderules/solutions/jetbrains.mps.coderules:copyDependencies' ] + 'coderules:solutions:jetbrains.mps.logic.reactor:copyDependencies', + 'coderules:solutions:jetbrains.mps.logic.test:copyDependencies', + 'coderules:solutions:jetbrains.mps.typechecking:copyDependencies', + 'coderules:solutions:jetbrains.mps.coderules:copyDependencies' ] -task init(dependsOn: allInitDependencies) { +task setup(dependsOn: allInitDependencies) { doLast { println 'Initialized all dependencies.' } @@ -112,16 +112,16 @@ ant.importBuild('build.xml') { antTarget -> } ant.properties.'ci.build.num' = "${tagMatcher().find() ? tagMatcher()[0][2] : '9999'}".toString() -// ensure 'init' runs before 'fetchDependencies' and 'declare-mps-tasks' +// ensure 'setup' runs before 'fetchDependencies' and 'declare-mps-tasks' 'coderules-fetchDependencies' { dependsOn { - 'init' + 'setup' } } 'coderules-declare-mps-tasks' { dependsOn { - 'init' + 'setup' } } @@ -141,12 +141,24 @@ ant.properties.'ci.build.num' = "${tagMatcher().find() ? tagMatcher()[0][2] : '9 } } +task build { + dependsOn { + [ + ':coderules-assemble', + ':samples:mpscore:mpscore-assemble', + ':samples:lambdacalc:lambdacalc-assemble', + ':samples:fitch:fitch-assemble' + ] + } + +} + task check { dependsOn { [ - ':samples/mpscore:mpscore-check', - ':samples/lambdacalc:lambdacalc-check', - ':samples/fitch:fitch-check' + ':samples:mpscore:mpscore-check', + ':samples:lambdacalc:lambdacalc-check', + ':samples:fitch:fitch-check' ] } // tests from this target also include model checker invocation, which requires everything to be built diff --git a/samples/fitch/build.gradle b/samples/fitch/build.gradle index 7b2c7d42..92763806 100644 --- a/samples/fitch/build.gradle +++ b/samples/fitch/build.gradle @@ -30,7 +30,7 @@ ant.importBuild('build.xml') {antTarget -> 'fitch-declare-mps-tasks' { dependsOn { - ':init' + ':setup' } } diff --git a/samples/lambdacalc/build.gradle b/samples/lambdacalc/build.gradle index c1bd6a1e..981ddcc5 100644 --- a/samples/lambdacalc/build.gradle +++ b/samples/lambdacalc/build.gradle @@ -30,7 +30,7 @@ ant.importBuild('build.xml') {antTarget -> 'lambdacalc-declare-mps-tasks' { dependsOn { - ':init' + ':setup' } } diff --git a/samples/mpscore/build.gradle b/samples/mpscore/build.gradle index c0f1a4fd..f096e560 100644 --- a/samples/mpscore/build.gradle +++ b/samples/mpscore/build.gradle @@ -30,7 +30,7 @@ ant.importBuild('build.xml') {antTarget -> 'mpscore-declare-mps-tasks' { dependsOn { - ':init' + ':setup' } } diff --git a/settings.gradle b/settings.gradle index d3448dd9..29e88da9 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,7 +1,7 @@ -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' -include 'samples/lambdacalc' -include 'samples/fitch' +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' +include 'samples:lambdacalc' +include 'samples:fitch'