datahub/metadata-io/build.gradle

132 lines
4.8 KiB
Groovy

apply plugin: 'java-library'
apply plugin: 'org.hidetake.swagger.generator'
configurations {
enhance
}
dependencies {
implementation project(':entity-registry')
api project(':metadata-utils')
api project(':metadata-events:mxe-avro-1.7')
api project(':metadata-events:mxe-registration')
api project(':metadata-events:mxe-utils-avro-1.7')
api project(':metadata-models')
api project(':metadata-service:restli-client')
api project(':metadata-service:configuration')
api project(':metadata-service:services')
implementation spec.product.pegasus.data
implementation spec.product.pegasus.generator
implementation externalDependency.guava
implementation externalDependency.reflections
implementation externalDependency.jsonPatch
api externalDependency.dgraph4j exclude group: 'com.google.guava', module: 'guava'
implementation externalDependency.slf4jApi
runtimeOnly externalDependency.logbackClassic
compileOnly externalDependency.lombok
implementation externalDependency.commonsCollections
api externalDependency.datastaxOssNativeProtocol
api externalDependency.datastaxOssCore
api externalDependency.datastaxOssQueryBuilder
api externalDependency.elasticSearchRest
api externalDependency.elasticSearchJava
implementation externalDependency.javatuples
api externalDependency.javaxValidation
runtimeOnly externalDependency.jna
api externalDependency.kafkaClients
api externalDependency.ebean
enhance externalDependency.ebeanAgent
implementation externalDependency.ebeanDdl
implementation externalDependency.opentelemetryAnnotations
implementation externalDependency.resilience4j
api externalDependency.springContext
implementation externalDependency.swaggerAnnotations
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 externalDependency.testng
testImplementation externalDependency.h2
testImplementation externalDependency.mysqlConnector
testImplementation externalDependency.neo4jHarness
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
// logback >=1.3 required due to `testcontainers` only
testImplementation 'ch.qos.logback:logback-classic:1.4.7'
testImplementation 'net.datafaker:datafaker:1.9.0'
testAnnotationProcessor externalDependency.lombok
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")
}
}
}
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'
}
tasks.withType(Test) {
enableAssertions = false
}
project.compileJava {
doLast {
ant.taskdef(name: 'ebean', classname: 'io.ebean.enhance.ant.AntEnhanceTask',
classpath: project.configurations.enhance.asPath)
ant.ebean(classSource: "${project.buildDir}/classes/java/main", packages: 'com.linkedin.metadata.entity.ebean',
transformArgs: 'debug=1')
}
}
clean {
project.delete("$projectDir/generated")
}