datahub/metadata-io/build.gradle
Esteban Gutierrez 8a17ba14d6
fix(): Fixes multiple minor security vulnerabilities (#13222)
bug(snappy): Make sure right snappy version is installed
fix(docker): update Dockerize to version v0.9.3
fix(gms): fixes dgraph4j netty deps
fix(docker): remove SGID on /home/datahub and /home/datahub-integration
fix(datahub-actions): bump setuptools and wheel version
fix(docker): update c-ares version
fix(docker): datahub-actions addendum
2025-04-21 16:39:26 -05:00

167 lines
6.1 KiB
Groovy

plugins {
id 'java-library'
id 'pegasus'
id 'io.ebean' version "${ebeanVersion}" // Use the latest version from global build.gradle
id 'java-test-fixtures'
}
apply from: '../gradle/coverage/java-coverage.gradle'
configurations {
enhance
}
dependencies {
implementation project(':entity-registry')
implementation project(':metadata-service:auth-config')
api project(':metadata-io:metadata-io-api')
api project(':metadata-utils')
api project(':metadata-events:mxe-avro')
api project(':metadata-events:mxe-registration')
api project(':metadata-events:mxe-utils-avro')
api project(':metadata-models')
api project(':metadata-service:restli-client-api')
api project(':metadata-service:configuration')
api project(':metadata-service:services')
api project(':metadata-operation-context')
implementation spec.product.pegasus.restliServer
implementation spec.product.pegasus.data
implementation spec.product.pegasus.generator
implementation externalDependency.guava
implementation externalDependency.reflections
api(externalDependency.dgraph4j) {
exclude group: 'com.google.guava', module: 'guava'
exclude group: 'io.grpc', module: 'grpc-protobuf'
}
implementation externalDependency.dgraphNetty
implementation externalDependency.dgraphShadedNetty
implementation externalDependency.slf4jApi
runtimeOnly externalDependency.logbackClassic
compileOnly externalDependency.lombok
compileOnly externalDependency.hazelcast
implementation externalDependency.commonsCollections
api externalDependency.datastaxOssNativeProtocol
api(externalDependency.datastaxOssCore) {
exclude group: 'com.fasterxml.jackson.core'
}
api externalDependency.datastaxOssQueryBuilder
api externalDependency.elasticSearchRest
api externalDependency.elasticSearchJava
implementation externalDependency.javatuples
api externalDependency.javaxValidation
runtimeOnly externalDependency.jna
api externalDependency.kafkaClients
api externalDependency.ebean
annotationProcessor externalDependency.ebeanQueryBean
implementation externalDependency.ebeanDdl
implementation externalDependency.ebeanAgent
implementation externalDependency.opentelemetryAnnotations
implementation externalDependency.opentelemetrySdkTrace
implementation externalDependency.opentelemetrySdkMetrics
implementation externalDependency.resilience4j
// Newer Spring libraries require JDK17 classes, allow for JDK11
compileOnly externalDependency.springBootAutoconfigureJdk11
implementation(externalDependency.mixpanel) {
exclude group: 'org.json', module: 'json'
}
annotationProcessor externalDependency.lombok
testImplementation project(':test-models')
testImplementation project(path: ':test-models', configuration: 'testDataTemplate')
testImplementation project(':datahub-graphql-core')
testImplementation project(path: ':metadata-integration:java:datahub-client', configuration: 'shadow')
testImplementation project(':metadata-service:auth-impl')
testImplementation project(':li-utils')
testImplementation externalDependency.testng
testImplementation externalDependency.h2
testImplementation externalDependency.mysqlConnector
testImplementation externalDependency.neo4jHarness
testImplementation (externalDependency.neo4jApocCore) {
exclude group: 'org.yaml', module: 'snakeyaml'
}
testImplementation (externalDependency.neo4jApocCommon) {
exclude group: 'org.yaml', module: 'snakeyaml'
}
testImplementation externalDependency.mockito
testImplementation externalDependency.mockitoInline
testImplementation externalDependency.iStackCommons
testImplementation externalDependency.resilience4j
testImplementation externalDependency.testContainers
testImplementation externalDependency.testContainersJunit
testImplementation externalDependency.testContainersElasticsearch
testImplementation externalDependency.testContainersOpenSearch
testImplementation externalDependency.testContainersCassandra
testImplementation externalDependency.lombok
testImplementation externalDependency.springBootTest
testImplementation spec.product.pegasus.restliServer
testImplementation externalDependency.ebeanTest
testImplementation externalDependency.opentelemetrySdk
// logback >=1.3 required due to `testcontainers` only
testImplementation 'ch.qos.logback:logback-classic:1.4.7'
testImplementation 'net.datafaker:datafaker:1.9.0'
testImplementation(testFixtures(project(":entity-registry")))
testAnnotationProcessor externalDependency.lombok
testImplementation project(':mock-entity-registry')
constraints {
implementation(externalDependency.log4jCore) {
because("previous versions are vulnerable to CVE-2021-45105")
}
implementation(externalDependency.log4jApi) {
because("previous versions are vulnerable to CVE-2021-45105")
}
implementation(externalDependency.commonsText) {
because("previous versions are vulnerable to CVE-2022-42889")
}
implementation(externalDependency.snakeYaml) {
because("previous versions are vulnerable to CVE-2022-25857")
}
implementation(externalDependency.woodstoxCore) {
because("previous versions are vulnerable to CVE-2022-40151-2")
}
implementation(externalDependency.jettison) {
because("previous versions are vulnerable")
}
implementation(externalDependency.snappy) {
because("previous versions are vulnerable to CVE-2023-34453 through CVE-2023-34455")
}
implementation(externalDependency.grpcProtobuf) {
because("CVE-2023-1428, CVE-2023-32731")
}
}
}
test {
doFirst {
// override, testng controlling parallelization
// increasing >1 will merely run all tests extra times
maxParallelForks = 1
}
useTestNG() {
suites 'src/test/resources/testng.xml'
}
testLogging.showStandardStreams = true
testLogging.exceptionFormat = 'full'
environment 'STRICT_URN_VALIDATION_ENABLED', 'true'
}
ebean {
debugLevel = 1 // 0 - 9
}
tasks.withType(Test) {
enableAssertions = false
}
clean {
//TODO: Is this really needed? dont see generated folder in projectDir. It is in build, but that doest need explicit clean
delete "$projectDir/generated"
}