2022-12-26 10:09:08 -06:00
|
|
|
plugins {
|
2025-01-23 10:45:40 -06:00
|
|
|
id 'org.springframework.boot'
|
|
|
|
id 'java'
|
2022-12-26 10:09:08 -06:00
|
|
|
}
|
|
|
|
|
2024-12-03 06:57:43 +05:30
|
|
|
apply from: '../../gradle/coverage/java-coverage.gradle'
|
2022-12-26 10:09:08 -06:00
|
|
|
apply from: "../../gradle/versioning/versioning.gradle"
|
2025-04-02 11:51:10 +05:30
|
|
|
apply from: "../../gradle/docker/docker.gradle"
|
2022-12-26 10:09:08 -06:00
|
|
|
|
|
|
|
ext {
|
|
|
|
docker_repo = 'datahub-gms'
|
|
|
|
}
|
2019-08-31 20:51:14 -07:00
|
|
|
|
2021-08-20 10:58:07 -07:00
|
|
|
ext.apiProject = project(':metadata-service:restli-api')
|
2019-08-31 20:51:14 -07:00
|
|
|
|
|
|
|
dependencies {
|
2024-04-16 13:50:41 -05:00
|
|
|
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')
|
2025-01-30 04:08:15 -06:00
|
|
|
implementation project(':metadata-service:iceberg-catalog')
|
|
|
|
implementation 'org.apache.iceberg:iceberg-core:1.6.1'
|
2023-09-01 09:06:01 -05:00
|
|
|
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
|
2025-01-23 10:45:40 -06:00
|
|
|
|
|
|
|
implementation(externalDependency.springBootStarterWeb) {
|
|
|
|
exclude module: "spring-boot-starter-tomcat"
|
|
|
|
}
|
2025-04-22 20:07:22 -05:00
|
|
|
implementation(externalDependency.springBootStarterJetty) {
|
|
|
|
exclude group: 'org.apache.tomcat.embed', module: 'tomcat-embed-el'
|
|
|
|
}
|
|
|
|
implementation(externalDependency.springBootStarterValidation) {
|
|
|
|
exclude group: 'org.apache.tomcat.embed', module: 'tomcat-embed-el'
|
|
|
|
}
|
|
|
|
|
2025-01-23 10:45:40 -06:00
|
|
|
implementation externalDependency.jettyJmx
|
2024-04-16 13:50:41 -05:00
|
|
|
implementation externalDependency.springWebMVC
|
|
|
|
implementation externalDependency.springBootAutoconfigure
|
|
|
|
implementation externalDependency.servletApi
|
2025-03-14 17:09:26 -05:00
|
|
|
runtimeOnly externalDependency.opentelemetryExporter
|
2025-04-04 11:51:10 -03:00
|
|
|
runtimeOnly externalDependency.openTelemetryExporterLogging
|
|
|
|
runtimeOnly externalDependency.openTelemetryExporterCommon
|
2023-09-01 09:06:01 -05:00
|
|
|
|
2024-04-16 13:50:41 -05:00
|
|
|
implementation spec.product.pegasus.restliDocgen
|
|
|
|
implementation spec.product.pegasus.restliSpringBridge
|
2023-09-01 09:06:01 -05:00
|
|
|
|
2025-01-23 10:45:40 -06:00
|
|
|
compileOnly externalDependency.lombok
|
|
|
|
annotationProcessor externalDependency.lombok
|
2023-09-01 09:06:01 -05:00
|
|
|
runtimeOnly externalDependency.log4jCore
|
|
|
|
runtimeOnly externalDependency.log4j2Api
|
|
|
|
runtimeOnly externalDependency.logbackClassic
|
2022-01-12 23:49:34 -06:00
|
|
|
implementation externalDependency.awsMskIamAuth
|
2023-09-01 09:06:01 -05:00
|
|
|
testRuntimeOnly externalDependency.logbackClassic
|
2023-06-07 18:42:19 -05:00
|
|
|
implementation externalDependency.charle
|
2024-11-12 16:41:06 -06:00
|
|
|
|
|
|
|
testImplementation externalDependency.testng
|
|
|
|
testImplementation externalDependency.springBootTest
|
|
|
|
testRuntimeOnly externalDependency.logbackClassic
|
2023-06-07 18:42:19 -05:00
|
|
|
}
|
|
|
|
configurations.all{
|
|
|
|
exclude group: "com.charleskorn.kaml", module:"kaml"
|
2019-08-31 20:51:14 -07:00
|
|
|
}
|
|
|
|
|
2025-01-23 10:45:40 -06:00
|
|
|
tasks.register('run') {
|
|
|
|
group = 'application' // Add a group for better organization
|
|
|
|
description = 'Runs the application with Gretty'
|
|
|
|
dependsOn 'bootRun' // spring task
|
2019-08-31 20:51:14 -07:00
|
|
|
}
|
|
|
|
|
2025-01-23 10:45:40 -06:00
|
|
|
bootJar {
|
|
|
|
// backwards compatible with old war archive name
|
|
|
|
archiveFileName = 'war.war'
|
|
|
|
mainClass = 'com.linkedin.gms.GMSApplication'
|
2019-08-31 20:51:14 -07:00
|
|
|
}
|
2022-12-26 10:09:08 -06:00
|
|
|
|
2025-01-23 10:45:40 -06:00
|
|
|
bootRun {
|
|
|
|
environment "SCHEMA_REGISTRY_TYPE", "INTERNAL"
|
|
|
|
environment "KAFKA_SCHEMAREGISTRY_URL", "http://localhost:8080/schema-registry/api"
|
2022-12-26 10:09:08 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
docker {
|
2025-04-02 11:51:10 +05:30
|
|
|
dependsOn bootJar
|
2025-04-07 10:13:07 +05:30
|
|
|
name "${docker_registry}/${docker_repo}:${versionTag}"
|
2022-12-26 10:09:08 -06:00
|
|
|
dockerfile file("${rootProject.projectDir}/docker/${docker_repo}/Dockerfile")
|
2025-01-23 10:45:40 -06:00
|
|
|
files bootJar.outputs.files
|
2022-12-26 10:09:08 -06:00
|
|
|
files fileTree(rootProject.projectDir) {
|
2023-11-13 16:26:53 -06:00
|
|
|
include '.dockerignore'
|
2022-12-26 10:09:08 -06:00
|
|
|
include 'docker/monitoring/*'
|
|
|
|
include "docker/${docker_repo}/*"
|
|
|
|
include 'metadata-models/src/main/resources/*'
|
2023-08-17 00:10:17 -05:00
|
|
|
}.exclude {
|
2023-11-13 16:26:53 -06:00
|
|
|
i -> (!i.file.name.endsWith(".dockerignore") && i.file.isHidden())
|
2022-12-26 10:09:08 -06:00
|
|
|
}
|
2025-04-02 11:51:10 +05:30
|
|
|
additionalTag("Debug", "${docker_registry}/${docker_repo}:debug")
|
2023-11-28 21:52:11 +01:00
|
|
|
|
|
|
|
// 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)
|
|
|
|
}
|
2025-04-24 23:00:03 +05:30
|
|
|
|
|
|
|
debugBuildArgs = [APP_ENV: 'dev']
|
2022-12-26 10:09:08 -06:00
|
|
|
}
|
2025-01-23 10:45:40 -06:00
|
|
|
|
|
|
|
test {
|
|
|
|
jacoco {
|
|
|
|
// This contains quickstart tested code for jetty startup
|
|
|
|
excludes = ["com.linkedin.gms.CommonApplicationConfig",
|
|
|
|
"com.linkedin.gms.ServletConfig",
|
|
|
|
"com.linkedin.gms.GMSApplication"]
|
|
|
|
}
|
2025-04-07 10:13:07 +05:30
|
|
|
}
|