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 "2.4.2-SNAPSHOT" } mainClassName = "io.github.kobylynskyi.product.Application" dependencies { implementation "org.springframework.boot:spring-boot-starter-web:2.3.1.RELEASE" implementation "org.springframework.boot:spring-boot-starter-data-mongodb:2.3.1.RELEASE" implementation "com.graphql-java-kickstart:graphql-spring-boot-starter:7.1.0" implementation "com.graphql-java-kickstart:graphiql-spring-boot-starter:7.1.0" implementation "com.graphql-java:graphql-java-extended-scalars:1.1.0" implementation "javax.validation:validation-api:2.0.1.Final" implementation "org.mapstruct:mapstruct:1.3.1.Final" annotationProcessor "org.mapstruct:mapstruct-processor:1.3.1.Final" compileOnly "org.projectlombok:lombok:1.18.12" annotationProcessor "org.projectlombok:lombok:1.18.12" } 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 } repositories { jcenter() mavenCentral() mavenLocal() }