63 lines
2.3 KiB
Groovy

plugins {
id 'java'
id "io.github.kobylynskyi.graphql.codegen" version "5.10.0"
}
apply from: '../gradle/coverage/java-coverage.gradle'
dependencies {
implementation project(':metadata-service:restli-client-api')
implementation project(':metadata-service:auth-impl')
implementation project(':metadata-service:auth-config')
implementation project(':metadata-service:configuration')
implementation project(':metadata-service:services')
implementation project(':metadata-io')
implementation project(':metadata-utils')
implementation project(':metadata-models')
implementation externalDependency.graphqlJava
implementation externalDependency.graphqlJavaScalars
implementation externalDependency.antlr4Runtime
implementation externalDependency.antlr4
implementation externalDependency.guava
implementation externalDependency.opentelemetryAnnotations
implementation externalDependency.slf4jApi
implementation externalDependency.springContext
compileOnly externalDependency.lombok
annotationProcessor externalDependency.lombok
testImplementation externalDependency.mockito
testImplementation externalDependency.testng
testImplementation externalDependency.mockitoInline
}
graphqlCodegen {
// For options: https://github.com/kobylynskyi/graphql-java-codegen/blob/master/docs/codegen-options.md
graphqlSchemaPaths = fileTree(dir: "${projectDir}/src/main/resources", include: '**/*.graphql').collect { it.absolutePath }
outputDir = new File("${projectDir}/src/mainGeneratedGraphQL/java")
packageName = "com.linkedin.datahub.graphql.generated"
generateToString = true
generateApis = true
generateParameterizedFieldsResolvers = false
modelValidationAnnotation = "@javax.annotation.Nonnull"
addGeneratedAnnotation = false // Skips timestamps in generated files which forces re-compile
customTypesMapping = [
Long: "Long",
Float: "Float"
]
}
clean {
delete 'src/mainGeneratedGraphQL'
}
tasks.withType(Checkstyle) {
exclude "**/generated/**"
}
compileJava.dependsOn 'graphqlCodegen'
build.dependsOn ':datahub-web-react:graphqlPrettierCheck'
spotlessApply.dependsOn ':datahub-web-react:graphqlPrettierWrite'
sourceSets.main.java.srcDir "$projectDir/src/mainGeneratedGraphQL/java"