mirror of
https://github.com/datahub-project/datahub.git
synced 2025-06-27 05:03:31 +00:00

Co-authored-by: Hendrik Richert <hendrik.richert@swisscom.com> Co-authored-by: david-leifker <114954101+david-leifker@users.noreply.github.com>
111 lines
3.4 KiB
Groovy
111 lines
3.4 KiB
Groovy
plugins {
|
|
id 'war'
|
|
id 'com.palantir.docker'
|
|
}
|
|
|
|
apply from: "../../gradle/versioning/versioning.gradle"
|
|
|
|
ext {
|
|
docker_repo = 'datahub-gms'
|
|
}
|
|
|
|
ext.apiProject = project(':metadata-service:restli-api')
|
|
|
|
dependencies {
|
|
runtimeOnly project(':metadata-service:factories')
|
|
runtimeOnly project(':metadata-service:auth-filter')
|
|
runtimeOnly project(':metadata-service:servlet')
|
|
runtimeOnly project(':metadata-service:auth-servlet-impl')
|
|
runtimeOnly project(':metadata-service:graphql-servlet-impl')
|
|
runtimeOnly project(':metadata-service:openapi-servlet')
|
|
runtimeOnly project(':metadata-service:openapi-entity-servlet')
|
|
runtimeOnly project(':metadata-service:openapi-analytics-servlet')
|
|
runtimeOnly project(':metadata-service:schema-registry-servlet')
|
|
runtimeOnly project(':metadata-jobs:mce-consumer')
|
|
runtimeOnly project(':metadata-jobs:mae-consumer')
|
|
runtimeOnly project(':metadata-jobs:pe-consumer')
|
|
|
|
runtimeOnly externalDependency.awsSecretsManagerJdbc
|
|
runtimeOnly externalDependency.h2
|
|
runtimeOnly externalDependency.mariadbConnector
|
|
runtimeOnly externalDependency.mysqlConnector
|
|
runtimeOnly externalDependency.postgresql
|
|
runtimeOnly externalDependency.springWebMVC
|
|
|
|
runtimeOnly spec.product.pegasus.restliDocgen
|
|
runtimeOnly spec.product.pegasus.restliSpringBridge
|
|
|
|
runtimeOnly externalDependency.log4jCore
|
|
runtimeOnly externalDependency.log4j2Api
|
|
runtimeOnly externalDependency.logbackClassic
|
|
implementation externalDependency.awsMskIamAuth
|
|
testRuntimeOnly externalDependency.logbackClassic
|
|
implementation externalDependency.charle
|
|
}
|
|
configurations.all{
|
|
exclude group: "com.charleskorn.kaml", module:"kaml"
|
|
|
|
}
|
|
configurations {
|
|
jetty9
|
|
}
|
|
|
|
dependencies {
|
|
jetty9 "org.eclipse.jetty:jetty-runner:9.4.46.v20220331"
|
|
}
|
|
|
|
task run(type: JavaExec, dependsOn: build) {
|
|
main = "org.eclipse.jetty.runner.Runner"
|
|
args = ["${projectDir}/build/libs/war.war"]
|
|
classpath configurations.jetty9
|
|
}
|
|
|
|
war {
|
|
archiveFileName = "war.war"
|
|
}
|
|
|
|
docker {
|
|
name "${docker_registry}/${docker_repo}:v${version}"
|
|
version "v${version}"
|
|
dockerfile file("${rootProject.projectDir}/docker/${docker_repo}/Dockerfile")
|
|
files war.outputs.files
|
|
files fileTree(rootProject.projectDir) {
|
|
include '.dockerignore'
|
|
include 'docker/monitoring/*'
|
|
include "docker/${docker_repo}/*"
|
|
include 'metadata-models/src/main/resources/*'
|
|
}.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)
|
|
}
|
|
}
|
|
tasks.getByPath(":metadata-service:war:docker").dependsOn([build, war])
|
|
|
|
task cleanLocalDockerImages {
|
|
doLast {
|
|
rootProject.ext.cleanLocalDockerImages(docker_registry, docker_repo, "${version}")
|
|
}
|
|
}
|
|
dockerClean.finalizedBy(cleanLocalDockerImages)
|