From 7191cd3ebd4c31d7fbbf60d964506496e348a9e7 Mon Sep 17 00:00:00 2001 From: rschoene <rene.schoene@tu-dresden.de> Date: Mon, 21 Mar 2022 18:48:20 +0100 Subject: [PATCH] Using packaged relast and preprocessor --- gradle.properties | 1 + grammar2uml/build.gradle | 89 ++++++++++++++++++++++++++-------------- settings.gradle | 2 - 3 files changed, 60 insertions(+), 32 deletions(-) create mode 100644 gradle.properties diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..795bca0 --- /dev/null +++ b/gradle.properties @@ -0,0 +1 @@ +preprocessor_version = 0.1.0-41 diff --git a/grammar2uml/build.gradle b/grammar2uml/build.gradle index c7a40d5..1c54c91 100644 --- a/grammar2uml/build.gradle +++ b/grammar2uml/build.gradle @@ -11,20 +11,28 @@ plugins { id 'com.github.ben-manes.versions' id 'java' id 'idea' + id 'org.jastadd' id 'application' id 'java-library' id 'maven-publish' } -apply plugin: 'jastadd' - // --- Dependencies --- repositories { mavenCentral() + maven { + name 'gitlab-maven' + url 'https://git-st.inf.tu-dresden.de/api/v4/groups/jastadd/-/packages/maven' + } +} + +configurations { + relast } dependencies { - api project(':relast.preprocessor') + relast group: 'org.jastadd', name: 'relast', version: "0.3.0-137" + implementation group: 'org.jastadd', name: 'relast-preprocessor', version: "${preprocessor_version}" implementation group: 'net.sourceforge.plantuml', name: 'plantuml', version: '1.2022.2' @@ -38,13 +46,35 @@ dependencies { } // --- Preprocessors --- +ext { + extractLocation = "src/gen/jastadd-sources/relast.preprocessor" +} File genSrc = file("src/gen/java") sourceSets.main.java.srcDir genSrc idea.module.generatedSourceDirs += genSrc +task extractJastAddSources(type: Sync) { + dependsOn configurations.runtimeClasspath + configurations.runtimeClasspath.asFileTree.filter { it.toString().endsWith("relast-preprocessor-${preprocessor_version}.jar") }.collect { + from(zipTree(it)) { + include "**/*.jrag" + include "**/*.jadd" + include "**/*.ast" + include "**/*.relast" + include "**/*.flex" + include "**/*.parser" + } + } + includeEmptyDirs false + into file("${extractLocation}") +} + task relast(type: JavaExec) { group = 'Build' - main = "-jar" + classpath = configurations.relast + mainClass = 'org.jastadd.relast.compiler.Compiler' + + dependsOn extractJastAddSources doFirst { delete "src/gen/jastadd/*" @@ -53,8 +83,8 @@ task relast(type: JavaExec) { args = [ "../libs/relast.jar", - '../relast.preprocessor/src/main/jastadd/RelAst.relast', - '../relast.preprocessor/src/main/jastadd/mustache/Mustache.relast', + "${extractLocation}/RelAst.relast", + "${extractLocation}/mustache/Mustache.relast", './src/main/jastadd/Grammar2Uml.relast', './src/main/jastadd/MustacheNodes.relast', "--listClass=java.util.ArrayList", @@ -74,35 +104,35 @@ jastadd { module("Grammar2Uml") { jastadd { - basedir ".." - include "relast.preprocessor/src/main/jastadd/**/*.jadd" - include "relast.preprocessor/src/main/jastadd/**/*.jrag" - include "grammar2uml/src/main/jastadd/**/*.jadd" - include "grammar2uml/src/main/jastadd/**/*.jrag" - include "grammar2uml/src/gen/jastadd/**/*.ast" - include "grammar2uml/src/gen/jastadd/**/*.jadd" - include "grammar2uml/src/gen/jastadd/**/*.jrag" + basedir "." + include "src/gen/jastadd-sources/relast.preprocessor/**/*.jadd" + include "src/gen/jastadd-sources/relast.preprocessor/**/*.jrag" + include "src/main/jastadd/**/*.jadd" + include "src/main/jastadd/**/*.jrag" + include "src/gen/jastadd/**/*.ast" + include "src/gen/jastadd/**/*.jadd" + include "src/gen/jastadd/**/*.jrag" } scanner { - basedir ".." - include "grammar2uml/src/main/jastadd/scanner/Header.flex", [-5] - include "relast.preprocessor/src/main/jastadd/scanner/Preamble.flex", [-4] - include "relast.preprocessor/src/main/jastadd/scanner/Macros.flex", [-3] - include "grammar2uml/src/main/jastadd/scanner/Macros.flex", [-3] - include "relast.preprocessor/src/main/jastadd/scanner/RulesPreamble.flex", [-2] - include "grammar2uml/src/main/jastadd/scanner/MappingContent.flex", [-1] - include "grammar2uml/src/main/jastadd/scanner/Keywords.flex" - include "relast.preprocessor/src/main/jastadd/scanner/Keywords.flex" - include "relast.preprocessor/src/main/jastadd/scanner/Symbols.flex", [1] - include "relast.preprocessor/src/main/jastadd/scanner/RulesPostamble.flex", [2] + basedir "." + include "src/main/jastadd/scanner/Header.flex", [-5] + include "src/gen/jastadd-sources/relast.preprocessor/scanner/Preamble.flex", [-4] + include "src/gen/jastadd-sources/relast.preprocessor/scanner/Macros.flex", [-3] + include "src/main/jastadd/scanner/Macros.flex", [-3] + include "src/gen/jastadd-sources/relast.preprocessor/scanner/RulesPreamble.flex", [-2] + include "src/main/jastadd/scanner/MappingContent.flex", [-1] + include "src/main/jastadd/scanner/Keywords.flex" + include "src/gen/jastadd-sources/relast.preprocessor/scanner/Keywords.flex" + include "src/gen/jastadd-sources/relast.preprocessor/scanner/Symbols.flex", [1] + include "src/gen/jastadd-sources/relast.preprocessor/scanner/RulesPostamble.flex", [2] } parser { - basedir ".." - include "grammar2uml/src/main/jastadd/parser/Preamble.parser" - include "relast.preprocessor/src/main/jastadd/parser/RelAst.parser" - include "grammar2uml/src/main/jastadd/parser/Grammar2Uml.parser" + basedir "." + include "src/main/jastadd/parser/Preamble.parser" + include "src/gen/jastadd-sources/relast.preprocessor/parser/RelAst.parser" + include "src/main/jastadd/parser/Grammar2Uml.parser" } } } @@ -219,5 +249,4 @@ publishing { // --- Task order --- generateAst.dependsOn relast -jar.dependsOn ":relast.preprocessor:jar" publish.dependsOn jar diff --git a/settings.gradle b/settings.gradle index 00cc0ba..9ede92f 100644 --- a/settings.gradle +++ b/settings.gradle @@ -5,6 +5,4 @@ pluginManagement { } rootProject.name = 'grammar2uml' - -include 'relast.preprocessor' include 'grammar2uml' -- GitLab