datahub/datahub-web-react/build.gradle

116 lines
2.6 KiB
Groovy
Raw Normal View History

plugins {
id 'java'
}
apply plugin: 'distribution'
apply plugin: 'com.github.node-gradle.node'
node {
// If true, it will download node using above parameters.
// If false, it will try to use globally installed node.
if (project.hasProperty('useSystemNode')) {
download = ! project.getProperty('useSystemNode').toBoolean()
} else {
download = false
}
// Version of node to use.
version = '16.8.0'
// Version of Yarn to use.
yarnVersion = '1.22.0'
// Base URL for fetching node distributions (set nodeDistBaseUrl if you have a mirror).
if (project.hasProperty('nodeDistBaseUrl')) {
distBaseUrl = project.getProperty('nodeDistBaseUrl')
} else {
distBaseUrl = 'https://nodejs.org/dist'
}
// Set the work directory for unpacking node
workDir = file("${project.projectDir}/.gradle/nodejs")
// Set the work directory for NPM
yarnWorkDir = file("${project.projectDir}/.gradle/yarn")
// Set the work directory where node_modules should be located
nodeModulesDir = file("${project.projectDir}")
}
/*
Wrappers around Yarn Tasks.
*/
task yarnInstall(type: YarnTask) {
args = ['install']
}
task yarnGenerate(type: YarnTask, dependsOn: yarnInstall) {
args = ['run', 'generate']
}
task yarnServe(type: YarnTask, dependsOn: [yarnInstall, yarnGenerate]) {
args = ['run', 'start', '--proxy', 'http://localhost:9001']
}
task yarnTest(type: YarnTask, dependsOn: [yarnInstall, yarnGenerate]) {
args = ['run', 'test', '--watchAll', 'false']
}
task yarnLint(type: YarnTask, dependsOn: [yarnInstall, yarnGenerate]) {
args = ['run', 'lint']
}
test.dependsOn([yarnInstall, yarnTest, yarnLint])
task yarnLintFix(type: YarnTask, dependsOn: [yarnInstall, yarnGenerate]) {
args = ['run', 'lint-fix']
}
task yarnBuild(type: YarnTask, dependsOn: [yarnInstall, yarnTest, yarnLint]) {
args = ['run', 'build']
}
task yarnQuickBuild(type: YarnTask, dependsOn: [yarnInstall, yarnGenerate]) {
args = ['run', 'build']
}
task cleanExtraDirs {
2022-12-29 11:26:42 -06:00
delete 'node_modules/.yarn-integrity'
delete 'dist'
delete 'tmp'
delete 'just'
delete 'src/types.generated.ts'
delete fileTree('../datahub-frontend/public')
delete fileTree(dir: 'src/graphql', include: '*.generated.ts')
}
clean.finalizedBy(cleanExtraDirs)
configurations {
assets
}
distZip {
dependsOn yarnQuickBuild
baseName 'datahub-web-react'
from 'dist'
}
task copyAssets(dependsOn: distZip) {
doLast {
copy {
from zipTree(distZip.outputs.files.first())
into "../datahub-frontend/public"
}
}
}
jar {
dependsOn distZip, copyAssets
into('public') {
from zipTree(distZip.outputs.files.first())
}
classifier = 'assets'
}