diff --git a/build.gradle b/build.gradle index 20e14f5cc91982f1952861dd75d633be9f46e5c5..ac60ed0abe941fe6e33e9b18fb3b4ff4c376240a 100644 --- a/build.gradle +++ b/build.gradle @@ -19,9 +19,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}" @@ -84,6 +90,19 @@ def relastOutputFiles = [ "src/gen/jastadd/OpenAPISpecification.ast", "src/gen/jastadd/OpenAPISpecification.jadd" ] +def grammarDiagramFile = './src/gen/resources/diagrams/grammar/openapiRelast.png' + + +task generateGrammarDiagrams(type: JavaExec) { + group = 'Documentation' + classpath = configurations.grammar2uml + + args "--output=${grammarDiagramFile}", '--defaultFolders' + args relastInputFiles + + inputs.files relastInputFiles + outputs.files file(grammarDiagramFile) +} task relast(type: JavaExec) { classpath = files("libs/relast.jar") diff --git a/gradle.properties b/gradle.properties index 7009aabd1bb194a1cc17038702cf1e62b5f8cb75..c0b50526cb7547533c933897a1db274967747899 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,4 +2,5 @@ json_patch_version = 0.4.11 swagger_parser_version = 2.0.30 junit_jupiter_version = 5.7.0 json_path_version = 2.6.0 -jastaddgradle_version = 1.13.3 \ No newline at end of file +jastaddgradle_version = 1.13.3 +grammar2uml_version = 0.2.1 \ No newline at end of file