From 1bd5179292d659e13419fa736d5a26c197bf19ad Mon Sep 17 00:00:00 2001
From: rschoene <rene.schoene@tu-dresden.de>
Date: Tue, 9 Feb 2021 16:14:14 +0100
Subject: [PATCH] Include RagConnect aspects automatically, 0.2.8

---
 build.gradle                                    |  2 +-
 .../testing/plugin/JastAddConfiguration.java    |  1 +
 .../testing/plugin/RagConnectConfiguration.java | 16 ++++++++--------
 .../testing/plugin/RagConnectTest.java          | 10 ++++++++++
 .../testing/plugin/RelastConfiguration.java     | 17 +++++++++++------
 .../preprocessor/testing/plugin/RelastTest.java |  4 ++--
 6 files changed, 33 insertions(+), 17 deletions(-)

diff --git a/build.gradle b/build.gradle
index 739984f..0edac03 100644
--- a/build.gradle
+++ b/build.gradle
@@ -4,7 +4,7 @@ plugins {
 }
 
 group 'org.jastadd.preprocessor'
-version '0.2.7'
+version '0.2.8'
 
 gradlePlugin {
     plugins {
diff --git a/src/main/java/org/jastadd/preprocessor/testing/plugin/JastAddConfiguration.java b/src/main/java/org/jastadd/preprocessor/testing/plugin/JastAddConfiguration.java
index 1fbd3ea..0d60e46 100644
--- a/src/main/java/org/jastadd/preprocessor/testing/plugin/JastAddConfiguration.java
+++ b/src/main/java/org/jastadd/preprocessor/testing/plugin/JastAddConfiguration.java
@@ -37,6 +37,7 @@ public interface JastAddConfiguration {
     return getExtraOptions() != null ? getExtraOptions() : Collections.emptyList();
   }
 
+  @Optional
   @InputFiles
   List<File> getInputFiles();
   void setInputFiles(List<File> inputFiles);
diff --git a/src/main/java/org/jastadd/preprocessor/testing/plugin/RagConnectConfiguration.java b/src/main/java/org/jastadd/preprocessor/testing/plugin/RagConnectConfiguration.java
index f05b0e7..8c7bb91 100644
--- a/src/main/java/org/jastadd/preprocessor/testing/plugin/RagConnectConfiguration.java
+++ b/src/main/java/org/jastadd/preprocessor/testing/plugin/RagConnectConfiguration.java
@@ -18,6 +18,14 @@ public interface RagConnectConfiguration {
   String getRootNode();
   void setRootNode(String rootNode);
 
+  @Input
+  String getOutputDir();
+  void setOutputDir(String outputDir);
+
+  @InputFiles
+  List<File> getInputFiles();
+  void setInputFiles(List<File> inputFiles);
+
   @Optional
   @Input
   boolean isLogReads();
@@ -28,10 +36,6 @@ public interface RagConnectConfiguration {
   boolean isLogWrites();
   void setLogWrites(boolean logWrites);
 
-  @Input
-  String getOutputDir();
-  void setOutputDir(String outputDir);
-
   @Optional
   @Input
   boolean isVerbose();
@@ -41,8 +45,4 @@ public interface RagConnectConfiguration {
   @Input
   List<String> getProtocols();
   void setProtocols(List<String> protocols);
-
-  @InputFiles
-  List<File> getInputFiles();
-  void setInputFiles(List<File> inputFiles);
 }
diff --git a/src/main/java/org/jastadd/preprocessor/testing/plugin/RagConnectTest.java b/src/main/java/org/jastadd/preprocessor/testing/plugin/RagConnectTest.java
index 7b50f42..726c6ec 100644
--- a/src/main/java/org/jastadd/preprocessor/testing/plugin/RagConnectTest.java
+++ b/src/main/java/org/jastadd/preprocessor/testing/plugin/RagConnectTest.java
@@ -123,6 +123,16 @@ public abstract class RagConnectTest extends RelastTest {
 
     // now run relast + jastadd
     getRelast().setInputFiles(grammarFilesGeneratedByRagconnect());
+    if (getJastadd().getInputFiles() == null) {
+      getJastadd().setInputFiles(new ArrayList<>());
+    }
+    for (File file : aspectFilesGeneratedByRagconnect()) {
+      if (getJastadd().getInputFiles().contains(file)) {
+        getLogger().warn("Input file to JastAdd already known: {} - Remove from jastadd.inputFiles!", file);
+      } else {
+        getJastadd().getInputFiles().add(file);
+      }
+    }
     super.runTest();
   }
 }
diff --git a/src/main/java/org/jastadd/preprocessor/testing/plugin/RelastConfiguration.java b/src/main/java/org/jastadd/preprocessor/testing/plugin/RelastConfiguration.java
index ef689d2..958ec33 100644
--- a/src/main/java/org/jastadd/preprocessor/testing/plugin/RelastConfiguration.java
+++ b/src/main/java/org/jastadd/preprocessor/testing/plugin/RelastConfiguration.java
@@ -13,6 +13,8 @@ import java.util.List;
  * @author rschoene - Initial contribution
  */
 public interface RelastConfiguration {
+
+  @Optional
   @Input
   boolean isUseJastAddNames();
   void setUseJastAddNames(boolean useJastAddNames);
@@ -21,18 +23,20 @@ public interface RelastConfiguration {
   String getGrammarName();
   void setGrammarName(String grammarName);
 
-  @InputFiles
   @Optional
+  @InputFiles
   List<File> getInputFiles();
   void setInputFiles(List<File> inputFiles);
 
+  @Optional
   @Input
-  boolean isWriteToFile(); // = true;
-  void setWriteToFile(boolean writeToFile);
+  boolean isNoWriteToFile();
+  void setNoWriteToFile(boolean noWriteToFile);
 
+  @Optional
   @Input
-  boolean isResolverHelper(); // = true;
-  void setResolverHelper(boolean resolverHelper);
+  boolean isNoResolverHelper();
+  void setNoResolverHelper(boolean noResolverHelper);
 
   @Optional
   @Input
@@ -44,7 +48,8 @@ public interface RelastConfiguration {
   String getSerializer();
   void setSerializer(String serializer);
 
+  @Optional
   @Input
-  boolean isVerbose(); // = false;
+  boolean isVerbose();
   void setVerbose(boolean verbose);
 }
diff --git a/src/main/java/org/jastadd/preprocessor/testing/plugin/RelastTest.java b/src/main/java/org/jastadd/preprocessor/testing/plugin/RelastTest.java
index 2bb4c2a..6dc5f15 100644
--- a/src/main/java/org/jastadd/preprocessor/testing/plugin/RelastTest.java
+++ b/src/main/java/org/jastadd/preprocessor/testing/plugin/RelastTest.java
@@ -108,13 +108,13 @@ public abstract class RelastTest extends DefaultTask {
           args.add(file.getAbsolutePath());
         }
         args.add("--quiet");
-        if (getRelast().isWriteToFile()) {
+        if (!getRelast().isNoWriteToFile()) {
           args.add("--file");
         }
         if (getRelast().isUseJastAddNames()) {
           args.add("--useJastAddNames");
         }
-        if (getRelast().isResolverHelper()) {
+        if (!getRelast().isNoResolverHelper()) {
           args.add("--resolverHelper");
         }
         if (getJastadd().getJastAddList() != null) {
-- 
GitLab