From 2e0aeeabdd445dbad1d0bac12e51182aaa195412 Mon Sep 17 00:00:00 2001
From: rschoene <rene.schoene@tu-dresden.de>
Date: Tue, 20 Apr 2021 13:41:10 +0200
Subject: [PATCH] Fix incremental/flush, add reusable-flush, deactivate
 benchmark on ci

---
 .gitlab-ci.yml                                |  5 +---
 all-timed-benchmark.sh                        |  4 ++--
 namelookup-xml-flush/build.gradle             |  6 ++---
 namelookup-xml-inc/build.gradle               |  6 ++---
 relast-reusable-flush/.gitignore              |  1 +
 relast-reusable-flush/build.gradle            | 23 +++++++++++++++++++
 relast-reusable-flush/jastadd_modules         | 13 +++++++++++
 .../src/gen/jastadd/.gitkeep                  |  0
 relast-reusable-inc/build.gradle              |  6 ++---
 relast-xml-flush/build.gradle                 |  6 ++---
 relast-xml-inc/build.gradle                   |  6 ++---
 settings.gradle                               |  1 +
 solve/build.gradle                            |  6 ++---
 solve/gradle-parts/01-inc-flush.gradle        |  7 ++++++
 solve/gradle-parts/01-inc-incremental.gradle  |  7 ++++++
 .../{base.gradle => 02-base.gradle}           |  8 +------
 ...rel-relast.gradle => 03-rel-relast.gradle} |  0
 solve/gradle-parts/rel-namelookup.gradle      |  0
 timedBenchmark.sh                             |  3 +--
 19 files changed, 75 insertions(+), 33 deletions(-)
 create mode 120000 relast-reusable-flush/.gitignore
 create mode 100644 relast-reusable-flush/build.gradle
 create mode 100644 relast-reusable-flush/jastadd_modules
 rename solve/gradle-parts/inc-flush.gradle => relast-reusable-flush/src/gen/jastadd/.gitkeep (100%)
 create mode 100644 solve/gradle-parts/01-inc-flush.gradle
 create mode 100644 solve/gradle-parts/01-inc-incremental.gradle
 rename solve/gradle-parts/{base.gradle => 02-base.gradle} (93%)
 rename solve/gradle-parts/{rel-relast.gradle => 03-rel-relast.gradle} (100%)
 delete mode 100644 solve/gradle-parts/rel-namelookup.gradle

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8d5e3f2..3e25a31 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 40ab30f..1ea69e0 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 f4790d8..22e5a75 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 a998254..bbc3f2a 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 0000000..ceb2b69
--- /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 0000000..46f61fc
--- /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 0000000..b1c7ae2
--- /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 9b02e1f..bb719dc 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 cf5bca3..d9215fe 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 ac6352f..851c96e 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 ba25857..666aad8 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 ac6352f..851c96e 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 0000000..577b3ee
--- /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 0000000..39e8592
--- /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 eacb43e..47fbd74 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 e69de29..0000000
diff --git a/timedBenchmark.sh b/timedBenchmark.sh
index b509203..c734c78 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"
-- 
GitLab