build.gradle 2.0 KB
Newer Older
1 2 3 4
plugins {
    id "java"
    id "idea"
    id "application"
5 6 7 8

    //
    // use the latest available version:
    // https://plugins.gradle.org/plugin/io.github.kobylynskyi.graphql.codegen
9
    id "io.github.kobylynskyi.graphql.codegen" version "5.6.0-SNAPSHOT"
10 11
}

12
mainClassName = "io.github.kobylynskyi.product.Application"
13 14

dependencies {
15 16
    implementation "org.springframework.boot:spring-boot-starter-web:2.4.4"
    implementation "org.springframework.boot:spring-boot-starter-data-mongodb:2.4.4"
17

18 19
    implementation "com.graphql-java-kickstart:graphql-spring-boot-starter:11.0.0"
    implementation "com.graphql-java-kickstart:graphiql-spring-boot-starter:11.0.0"
20
    implementation "com.graphql-java:graphql-java-extended-scalars:16.0.1"
21

22 23
    implementation "javax.validation:validation-api:2.0.1.Final"

24
    implementation "org.mapstruct:mapstruct:1.4.2.Final"
25
    annotationProcessor "org.mapstruct:mapstruct-processor:1.4.2.Final"
26

27 28
    compileOnly "org.projectlombok:lombok:1.18.18"
    annotationProcessor "org.projectlombok:lombok:1.18.12"
29 30 31 32 33 34 35 36 37
}

compileJava.dependsOn "graphqlCodegen"

sourceSets.main.java.srcDir "$buildDir/generated"

graphqlCodegen {
    graphqlSchemaPaths = ["$projectDir/src/main/resources/schema.graphqls".toString()]
    outputDir = new File("$buildDir/generated")
38 39
    apiPackageName = "io.github.kobylynskyi.product.graphql.api"
    modelPackageName = "io.github.kobylynskyi.product.graphql.model"
40 41 42
    customTypesMapping = [
            DateTime: "java.util.Date"
    ]
43 44 45 46 47 48
    parentInterfaces {
        queryResolver = "graphql.kickstart.tools.GraphQLQueryResolver"
        mutationResolver = "graphql.kickstart.tools.GraphQLMutationResolver"
        subscriptionResolver = "graphql.kickstart.tools.GraphQLSubscriptionResolver"
        resolver = "graphql.kickstart.tools.GraphQLResolver<{{TYPE}}>"
    }
49 50
    modelNameSuffix = "TO"
    generateApis = true
51 52 53
    supportUnknownFields = true
    unknownFieldsPropertyName = "additionalFields"

54 55 56 57 58 59 60
}

repositories {
    jcenter()
    mavenCentral()
    mavenLocal()
}