From 505855e5ecf5ca6136dd92bac3b23e8a57c161ff Mon Sep 17 00:00:00 2001
From: Jueun Park <s5616012@mailbox.tu-dresden.de>
Date: Fri, 18 Mar 2022 19:26:44 +0900
Subject: [PATCH] edited build.gradle

---
 build.gradle | 35 +++++++++++++++++++++++++++++------
 1 file changed, 29 insertions(+), 6 deletions(-)

diff --git a/build.gradle b/build.gradle
index be96394c..2a964f71 100644
--- a/build.gradle
+++ b/build.gradle
@@ -20,9 +20,15 @@ repositories {
     }
 }
 
+configurations {
+    grammar2uml
+    relast
+}
+
 dependencies {
     implementation group: 'com.flipkart.zjsonpatch', name: 'zjsonpatch', version: "${json_patch_version}"
     implementation group: 'io.swagger.parser.v3', name: 'swagger-parser', version: "${swagger_parser_version}"
+    grammar2uml group: 'de.tudresden.inf.st', name: 'grammar2uml', version: "${grammar2uml_version}"
 
     testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: "${junit_jupiter_version}"
     testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: "${junit_jupiter_version}"
@@ -63,12 +69,12 @@ buildscript {
 
 
 jar {
-  manifest {
-    attributes(
-      'Class-Path': configurations.compile.collect { it.getName() }.join(' '),
-      'Main-Class': "${mainClassName}"
-    )
-  }
+    manifest {
+        attributes(
+                'Class-Path': configurations.compile.collect { it.getName() }.join(' '),
+                'Main-Class': "${mainClassName}"
+        )
+    }
 }
 
 test {
@@ -85,6 +91,22 @@ def relastOutputFiles = [
         "src/gen/jastadd/OpenAPISpecification.ast",
         "src/gen/jastadd/OpenAPISpecification.jadd"
 ]
+def genAst = [
+        "src/gen/jastadd/RelAst.ast"
+]
+def grammarDiagramFile = './src/gen/resources/diagrams/grammar/openapiRelast.png'
+
+
+task generateGrammarDiagrams(type: JavaExec) {
+    group = 'Documentation'
+    classpath = configurations.grammar2uml
+
+    args "--output=${grammarDiagramFile}", '--defaultFolders'
+    args genAst
+
+    inputs.files genAst
+    outputs.files file(grammarDiagramFile)
+}
 
 task relast(type: JavaExec) {
     classpath = files("libs/relast.jar")
@@ -163,6 +185,7 @@ jastadd {
     }
 }
 
+
 publishing {
     publications {
         maven(MavenPublication) {
-- 
GitLab