datahub/datahub-web-react/build.gradle

103 lines
2.3 KiB
Groovy
Raw Normal View History

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') && project.getProperty('useSystemNode').toBoolean()) {
download = false
} else {
download = true
}
// 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']
}
task yarnLintFix(type: YarnTask, dependsOn: [yarnInstall, yarnGenerate]) {
args = ['run', 'lint-fix']
}
task yarnBuild(type: YarnTask, dependsOn: [yarnInstall, yarnTest, yarnLint]) {
args = ['run', 'build']
}
clean {
delete 'node_modules'
delete 'dist'
delete 'tmp'
delete 'build'
delete 'just'
delete 'src/types.generated.ts'
delete fileTree(dir: 'src/graphql', include: '*.generated.ts')
}
configurations {
assets
}
distZip {
dependsOn yarnBuild
baseName 'datahub-web-react'
from 'dist'
}
task copyAssets {
dependsOn distZip
copy {
from 'dist'
into '../datahub-frontend/public/'
}
}
if (!gradle.startParameter.taskNames.any { it in ["idea"] }) {
artifacts {
assets distZip
}
}