datahub/gms/impl/build.gradle
John Joyce 97e9660037
feat: No Code Metadata Modeling (#2629)
Co-authored-by: Dexter Lee <dexter@acryl.io>
Co-authored-by: Gabe Lyons <itsgabelyons@gmail.com>
Co-authored-by: Shirshanka Das <shirshanka@apache.org>
2021-06-03 13:24:33 -07:00

93 lines
2.7 KiB
Groovy

apply plugin: 'java'
apply plugin: 'pegasus'
sourceSets {
integTest {
compileClasspath += sourceSets.main.output
runtimeClasspath += sourceSets.main.output
}
}
idea {
module {
testSourceDirs += file('src/integTest/java')
scopes.TEST.plus += [ configurations.integTestCompile ]
}
}
configurations {
integTestImplementation.extendsFrom implementation
integTestRuntimeOnly.extendsFrom runtimeOnly
modelValidation
}
dependencies {
compile project(':gms:api')
compile project(path: ':gms:api', configuration: 'dataTemplate')
compile project(':li-utils')
compile project(':metadata-models')
compile project(':metadata-testing:metadata-test-utils')
compile project(':metadata-utils')
compile project(':metadata-io')
compile spec.product.pegasus.restliServer
compile externalDependency.gmaDaoApi
compile externalDependency.gmaDaoApiDataTemplate
compile externalDependency.gmaEbeanDao
compile externalDependency.gmaElasticsearchDao
compile externalDependency.gmaNeo4jDao
compile externalDependency.gmaRestliResources
compile externalDependency.gmaRestliResourcesDataTemplate
compile externalDependency.neo4jJavaDriver
compileOnly externalDependency.lombok
testCompile externalDependency.parseqTest
testCompile externalDependency.mockito
testCompile externalDependency.testng
integTestImplementation externalDependency.junitJupiterApi
integTestRuntimeOnly externalDependency.junitJupiterEngine
integTestCompile externalDependency.gmaElasticsearchIntegTest
integTestCompile externalDependency.junitJupiterApi
integTestCompile externalDependency.junitJupiterParams
modelValidation project(path: ':metadata-models-validator')
dataModel project(path: ':metadata-models', configuration: 'dataTemplate')
dataModel project(path: ':li-utils', configuration: 'dataTemplate')
}
task integrationTest(type: Test) {
description = 'Runs integration tests.'
group = 'verification'
useJUnitPlatform()
testClassesDirs = sourceSets.integTest.output.classesDirs
classpath = sourceSets.integTest.runtimeClasspath
shouldRunAfter test
}
task validateModels(type: JavaExec) {
main = 'com.linkedin.metadata.model.validation.ModelValidationTask'
args '../../metadata-models/src/main/pegasus/:' + '../../li-utils/src/main/pegasus/:' + configurations.dataModel.asPath, project.getProjectDir().getAbsolutePath() + "/../../metadata-models/src/main/pegasus",
classpath = project.configurations.modelValidation
debugOptions {
enabled = false
port = 5005
}
}
compileJava.dependsOn validateModels
check.dependsOn integrationTest
integrationTest.enabled = false
// Generate IDLs
pegasus.main.idlOptions.addIdlItem([
'com.linkedin.metadata.resources',
])
ext.apiProject = project(':gms:api')