apply plugin: 'distribution' apply plugin: 'com.github.node-gradle.node' node { // Version of node to use. version = '12.8.0' // Version of Yarn to use. yarnVersion = '1.13.0' // Base URL for fetching node distributions (change if you have a mirror). distBaseUrl = 'https://nodejs.org/dist' // If true, it will download node using above parameters. // If false, it will try to use globally installed node. download = true // Set the work directory for unpacking node workDir = file("${project.buildDir}/nodejs") // Set the work directory for NPM yarnWorkDir = file("${project.buildDir}/yarn") // Set the work directory where node_modules should be located nodeModulesDir = file("${project.projectDir}") } def yarnMainProject = 'datahub-web' task execYarn(type: YarnTask) { if (project.hasProperty('yarnArgs')) { args = yarnArgs.tokenize() } } task execEmber(type: NodeTask, dependsOn: execYarn) { script = file('node_modules/.bin/ember') if (project.hasProperty('emberArgs')) { args = emberArgs.tokenize() } } task emberServe(type: YarnTask, dependsOn: execEmber) { args = ['workspace', yarnMainProject, 'run', 'start', '--proxy', 'http://localhost:9001', '--secure-proxy=false'] } task emberWorkspaceTest(type: YarnTask, dependsOn: execEmber) { args = ['run', 'test'] } task emberBuild(type: YarnTask, dependsOn: emberWorkspaceTest) { args = ['workspace', yarnMainProject, 'run', 'build', '--environment', 'production'] } task emberTest(type: YarnTask, dependsOn: execEmber) { args = ['workspace', yarnMainProject, 'run', 'test'] } task emberCoverage(type: YarnTask, dependsOn: execEmber) { args = ['workspace', yarnMainProject, 'run', 'coverage'] } clean { delete 'node_modules' delete 'dist' delete 'tmp' delete 'just' } configurations { assets } distZip { dependsOn emberBuild baseName 'datahub-web' from 'packages/data-portal/dist' } if (!gradle.startParameter.taskNames.any { it in ["idea"] }) { artifacts { assets distZip } }