aboutsummaryrefslogtreecommitdiffstats
path: root/language-web/build.gradle
diff options
context:
space:
mode:
Diffstat (limited to 'language-web/build.gradle')
-rw-r--r--language-web/build.gradle27
1 files changed, 19 insertions, 8 deletions
diff --git a/language-web/build.gradle b/language-web/build.gradle
index c467c019..ea2f1269 100644
--- a/language-web/build.gradle
+++ b/language-web/build.gradle
@@ -1,5 +1,6 @@
1apply plugin: 'java' 1apply plugin: 'java'
2apply from: "${rootDir}/gradle/xtext-common.gradle" 2apply from: "${rootDir}/gradle/xtext-common.gradle"
3apply from: "${rootDir}/gradle/junit.gradle"
3 4
4dependencies { 5dependencies {
5 implementation project(':refinery-language') 6 implementation project(':refinery-language')
@@ -8,8 +9,12 @@ dependencies {
8 implementation "org.eclipse.xtend:org.eclipse.xtend.lib:${xtextVersion}" 9 implementation "org.eclipse.xtend:org.eclipse.xtend.lib:${xtextVersion}"
9 implementation "org.eclipse.jetty:jetty-server:${jettyVersion}" 10 implementation "org.eclipse.jetty:jetty-server:${jettyVersion}"
10 implementation "org.eclipse.jetty:jetty-servlet:${jettyVersion}" 11 implementation "org.eclipse.jetty:jetty-servlet:${jettyVersion}"
12 implementation "org.eclipse.jetty.websocket:websocket-jetty-server:${jettyVersion}"
11 implementation "org.slf4j:slf4j-simple:${slf4JVersion}" 13 implementation "org.slf4j:slf4j-simple:${slf4JVersion}"
12 implementation "org.slf4j:log4j-over-slf4j:${slf4JVersion}" 14 implementation "org.slf4j:log4j-over-slf4j:${slf4JVersion}"
15 testImplementation testFixtures(project(':refinery-language'))
16 testImplementation "org.eclipse.xtext:org.eclipse.xtext.testing:${xtextVersion}"
17 testImplementation "org.eclipse.jetty.websocket:websocket-jetty-client:${jettyVersion}"
13} 18}
14 19
15def generateXtextLanguage = project(':refinery-language').tasks.named('generateXtextLanguage') 20def generateXtextLanguage = project(':refinery-language').tasks.named('generateXtextLanguage')
@@ -35,18 +40,28 @@ frontend {
35 yarnEnabled = true 40 yarnEnabled = true
36 yarnVersion = project.ext.yarnVersion 41 yarnVersion = project.ext.yarnVersion
37 yarnInstallDirectory = file("${rootDir}/.gradle/yarn") 42 yarnInstallDirectory = file("${rootDir}/.gradle/yarn")
38 assembleScript = 'run assemble' 43 assembleScript = 'run assemble:webpack'
39} 44}
40 45
41def installFrontend = tasks.named('installFrontend') 46def installFrontend = tasks.named('installFrontend')
42 47
48def generateLezerGrammar = tasks.register('generateLezerGrammar', RunNpmYarn) {
49 dependsOn installFrontend
50 inputs.file('src/main/js/language/problem.grammar')
51 inputs.files('package.json', 'yarn.lock')
52 outputs.file "${buildDir}/generated/sources/lezer/problem.ts"
53 outputs.file "${buildDir}/generated/sources/lezer/problem.terms.ts"
54 script = 'run assemble:lezer'
55}
56
43def assembleFrontend = tasks.named('assembleFrontend') 57def assembleFrontend = tasks.named('assembleFrontend')
44assembleFrontend.configure { 58assembleFrontend.configure {
45 dependsOn generateXtextLanguage 59 dependsOn generateLezerGrammar
46 inputs.dir 'src/main/css' 60 inputs.dir 'src/main/css'
47 inputs.dir 'src/main/html' 61 inputs.dir 'src/main/html'
48 inputs.dir 'src/main/js' 62 inputs.dir 'src/main/js'
49 inputs.dir "${buildDir}/generated/sources/xtext/js" 63 inputs.file "${buildDir}/generated/sources/lezer/problem.ts"
64 inputs.file "${buildDir}/generated/sources/lezer/problem.terms.ts"
50 inputs.files('package.json', 'yarn.lock', 'webpack.config.js') 65 inputs.files('package.json', 'yarn.lock', 'webpack.config.js')
51 outputs.dir productionResources 66 outputs.dir productionResources
52} 67}
@@ -125,7 +140,7 @@ def jettyRun = tasks.register('jettyRun', JavaExec) {
125 140
126tasks.register('webpackServe', RunNpmYarn) { 141tasks.register('webpackServe', RunNpmYarn) {
127 dependsOn installFrontend 142 dependsOn installFrontend
128 dependsOn generateXtextLanguage 143 dependsOn generateLezerGrammar
129 outputs.dir "${webpackOutputDir}/development" 144 outputs.dir "${webpackOutputDir}/development"
130 script = 'run serve' 145 script = 'run serve'
131 group = 'run' 146 group = 'run'
@@ -138,10 +153,6 @@ sonarqube.properties {
138 'src/main/html', 153 'src/main/html',
139 'src/main/js', 154 'src/main/js',
140 ] 155 ]
141 properties['sonar.exclusions'] += [
142 'src/main/css/xtext/**',
143 'src/main/js/xtext/**',
144 ]
145 property 'sonar.nodejs.executable', "${nodeDirectory}/bin/node" 156 property 'sonar.nodejs.executable', "${nodeDirectory}/bin/node"
146 property 'sonar.eslint.reportPaths', "${buildDir}/eslint.json" 157 property 'sonar.eslint.reportPaths', "${buildDir}/eslint.json"
147 property 'sonar.css.stylelint.reportPaths', "${buildDir}/stylelint.json" 158 property 'sonar.css.stylelint.reportPaths', "${buildDir}/stylelint.json"