diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8d5e3f2c282a420994fd09b5b8d1019024d7c2c4..3e25a31fca90ac5b15017d8ca4f4fbbfcc28d259 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -17,7 +17,7 @@ build: script: - ./gradlew --console=plain assemble -testAndBenchmark: +test: image: openjdk:11 stage: test needs: @@ -26,10 +26,7 @@ testAndBenchmark: - "[ -d ttc2018liveContest ] || git clone --depth=1 https://github.com/TransformationToolContest/ttc2018liveContest.git ttc2018liveContest" - ln -sf ../../../../ttc2018liveContest/models solve/src/test/resources - ./gradlew --console=plain test - - ./all-timed-benchmark.sh artifacts: when: always reports: junit: "*/build/test-results/test/**/TEST-*.xml" - paths: - - results/ diff --git a/all-timed-benchmark.sh b/all-timed-benchmark.sh index 40ab30f1422de18d9e13929c398c2c73f83d47ad..1ea69e0528fa40044d3091ee8dbd027dc850494f 100755 --- a/all-timed-benchmark.sh +++ b/all-timed-benchmark.sh @@ -3,6 +3,6 @@ mkdir -p "results" query=2 size=32 for d in relast-* namelookup-xml-*; do - ./timedBenchmark.sh $d $query $size > results/results-${d}-${size}-Q${query}.csv - mv events-xml-${size}-Q${query}.csv results/events-${d}-${size}-Q${query}.csv + ./gradlew ":${d}:installDist" + ./timedBenchmark.sh "$d" $query $size > "results/results-${d}-${size}-Q${query}.csv" done diff --git a/namelookup-xml-flush/build.gradle b/namelookup-xml-flush/build.gradle index f4790d8b87d070726589952f401109fbd03a86d0..22e5a75face242d31730fcb93684f394e379709a 100644 --- a/namelookup-xml-flush/build.gradle +++ b/namelookup-xml-flush/build.gradle @@ -14,8 +14,8 @@ plugins { ext.relastFiles = [] -apply from: '../solve/gradle-parts/base.gradle' +apply from: '../solve/gradle-parts/01-inc-flush.gradle' -apply from: '../solve/gradle-parts/inc-flush.gradle' +apply from: '../solve/gradle-parts/02-base.gradle' -apply from: '../solve/gradle-parts/rel-namelookup.gradle' +apply from: '../solve/gradle-parts/03-rel-namelookup.gradle' diff --git a/namelookup-xml-inc/build.gradle b/namelookup-xml-inc/build.gradle index a9982547c32aa541be4998b529b3d742935b0975..bbc3f2a466858cdbfda0451cf3e7c6b1654557ad 100644 --- a/namelookup-xml-inc/build.gradle +++ b/namelookup-xml-inc/build.gradle @@ -14,8 +14,8 @@ plugins { ext.relastFiles = [] -apply from: '../solve/gradle-parts/base.gradle' +apply from: '../solve/gradle-parts/01-inc-incremental.gradle' -apply from: '../solve/gradle-parts/inc-incremental.gradle' +apply from: '../solve/gradle-parts/02-base.gradle' -apply from: '../solve/gradle-parts/rel-namelookup.gradle' +apply from: '../solve/gradle-parts/03-rel-namelookup.gradle' diff --git a/relast-reusable-flush/.gitignore b/relast-reusable-flush/.gitignore new file mode 120000 index 0000000000000000000000000000000000000000..ceb2b6936f4f0dd308fa1247836fe38f9bc624e2 --- /dev/null +++ b/relast-reusable-flush/.gitignore @@ -0,0 +1 @@ +../solve/.gitignore \ No newline at end of file diff --git a/relast-reusable-flush/build.gradle b/relast-reusable-flush/build.gradle new file mode 100644 index 0000000000000000000000000000000000000000..46f61fc354fe561e448f2c46e8e4e59f6f3672c0 --- /dev/null +++ b/relast-reusable-flush/build.gradle @@ -0,0 +1,23 @@ +buildscript { + repositories.mavenCentral() + dependencies { + classpath group: 'org.jastadd', name: 'jastaddgradle', version: '1.13.3' + } +} + +plugins { + id 'application' + id 'maven' + id 'java' + id 'idea' +} + +project.ext.relastFiles = ["src/main/jastadd/base/SocialNetwork.relast", + "src/main/jastadd/reusable/dg/DependencyGraph.relast", + "src/main/jastadd/reusable/CommentToDG.relast"] + +apply from: '../solve/gradle-parts/01-inc-flush.gradle' + +apply from: '../solve/gradle-parts/02-base.gradle' + +apply from: '../solve/gradle-parts/03-rel-relast.gradle' diff --git a/relast-reusable-flush/jastadd_modules b/relast-reusable-flush/jastadd_modules new file mode 100644 index 0000000000000000000000000000000000000000..b1c7ae2e1600ce3530b8daa89ed0d2e5297812f8 --- /dev/null +++ b/relast-reusable-flush/jastadd_modules @@ -0,0 +1,13 @@ +module("solve") { + jastadd { + basedir "src/" + include "main/jastadd/base/**/*.ast" + include "main/jastadd/base/**/*.jadd" + include "main/jastadd/base/**/*.jrag" + include "main/jastadd/reusable/dg/DependencyGraphReachability.jrag" + include "main/jastadd/reusable/CommentToDG.jrag" + include "main/jastadd/reusable/queriesRefined.jrag" + include "gen/jastadd/**/*.ast" + include "gen/jastadd/**/*.jadd" + } +} diff --git a/solve/gradle-parts/inc-flush.gradle b/relast-reusable-flush/src/gen/jastadd/.gitkeep similarity index 100% rename from solve/gradle-parts/inc-flush.gradle rename to relast-reusable-flush/src/gen/jastadd/.gitkeep diff --git a/relast-reusable-inc/build.gradle b/relast-reusable-inc/build.gradle index 9b02e1faaaa51a1d0fbab15a66000287a6f5d1dd..bb719dccc27a3aaf93a5177310eb0d13033232f2 100644 --- a/relast-reusable-inc/build.gradle +++ b/relast-reusable-inc/build.gradle @@ -16,8 +16,8 @@ project.ext.relastFiles = ["src/main/jastadd/base/SocialNetwork.relast", "src/main/jastadd/reusable/dg/DependencyGraph.relast", "src/main/jastadd/reusable/CommentToDG.relast"] -apply from: '../solve/gradle-parts/base.gradle' +apply from: '../solve/gradle-parts/01-inc-incremental.gradle' -apply from: '../solve/gradle-parts/inc-incremental.gradle' +apply from: '../solve/gradle-parts/02-base.gradle' -apply from: '../solve/gradle-parts/rel-relast.gradle' +apply from: '../solve/gradle-parts/03-rel-relast.gradle' diff --git a/relast-xml-flush/build.gradle b/relast-xml-flush/build.gradle index cf5bca341b3400c1a12cc56fc829042a08085e04..d9215febff0607a440fda5536925ed37fe4eb9d7 100644 --- a/relast-xml-flush/build.gradle +++ b/relast-xml-flush/build.gradle @@ -14,8 +14,8 @@ plugins { ext.relastFiles = ["src/main/jastadd/base/SocialNetwork.relast"] -apply from: '../solve/gradle-parts/base.gradle' +apply from: '../solve/gradle-parts/01-inc-flush.gradle' -apply from: '../solve/gradle-parts/inc-flush.gradle' +apply from: '../solve/gradle-parts/02-base.gradle' -apply from: '../solve/gradle-parts/rel-relast.gradle' +apply from: '../solve/gradle-parts/03-rel-relast.gradle' diff --git a/relast-xml-inc/build.gradle b/relast-xml-inc/build.gradle index ac6352f69116f114e5c0557c4b271b6f1f68f8e0..851c96e148ed22f71ee719764faa7baa9bda15ae 100644 --- a/relast-xml-inc/build.gradle +++ b/relast-xml-inc/build.gradle @@ -14,8 +14,8 @@ plugins { ext.relastFiles = ["src/main/jastadd/base/SocialNetwork.relast"] -apply from: '../solve/gradle-parts/base.gradle' +apply from: '../solve/gradle-parts/01-inc-incremental.gradle' -apply from: '../solve/gradle-parts/inc-incremental.gradle' +apply from: '../solve/gradle-parts/02-base.gradle' -apply from: '../solve/gradle-parts/rel-relast.gradle' +apply from: '../solve/gradle-parts/03-rel-relast.gradle' diff --git a/settings.gradle b/settings.gradle index ba25857cff1ac0301b90839d0045490544f45076..666aad8493328e2ada80e8b2ec637599cb1d268f 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,6 +1,7 @@ include ':solve' include ':namelookup-xml-flush' include ':namelookup-xml-inc' +include ':relast-reusable-flush' include ':relast-reusable-inc' include ':relast-xml-flush' include ':relast-xml-inc' diff --git a/solve/build.gradle b/solve/build.gradle index ac6352f69116f114e5c0557c4b271b6f1f68f8e0..851c96e148ed22f71ee719764faa7baa9bda15ae 100644 --- a/solve/build.gradle +++ b/solve/build.gradle @@ -14,8 +14,8 @@ plugins { ext.relastFiles = ["src/main/jastadd/base/SocialNetwork.relast"] -apply from: '../solve/gradle-parts/base.gradle' +apply from: '../solve/gradle-parts/01-inc-incremental.gradle' -apply from: '../solve/gradle-parts/inc-incremental.gradle' +apply from: '../solve/gradle-parts/02-base.gradle' -apply from: '../solve/gradle-parts/rel-relast.gradle' +apply from: '../solve/gradle-parts/03-rel-relast.gradle' diff --git a/solve/gradle-parts/01-inc-flush.gradle b/solve/gradle-parts/01-inc-flush.gradle new file mode 100644 index 0000000000000000000000000000000000000000..577b3eea510e2d985c09e21c578b5fa9f4ea1184 --- /dev/null +++ b/solve/gradle-parts/01-inc-flush.gradle @@ -0,0 +1,7 @@ +project.ext.extraJastAddOptions = [ + '--lineColumnNumbers', + '--cache=all', + "--flush=full", + "--incremental=none", + "--tracing=api", +] diff --git a/solve/gradle-parts/01-inc-incremental.gradle b/solve/gradle-parts/01-inc-incremental.gradle new file mode 100644 index 0000000000000000000000000000000000000000..39e8592f3522865dbc23662decfd64dfa0302dee --- /dev/null +++ b/solve/gradle-parts/01-inc-incremental.gradle @@ -0,0 +1,7 @@ +project.ext.extraJastAddOptions = [ + '--lineColumnNumbers', + '--cache=all', + "--flush=api", + "--incremental=param,debug", + "--tracing=api", +] diff --git a/solve/gradle-parts/base.gradle b/solve/gradle-parts/02-base.gradle similarity index 93% rename from solve/gradle-parts/base.gradle rename to solve/gradle-parts/02-base.gradle index eacb43e275cc07e081adc2a416852f1c426a6254..47fbd7426daf4fbcc63f784e9469ba77d2eedbf0 100644 --- a/solve/gradle-parts/base.gradle +++ b/solve/gradle-parts/02-base.gradle @@ -74,13 +74,7 @@ jastadd { buildInfoDir = 'src/gen-res' // default options are: '--rewrite=cnta', '--safeLazy', '--visitCheck=false', '--cacheCycle=false' - extraJastAddOptions = [ - '--lineColumnNumbers', - '--cache=all', - "--flush=api", - "--incremental=param,debug", - "--tracing=api", - ] + extraJastAddOptions = project.ext.extraJastAddOptions } cleanGen.doFirst { diff --git a/solve/gradle-parts/rel-relast.gradle b/solve/gradle-parts/03-rel-relast.gradle similarity index 100% rename from solve/gradle-parts/rel-relast.gradle rename to solve/gradle-parts/03-rel-relast.gradle diff --git a/solve/gradle-parts/rel-namelookup.gradle b/solve/gradle-parts/rel-namelookup.gradle deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/timedBenchmark.sh b/timedBenchmark.sh index b509203719612ae46d7da376bd77598474c42a3a..c734c78952b6c92c4b67bffa7d1b5381e0ad364d 100755 --- a/timedBenchmark.sh +++ b/timedBenchmark.sh @@ -2,5 +2,4 @@ project=$1 query=$2 size=$3 -./gradlew :${project}:installDist -ChangeSet=$size ChangePath=solve/src/test/resources/models/$size/ Sequences=20 Query=Q$query java -jar $project/build/libs/solve-1.0-SNAPSHOT.jar +ChangeSet=$size ChangePath=solve/src/test/resources/models/$size/ Sequences=20 Query=Q$query java -jar "$project/build/libs/solve-1.0-SNAPSHOT.jar"