2023-12-15 13:28:33 -06:00
|
|
|
plugins {
|
2024-01-23 17:49:23 -06:00
|
|
|
id 'java-library'
|
2023-12-15 13:28:33 -06:00
|
|
|
id 'pegasus'
|
|
|
|
}
|
2019-08-31 20:51:14 -07:00
|
|
|
|
2024-12-03 06:57:43 +05:30
|
|
|
apply from: '../../gradle/coverage/java-coverage.gradle'
|
|
|
|
|
2020-12-02 20:49:34 -08:00
|
|
|
sourceSets {
|
|
|
|
integTest {
|
|
|
|
compileClasspath += sourceSets.main.output
|
|
|
|
runtimeClasspath += sourceSets.main.output
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-06-03 13:24:33 -07:00
|
|
|
idea {
|
2020-12-02 20:49:34 -08:00
|
|
|
module {
|
|
|
|
testSourceDirs += file('src/integTest/java')
|
2023-09-01 09:06:01 -05:00
|
|
|
scopes.TEST.plus += [ configurations.integTestCompileOnly ]
|
2020-12-02 20:49:34 -08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-06-03 13:24:33 -07:00
|
|
|
|
2020-12-02 20:49:34 -08:00
|
|
|
configurations {
|
|
|
|
integTestImplementation.extendsFrom implementation
|
|
|
|
integTestRuntimeOnly.extendsFrom runtimeOnly
|
2023-09-01 09:06:01 -05:00
|
|
|
integTestCompileOnly {
|
|
|
|
extendsFrom compileOnly
|
|
|
|
canBeResolved = true
|
|
|
|
}
|
2021-06-03 13:24:33 -07:00
|
|
|
modelValidation
|
2020-12-02 20:49:34 -08:00
|
|
|
}
|
|
|
|
|
2019-08-31 20:51:14 -07:00
|
|
|
dependencies {
|
2021-12-10 20:07:55 +02:00
|
|
|
constraints {
|
2022-11-30 17:05:01 -06:00
|
|
|
implementation(externalDependency.log4jCore) {
|
|
|
|
because("previous versions are vulnerable to CVE-2021-45105")
|
2021-12-10 20:07:55 +02:00
|
|
|
}
|
2022-11-30 17:05:01 -06:00
|
|
|
implementation(externalDependency.log4jApi) {
|
2021-12-20 22:55:22 +08:00
|
|
|
because("previous versions are vulnerable to CVE-2021-45105")
|
2021-12-10 20:07:55 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-09-01 09:06:01 -05:00
|
|
|
implementation project(':metadata-service:restli-api')
|
|
|
|
implementation project(':metadata-auth:auth-api')
|
|
|
|
implementation project(path: ':metadata-service:restli-api', configuration: 'dataTemplate')
|
|
|
|
implementation project(':li-utils')
|
|
|
|
implementation project(':metadata-models')
|
|
|
|
implementation project(':metadata-utils')
|
|
|
|
implementation project(':metadata-io')
|
|
|
|
implementation spec.product.pegasus.restliServer
|
2022-12-04 21:57:47 -06:00
|
|
|
implementation externalDependency.slf4jApi
|
2023-09-01 09:06:01 -05:00
|
|
|
implementation externalDependency.dropwizardMetricsCore
|
|
|
|
implementation externalDependency.dropwizardMetricsJmx
|
|
|
|
|
2023-10-18 13:45:46 -05:00
|
|
|
implementation externalDependency.lombok
|
2023-09-01 09:06:01 -05:00
|
|
|
implementation externalDependency.neo4jJavaDriver
|
|
|
|
implementation externalDependency.opentelemetryAnnotations
|
2019-08-31 20:51:14 -07:00
|
|
|
|
2022-11-30 17:05:01 -06:00
|
|
|
runtimeOnly externalDependency.logbackClassic
|
|
|
|
|
2021-06-25 10:56:45 -07:00
|
|
|
annotationProcessor externalDependency.lombok
|
2019-08-31 20:51:14 -07:00
|
|
|
|
2023-09-01 09:06:01 -05:00
|
|
|
testImplementation project(':test-models')
|
|
|
|
testImplementation project(path: ':test-models', configuration: 'testDataTemplate')
|
2023-06-30 15:56:12 -05:00
|
|
|
testImplementation project(':mock-entity-registry')
|
2023-09-01 09:06:01 -05:00
|
|
|
testImplementation externalDependency.mockito
|
2024-04-16 10:12:48 -05:00
|
|
|
testImplementation externalDependency.mockitoInline
|
2023-09-01 09:06:01 -05:00
|
|
|
testImplementation externalDependency.testng
|
2020-12-02 20:49:34 -08:00
|
|
|
|
|
|
|
integTestImplementation externalDependency.junitJupiterApi
|
|
|
|
integTestRuntimeOnly externalDependency.junitJupiterEngine
|
|
|
|
|
2023-09-01 09:06:01 -05:00
|
|
|
integTestCompileOnly externalDependency.junitJupiterApi
|
|
|
|
integTestCompileOnly externalDependency.junitJupiterParams
|
2021-06-03 13:24:33 -07:00
|
|
|
|
|
|
|
modelValidation project(path: ':metadata-models-validator')
|
|
|
|
dataModel project(path: ':metadata-models', configuration: 'dataTemplate')
|
|
|
|
dataModel project(path: ':li-utils', configuration: 'dataTemplate')
|
2020-12-02 20:49:34 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
task integrationTest(type: Test) {
|
|
|
|
description = 'Runs integration tests.'
|
|
|
|
group = 'verification'
|
|
|
|
useJUnitPlatform()
|
|
|
|
|
|
|
|
testClassesDirs = sourceSets.integTest.output.classesDirs
|
|
|
|
classpath = sourceSets.integTest.runtimeClasspath
|
|
|
|
shouldRunAfter test
|
2019-08-31 20:51:14 -07:00
|
|
|
}
|
|
|
|
|
2021-06-03 13:24:33 -07:00
|
|
|
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
|
2020-12-02 20:49:34 -08:00
|
|
|
check.dependsOn integrationTest
|
2021-06-03 13:24:33 -07:00
|
|
|
integrationTest.enabled = false
|
2020-12-02 20:49:34 -08:00
|
|
|
|
2019-08-31 20:51:14 -07:00
|
|
|
// Generate IDLs
|
|
|
|
pegasus.main.idlOptions.addIdlItem([
|
2020-04-02 20:53:22 -07:00
|
|
|
'com.linkedin.metadata.resources',
|
2019-08-31 20:51:14 -07:00
|
|
|
])
|
|
|
|
|
2021-08-20 10:58:07 -07:00
|
|
|
ext.apiProject = project(':metadata-service:restli-api')
|
2024-08-09 15:29:43 -05:00
|
|
|
|
|
|
|
spotlessJava.dependsOn generateTestDataTemplate
|
|
|
|
spotlessJava.dependsOn generateIntegTestDataTemplate
|