datahub/datahub-frontend/build.gradle

104 lines
2.5 KiB
Groovy
Raw Normal View History

plugins {
id "io.github.kobylynskyi.graphql.codegen" version "4.1.1"
id 'com.palantir.docker'
id 'scala'
}
apply from: "../gradle/versioning/versioning.gradle"
2019-08-31 20:51:14 -07:00
apply from: './play.gradle'
ext {
docker_repo = 'datahub-frontend-react'
docker_dir = 'datahub-frontend'
}
2019-08-31 20:51:14 -07:00
model {
// Must specify the dependency here as "stage" is added by rule based model.
tasks.myTar {
dependsOn stage
}
}
task myTar(type: Tar) {
extension = "tgz"
compression = Compression.GZIP
from("${buildDir}/stage")
into("bin") {
from("bin")
}
into("conf") {
from("conf")
fileMode = 0600
}
}
artifacts {
archives myTar
}
graphqlCodegen {
// For options: https://github.com/kobylynskyi/graphql-java-codegen/blob/master/docs/codegen-options.md
graphqlSchemaPaths = ["$projectDir/conf/datahub-frontend.graphql".toString()]
outputDir = new File("$projectDir/app/graphql")
packageName = "generated"
generateApis = true
modelValidationAnnotation = ""
customTypesMapping = [
Long: "Long",
]
}
tasks.withType(Checkstyle) {
exclude "**/generated/**"
}
checkstyleMain.source = "app/"
/*
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 'docker/monitoring/*'
include "docker/${docker_dir}/*"
}
tag("Debug", "${docker_registry}/${docker_repo}:debug")
// platform('linux/arm64', 'linux/amd64')
buildx(true)
load(true)
push(false)
}
task unversionZip(type: Copy, dependsOn: [':datahub-web-react:build', dist]) {
from ("${buildDir}/distributions")
include "datahub-frontend-${version}.zip"
into "${buildDir}/docker/"
rename "datahub-frontend-${version}.zip", "datahub-frontend.zip"
}
tasks.getByName("docker").dependsOn(unversionZip)
task cleanLocalDockerImages {
doLast {
rootProject.ext.cleanLocalDockerImages(docker_registry, docker_repo, "v${version}".toString())
}
}
dockerClean.finalizedBy(cleanLocalDockerImages)