mirror of
https://github.com/datahub-project/datahub.git
synced 2025-06-27 05:03:31 +00:00
131 lines
4.6 KiB
Groovy
131 lines
4.6 KiB
Groovy
plugins {
|
|
id 'org.springframework.boot'
|
|
id 'java'
|
|
}
|
|
|
|
apply from: '../../gradle/coverage/java-coverage.gradle'
|
|
apply from: "../../gradle/versioning/versioning.gradle"
|
|
apply from: "../../gradle/docker/docker.gradle"
|
|
|
|
ext {
|
|
docker_repo = 'datahub-gms'
|
|
}
|
|
|
|
ext.apiProject = project(':metadata-service:restli-api')
|
|
|
|
dependencies {
|
|
implementation project(':metadata-service:factories')
|
|
implementation project(':metadata-service:auth-filter')
|
|
implementation project(':metadata-service:servlet')
|
|
implementation project(':metadata-service:auth-servlet-impl')
|
|
implementation project(':metadata-service:graphql-servlet-impl')
|
|
implementation project(':metadata-service:openapi-servlet')
|
|
implementation project(':metadata-service:openapi-entity-servlet')
|
|
implementation project(':metadata-service:openapi-analytics-servlet')
|
|
implementation project(':metadata-service:schema-registry-servlet')
|
|
implementation project(':metadata-service:iceberg-catalog')
|
|
implementation 'org.apache.iceberg:iceberg-core:1.6.1'
|
|
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
|
|
|
|
implementation(externalDependency.springBootStarterWeb)
|
|
implementation(externalDependency.springBootStarterJetty)
|
|
implementation(externalDependency.springBootStarterValidation)
|
|
|
|
implementation externalDependency.jettyJmx
|
|
implementation externalDependency.springWebMVC
|
|
implementation externalDependency.springBootAutoconfigure
|
|
implementation externalDependency.servletApi
|
|
runtimeOnly externalDependency.opentelemetryExporter
|
|
runtimeOnly externalDependency.openTelemetryExporterLogging
|
|
runtimeOnly externalDependency.openTelemetryExporterCommon
|
|
|
|
implementation spec.product.pegasus.restliDocgen
|
|
implementation spec.product.pegasus.restliSpringBridge
|
|
|
|
compileOnly externalDependency.lombok
|
|
annotationProcessor externalDependency.lombok
|
|
runtimeOnly externalDependency.log4jCore
|
|
runtimeOnly externalDependency.log4j2Api
|
|
runtimeOnly externalDependency.logbackClassic
|
|
implementation externalDependency.awsMskIamAuth
|
|
implementation externalDependency.azureIdentityExtensions
|
|
implementation externalDependency.azureIdentity
|
|
testRuntimeOnly externalDependency.logbackClassic
|
|
implementation externalDependency.charle
|
|
|
|
testImplementation externalDependency.testng
|
|
testImplementation externalDependency.springBootTest
|
|
testRuntimeOnly externalDependency.logbackClassic
|
|
}
|
|
configurations.all{
|
|
exclude group: "com.charleskorn.kaml", module:"kaml"
|
|
}
|
|
|
|
tasks.register('run') {
|
|
group = 'application' // Add a group for better organization
|
|
description = 'Runs the application with Gretty'
|
|
dependsOn 'bootRun' // spring task
|
|
}
|
|
|
|
bootJar {
|
|
// backwards compatible with old war archive name
|
|
archiveFileName = 'war.war'
|
|
mainClass = 'com.linkedin.gms.GMSApplication'
|
|
}
|
|
|
|
bootRun {
|
|
environment "SCHEMA_REGISTRY_TYPE", "INTERNAL"
|
|
environment "KAFKA_SCHEMAREGISTRY_URL", "http://localhost:8080/schema-registry/api"
|
|
}
|
|
|
|
docker {
|
|
dependsOn bootJar
|
|
name "${docker_registry}/${docker_repo}:${versionTag}"
|
|
dockerfile file("${rootProject.projectDir}/docker/${docker_repo}/Dockerfile")
|
|
files bootJar.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())
|
|
}
|
|
additionalTag("Debug", "${docker_registry}/${docker_repo}:debug")
|
|
|
|
// 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)
|
|
}
|
|
|
|
debugBuildArgs = [APP_ENV: 'dev']
|
|
}
|
|
|
|
test {
|
|
jacoco {
|
|
// This contains quickstart tested code for jetty startup
|
|
excludes = ["com.linkedin.gms.CommonApplicationConfig",
|
|
"com.linkedin.gms.ServletConfig",
|
|
"com.linkedin.gms.GMSApplication"]
|
|
}
|
|
}
|