aboutsummaryrefslogtreecommitdiffstats
path: root/language-web/build.gradle
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2021-10-05 21:27:30 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2021-10-05 21:47:45 +0200
commit5032e0c67792838d6754d172301e2373cf68deb7 (patch)
tree6ec80e200e15f45659b5be1af4da65729f26d888 /language-web/build.gradle
parentdocs: fix typo (diff)
downloadrefinery-5032e0c67792838d6754d172301e2373cf68deb7.tar.gz
refinery-5032e0c67792838d6754d172301e2373cf68deb7.tar.zst
refinery-5032e0c67792838d6754d172301e2373cf68deb7.zip
ci(web): add eslint and stylelint to sonar
Diffstat (limited to 'language-web/build.gradle')
-rw-r--r--language-web/build.gradle33
1 files changed, 18 insertions, 15 deletions
diff --git a/language-web/build.gradle b/language-web/build.gradle
index 0403bb3d..526ba2da 100644
--- a/language-web/build.gradle
+++ b/language-web/build.gradle
@@ -27,9 +27,11 @@ def serverMainClass = 'tools.refinery.language.web.ServerLauncher'
27apply plugin: 'org.siouan.frontend-jdk11' 27apply plugin: 'org.siouan.frontend-jdk11'
28import org.siouan.frontendgradleplugin.infrastructure.gradle.RunNpmYarn 28import org.siouan.frontendgradleplugin.infrastructure.gradle.RunNpmYarn
29 29
30def nodeDirectory = "${rootDir}/.gradle/node"
31
30frontend { 32frontend {
31 nodeVersion = project.ext.nodeVersion 33 nodeVersion = project.ext.nodeVersion
32 nodeInstallDirectory = file("${rootDir}/.gradle/node") 34 nodeInstallDirectory = file(nodeDirectory)
33 yarnEnabled = true 35 yarnEnabled = true
34 yarnVersion = project.ext.yarnVersion 36 yarnVersion = project.ext.yarnVersion
35 yarnInstallDirectory = file("${rootDir}/.gradle/yarn") 37 yarnInstallDirectory = file("${rootDir}/.gradle/yarn")
@@ -49,23 +51,16 @@ assembleFrontend.configure {
49 outputs.dir productionResources 51 outputs.dir productionResources
50} 52}
51 53
52tasks.register('webpackStats', RunNpmYarn) {
53 dependsOn installFrontend
54 dependsOn generateXtextLanguage
55 inputs.dir 'src/main/css'
56 inputs.dir 'src/main/html'
57 inputs.dir 'src/main/js'
58 inputs.dir "${buildDir}/generated/sources/xtext/js"
59 inputs.files('package.json', 'yarn.lock', 'webpack.config.js')
60 outputs.file "${buildDir}/webpack/stats.json"
61 script = 'run stats'
62}
63
64def eslint = tasks.register('eslint', RunNpmYarn) { 54def eslint = tasks.register('eslint', RunNpmYarn) {
65 dependsOn installFrontend 55 dependsOn installFrontend
66 inputs.dir 'src/main/js' 56 inputs.dir 'src/main/js'
67 inputs.files('.eslintrc.js', 'tsconfig.json') 57 inputs.files('.eslintrc.js', 'tsconfig.json')
68 script = 'run check:eslint' 58 if (project.hasProperty('ci')) {
59 outputs.file "${buildDir}/eslint.json"
60 script = 'run check:eslint:ci'
61 } else {
62 script = 'run check:eslint'
63 }
69 group = 'verification' 64 group = 'verification'
70 description = 'Check for TypeScript errors.' 65 description = 'Check for TypeScript errors.'
71} 66}
@@ -74,7 +69,12 @@ def stylelint = tasks.register('stylelint', RunNpmYarn) {
74 dependsOn installFrontend 69 dependsOn installFrontend
75 inputs.dir 'src/main/css' 70 inputs.dir 'src/main/css'
76 inputs.file '.stylelintrc.js' 71 inputs.file '.stylelintrc.js'
77 script = 'run check:stylelint' 72 if (project.hasProperty('ci')) {
73 outputs.file "${buildDir}/stylelint.json"
74 script = 'run check:stylelint:ci'
75 } else {
76 script = 'run check:stylelint'
77 }
78 group = 'verification' 78 group = 'verification'
79 description = 'Check for Sass errors.' 79 description = 'Check for Sass errors.'
80} 80}
@@ -142,4 +142,7 @@ sonarqube.properties {
142 'src/main/css/xtext/**', 142 'src/main/css/xtext/**',
143 'src/main/js/xtext/**', 143 'src/main/js/xtext/**',
144 ] 144 ]
145 property 'sonar.nodejs.executable', "${nodeDirectory}/bin/node"
146 property 'sonar.eslint.reportPaths', "${buildDir}/eslint.json"
147 property 'sonar.css.stylelint.reportPaths', "${buildDir}/stylelint.json"
145} 148}