mirror of
				https://github.com/datahub-project/datahub.git
				synced 2025-10-31 18:59:23 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			116 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
| 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 = 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']
 | |
| }
 | |
| 
 | |
| 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 {
 | |
|   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'
 | |
| }
 | 
