datahub/metadata-io/build.gradle

139 lines
5.0 KiB
Groovy
Raw Normal View History

apply plugin: 'java'
apply plugin: 'org.hidetake.swagger.generator'
configurations {
enhance
}
dependencies {
implementation externalDependency.jsonPatch
compile project(':entity-registry')
compile project(':metadata-utils')
compile project(':metadata-events:mxe-avro-1.7')
compile project(':metadata-events:mxe-registration')
compile project(':metadata-events:mxe-utils-avro-1.7')
compile project(':metadata-models')
compile project(':metadata-service:restli-client')
compile project(':metadata-service:configuration')
compile project(':metadata-service:services')
compile spec.product.pegasus.data
compile spec.product.pegasus.generator
compile externalDependency.dgraph4j exclude group: 'com.google.guava', module: 'guava'
implementation externalDependency.slf4jApi
testImplementation project(':metadata-integration:java:datahub-client')
runtime externalDependency.logbackClassic
compileOnly externalDependency.lombok
implementation externalDependency.commonsCollections
compile externalDependency.datastaxOssNativeProtocol
compile externalDependency.datastaxOssCore
compile externalDependency.datastaxOssQueryBuilder
compile externalDependency.elasticSearchRest
compile externalDependency.elasticSearchTransport
compile externalDependency.javatuples
compile externalDependency.javaxValidation
2022-10-05 16:53:38 -05:00
runtimeOnly externalDependency.jna
compile externalDependency.kafkaClients
compile externalDependency.ebean
enhance externalDependency.ebeanAgent
compile externalDependency.opentelemetryAnnotations
compile externalDependency.resilience4j
compile externalDependency.springContext
compile externalDependency.swaggerAnnotations
swaggerCodegen 'io.swagger.codegen.v3:swagger-codegen-cli:3.0.33'
compile (externalDependency.mixpanel) {
exclude group: 'org.json', module: 'json'
}
annotationProcessor externalDependency.lombok
testCompile externalDependency.testng
testCompile externalDependency.h2
testCompile externalDependency.mysqlConnector
testCompile externalDependency.neo4jHarness
testCompile externalDependency.mockito
testCompile externalDependency.mockitoInline
testCompile externalDependency.iStackCommons
testCompile externalDependency.resilience4j
testCompile externalDependency.testContainers
testCompile externalDependency.testContainersJunit
testCompile externalDependency.testContainersElasticsearch
testCompile externalDependency.testContainersCassandra
testCompile externalDependency.lombok
testCompile project(':test-models')
testImplementation externalDependency.springBootTest
testImplementation project(':datahub-graphql-core')
2023-04-21 15:45:20 -05:00
// logback >=1.3 required due to `testcontainers` only
testImplementation 'ch.qos.logback:logback-classic:1.4.7'
testAnnotationProcessor externalDependency.lombok
2021-12-10 20:07:55 +02:00
constraints {
implementation(externalDependency.log4jCore) {
because("previous versions are vulnerable to CVE-2021-45105")
2021-12-10 20:07:55 +02:00
}
implementation(externalDependency.log4jApi) {
because("previous versions are vulnerable to CVE-2021-45105")
2021-12-10 20:07:55 +02:00
}
implementation(externalDependency.commonsText) {
because("previous versions are vulnerable to CVE-2022-42889")
}
2023-02-20 00:02:05 -06:00
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")
}
2021-12-10 20:07:55 +02:00
}
}
test {
// https://docs.gradle.org/current/userguide/performance.html
maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1
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')
}
}
tasks.register('generateOpenApiPojos', GenerateSwaggerCode) {
it.setInputFile(
file(
"${project(':metadata-models').projectDir}/src/generatedJsonSchema/combined/open-api.yaml"
)
)
it.setOutputDir(file("$projectDir/generated"))
it.setLanguage("spring")
it.setComponents(['models'])
it.setTemplateDir(file("$projectDir/src/main/resources/JavaSpring"))
it.setAdditionalProperties([
"group-id" : "io.datahubproject",
"dateLibrary" : "java8",
"java11" : "true",
"modelPropertyNaming" : "original",
"modelPackage" : "io.datahubproject.openapi.generated"] as Map<String, String>)
dependsOn ':metadata-models:generateJsonSchema'
}
compileJava.dependsOn generateOpenApiPojos
sourceSets.main.java.srcDir "${generateOpenApiPojos.outputDir}/src/main/java"
sourceSets.main.resources.srcDir "${generateOpenApiPojos.outputDir}/src/main/resources"
checkstyleMain.exclude '**/generated/**'