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 { 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") } } compile project(':metadata-service:restli-api') compile project(':metadata-auth:auth-api') compile project(path: ':metadata-service:restli-api', configuration: 'dataTemplate') compile project(':li-utils') compile project(':metadata-models') compile project(':metadata-utils') compile project(':metadata-io') compile spec.product.pegasus.restliServer implementation externalDependency.slf4jApi // This is compile and not compileOnly because of restli compile externalDependency.lombok compile externalDependency.neo4jJavaDriver compile externalDependency.opentelemetryAnnotations runtimeOnly externalDependency.logbackClassic annotationProcessor externalDependency.lombok testCompile project(':test-models') testCompile externalDependency.mockito testCompile externalDependency.testng integTestImplementation externalDependency.junitJupiterApi integTestRuntimeOnly externalDependency.junitJupiterEngine 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(':metadata-service:restli-api')