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"