135 lines
4.7 KiB
Groovy
Raw Permalink Normal View History

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'
}
2019-08-31 20:51:14 -07:00
ext.apiProject = project(':metadata-service:restli-api')
2019-08-31 20:51:14 -07:00
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) {
exclude module: "spring-boot-starter-tomcat"
}
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'
}
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
testRuntimeOnly externalDependency.logbackClassic
implementation externalDependency.charle
testImplementation externalDependency.testng
testImplementation externalDependency.springBootTest
testRuntimeOnly externalDependency.logbackClassic
}
configurations.all{
exclude group: "com.charleskorn.kaml", module:"kaml"
2019-08-31 20:51:14 -07: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
}
bootJar {
// backwards compatible with old war archive name
archiveFileName = 'war.war'
mainClass = 'com.linkedin.gms.GMSApplication'
2019-08-31 20:51:14 -07:00
}
bootRun {
environment "SCHEMA_REGISTRY_TYPE", "INTERNAL"
environment "KAFKA_SCHEMAREGISTRY_URL", "http://localhost:8080/schema-registry/api"
}
docker {
dependsOn bootJar
2025-04-07 10:13:07 +05:30
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"]
}
2025-04-07 10:13:07 +05:30
}