plugins { id "java" id "idea" id "application" // // use the latest available version: // https://plugins.gradle.org/plugin/io.github.kobylynskyi.graphql.codegen id "io.github.kobylynskyi.graphql.codegen" version "5.8.1-SNAPSHOT" } mainClassName = "io.github.kobylynskyi.product.Application" dependencies { implementation "org.springframework.boot:spring-boot-starter-web:2.7.10" implementation "org.springframework.boot:spring-boot-starter-data-mongodb:2.7.10" implementation "com.graphql-java-kickstart:graphql-spring-boot-starter:11.0.0" implementation "com.graphql-java-kickstart:graphiql-spring-boot-starter:11.1.0" implementation "com.graphql-java:graphql-java-extended-scalars:20.2" implementation "javax.validation:validation-api:2.0.1.Final" compileOnly "org.projectlombok:lombok:1.18.26" annotationProcessor "org.projectlombok:lombok:1.18.26" implementation 'org.projectlombok:lombok-mapstruct-binding:0.2.0' implementation "org.mapstruct:mapstruct:1.5.5.Final" annotationProcessor "org.mapstruct:mapstruct-processor:1.5.5.Final" } compileJava.dependsOn "graphqlCodegen" sourceSets.main.java.srcDir "$buildDir/generated" graphqlCodegen { graphqlSchemaPaths = ["$projectDir/src/main/resources/schema.graphqls".toString()] outputDir = new File("$buildDir/generated") apiPackageName = "io.github.kobylynskyi.product.graphql.api" modelPackageName = "io.github.kobylynskyi.product.graphql.model" customTypesMapping = [ DateTime: "java.util.Date" ] parentInterfaces { queryResolver = "graphql.kickstart.tools.GraphQLQueryResolver" mutationResolver = "graphql.kickstart.tools.GraphQLMutationResolver" subscriptionResolver = "graphql.kickstart.tools.GraphQLSubscriptionResolver" resolver = "graphql.kickstart.tools.GraphQLResolver<{{TYPE}}>" } modelNameSuffix = "TO" generateApis = true supportUnknownFields = true unknownFieldsPropertyName = "additionalFields" } repositories { jcenter() mavenCentral() mavenLocal() }