mirror of
				https://github.com/datahub-project/datahub.git
				synced 2025-11-03 20:27:50 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			124 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
			
		
		
	
	
			124 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
plugins {
 | 
						|
  id 'scala'
 | 
						|
  id 'com.palantir.docker'
 | 
						|
  id 'org.gradle.playframework'
 | 
						|
}
 | 
						|
 | 
						|
apply from: "../gradle/versioning/versioning.gradle"
 | 
						|
apply from: './play.gradle'
 | 
						|
 | 
						|
ext {
 | 
						|
  docker_repo = 'datahub-frontend-react'
 | 
						|
  docker_dir = 'datahub-frontend'
 | 
						|
}
 | 
						|
 | 
						|
model {
 | 
						|
  // Must specify the dependency here as "stage" is added by rule based model.
 | 
						|
  tasks.myTar {
 | 
						|
    dependsOn stage
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
task myTar(type: Tar) {
 | 
						|
  compression = Compression.GZIP
 | 
						|
 | 
						|
  from("${buildDir}/stage")
 | 
						|
 | 
						|
  into("bin") {
 | 
						|
    from("bin")
 | 
						|
  }
 | 
						|
 | 
						|
  into("conf") {
 | 
						|
    from("conf")
 | 
						|
    fileMode = 0600
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
artifacts {
 | 
						|
  archives myTar
 | 
						|
}
 | 
						|
 | 
						|
/*
 | 
						|
PLAY UPGRADE NOTE
 | 
						|
Generates the distribution jars under the expected names. The playFramework plugin only accepts certain name values
 | 
						|
for the resulting folders and files, so some changes were made to accommodate. Default distribution is main if these are excluded
 | 
						|
 */
 | 
						|
distributions {
 | 
						|
  create("datahub-frontend") {
 | 
						|
    distributionBaseName = project.ext.playBinaryBaseName
 | 
						|
  }
 | 
						|
  playBinary {
 | 
						|
    distributionBaseName = project.ext.playBinaryBaseName
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
docker {
 | 
						|
  name "${docker_registry}/${docker_repo}:v${version}"
 | 
						|
  version "v${version}"
 | 
						|
  dockerfile file("${rootProject.projectDir}/docker/${docker_dir}/Dockerfile")
 | 
						|
  files fileTree(rootProject.projectDir) {
 | 
						|
    include '.dockerignore'
 | 
						|
    include 'docker/monitoring/*'
 | 
						|
    include "docker/${docker_dir}/*"
 | 
						|
  }.exclude {
 | 
						|
    i -> (!i.file.name.endsWith(".dockerignore") && i.file.isHidden())
 | 
						|
  }
 | 
						|
  tag("Debug", "${docker_registry}/${docker_repo}:debug")
 | 
						|
 | 
						|
  // platform('linux/arm64', 'linux/amd64')
 | 
						|
  buildx(true)
 | 
						|
  load(true)
 | 
						|
  push(false)
 | 
						|
 | 
						|
  // Add build args if they are defined (needed for some CI or enterprise environments)
 | 
						|
  def dockerBuildArgs = [:]
 | 
						|
  if (project.hasProperty('alpineApkRepositoryUrl')) {
 | 
						|
    dockerBuildArgs.ALPINE_REPO_URL = project.getProperty('alpineApkRepositoryUrl')
 | 
						|
  }
 | 
						|
  if (project.hasProperty('githubMirrorUrl')) {
 | 
						|
    dockerBuildArgs.GITHUB_REPO_URL = project.getProperty('githubMirrorUrl')
 | 
						|
  }
 | 
						|
  if (project.hasProperty('mavenCentralRepositoryUrl')) {
 | 
						|
    dockerBuildArgs.MAVEN_CENTRAL_REPO_URL = project.getProperty('mavenCentralRepositoryUrl')
 | 
						|
  }
 | 
						|
 | 
						|
  if (dockerBuildArgs.size() > 0) {
 | 
						|
    buildArgs(dockerBuildArgs)
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
task unversionZip(type: Copy, dependsOn: [':datahub-web-react:distZip', dist]) {
 | 
						|
  from ("${buildDir}/distributions")
 | 
						|
  include "datahub-frontend-${version}.zip"
 | 
						|
  into "${buildDir}/docker/"
 | 
						|
  rename "datahub-frontend-${version}.zip", "datahub-frontend.zip"
 | 
						|
}
 | 
						|
tasks.getByPath(":datahub-frontend:docker").dependsOn(unversionZip)
 | 
						|
 | 
						|
task cleanLocalDockerImages {
 | 
						|
  doLast {
 | 
						|
    rootProject.ext.cleanLocalDockerImages(docker_registry, docker_repo, "${version}")
 | 
						|
  }
 | 
						|
}
 | 
						|
dockerClean.finalizedBy(cleanLocalDockerImages)
 | 
						|
 | 
						|
// gradle 8 fixes
 | 
						|
tasks.getByName('createDatahub-frontendTarDist').dependsOn 'stageMainDist'
 | 
						|
tasks.getByName('createDatahub-frontendZipDist').dependsOn 'stageMainDist'
 | 
						|
stagePlayBinaryDist.dependsOn tasks.getByName('createDatahub-frontendStartScripts')
 | 
						|
playBinaryDistTar.dependsOn tasks.getByName('createDatahub-frontendStartScripts')
 | 
						|
playBinaryDistZip.dependsOn tasks.getByName('createDatahub-frontendStartScripts')
 | 
						|
tasks.getByName('stageDatahub-frontendDist').dependsOn stagePlayBinaryDist
 | 
						|
tasks.getByName('stageDatahub-frontendDist').dependsOn createPlayBinaryStartScripts
 | 
						|
tasks.getByName('datahub-frontendDistTar').dependsOn createPlayBinaryStartScripts
 | 
						|
tasks.getByName('datahub-frontendDistTar').dependsOn createMainStartScripts
 | 
						|
tasks.getByName('datahub-frontendDistZip').dependsOn createPlayBinaryStartScripts
 | 
						|
tasks.getByName('datahub-frontendDistZip').dependsOn createMainStartScripts
 | 
						|
playBinaryDistTar.dependsOn createMainStartScripts
 | 
						|
playBinaryDistZip.dependsOn createMainStartScripts
 | 
						|
createMainStartScripts.dependsOn 'stageDatahub-frontendDist'
 | 
						|
createPlayBinaryTarDist.dependsOn 'stageDatahub-frontendDist'
 | 
						|
createPlayBinaryZipDist.dependsOn 'stageDatahub-frontendDist'
 | 
						|
createPlayBinaryTarDist.dependsOn 'stageMainDist'
 | 
						|
createPlayBinaryZipDist.dependsOn 'stageMainDist'
 |