diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8f90053164374ce92e16e123f07bcdcd3a8045bc..a760d0906d3fed719ed64ce1844bf424cf11b0b8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -10,13 +10,17 @@ stages: build: image: openjdk:11 stage: build + before_script: + - apt-get update && apt-get -y install graphviz script: - "./gradlew relast" - "./gradlew assemble" + - "./gradlew generateGrammarDiagrams" artifacts: paths: - "src/gen/java" - "src/gen/jastadd" + - "src/gen/resources" test: image: openjdk:11 @@ -59,9 +63,6 @@ ragdoc_view: - OUTPUT_DIR=$(pwd -P)/pages/docs/ragdoc - cd /ragdoc-view/src/ && rm -rf data && ln -s $DATA_DIR - /ragdoc-view/build-view.sh --output-path=$OUTPUT_DIR - only: - - tests/openapi-generator - - main artifacts: paths: - "pages/docs/ragdoc" @@ -75,10 +76,8 @@ pages: before_script: - pip install -r pages/requirements.txt script: + - cp -r src/gen/resources/diagrams/ pages/docs/diagrams - cd pages && mkdocs build artifacts: paths: - - public/ - only: - - tests/openapi-generator - - main + - public/ \ No newline at end of file diff --git a/build.gradle b/build.gradle index 41d0e7658aebaa5e5d40c7a09c46781616ec9f1f..402130e84c5b7006d4852030bae3c198dfd575b4 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}" @@ -86,6 +92,20 @@ 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 + main = 'de.tudresden.inf.st.jastadd.grammar2uml.compiler.Compiler' + + args "--output=${grammarDiagramFile}", '--defaultFolders' + args relastInputFiles + + inputs.files relastInputFiles + outputs.files file(grammarDiagramFile) +} task relast(type: JavaExec) { classpath = files("libs/relast.jar") @@ -163,3 +183,6 @@ jastadd { delete "src/gen-res" } } + +generateAst.dependsOn relast +generateGrammarDiagrams.dependsOn generateAst diff --git a/gradle.properties b/gradle.properties index 7009aabd1bb194a1cc17038702cf1e62b5f8cb75..99c154b69102a4a8b2843c255511324e99e988d8 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.2-13 diff --git a/pages/docs/index.md b/pages/docs/index.md index 9f7cda8ed5fcaff95eb3e5566a6609dc61696f6b..19e436a3fce9dd0313eeeaf341903c3093b4b2e6 100644 --- a/pages/docs/index.md +++ b/pages/docs/index.md @@ -1 +1,3 @@ -Index \ No newline at end of file +Index + + \ No newline at end of file