build.gradle 2.6 KB
Newer Older
1 2 3 4 5 6 7
import io.github.kobylynskyi.graphql.codegen.gradle.GraphqlCodegenGradleTask

plugins {
    id "java"
    id "idea"
    id "application"
    id "net.ltgt.apt" version "0.20"
8 9 10

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

14
mainClassName = "io.github.kobylynskyi.order.Application"
15 16 17 18 19 20 21 22 23 24

dependencies {
    compile "org.springframework.boot:spring-boot-starter-web:2.1.7.RELEASE"
    compile "org.springframework.boot:spring-boot-starter-data-mongodb:2.1.7.RELEASE"
    compile "org.springframework.data:spring-data-commons:2.1.10.RELEASE"

    compile "com.graphql-java-kickstart:graphql-java-tools:5.6.1"
    compile "com.graphql-java-kickstart:graphql-spring-boot-starter:5.10.0"
    compile "com.graphql-java-kickstart:graphiql-spring-boot-starter:5.10.0"

25 26
    // use the latest available version:
    // https://search.maven.org/artifact/io.github.kobylynskyi/graphql-java-codegen
27
    compile "io.github.kobylynskyi:graphql-java-codegen:1.6.1-SNAPSHOT"
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75

    compile "org.apache.httpcomponents:httpclient:4.5.12"

    implementation "org.mapstruct:mapstruct:1.3.0.Final"
    annotationProcessor "org.mapstruct:mapstruct-processor:1.3.0.Final"

    compileOnly "org.projectlombok:lombok:1.18.8"
    annotationProcessor "org.projectlombok:lombok:1.18.8"
}

/**
 * Generate requests and model from external service
 */
compileJava.dependsOn "graphqlCodegenProductService"
sourceSets.main.java.srcDirs "$buildDir/generated-client"
task graphqlCodegenProductService(type: GraphqlCodegenGradleTask) {
    graphqlSchemaPaths = ["$projectDir/src/main/resources/external/schema-product-service.graphqls".toString()]
    outputDir = new File("$buildDir/generated-client")
    modelPackageName = "io.github.kobylynskyi.product.graphql.model"
    customTypesMapping = [
            DateTime: "java.util.Date"
    ]
    modelNameSuffix = "TO"
    generateRequests = true
    generateApis = false
}

/**
 * Generate apis and model
 */
compileJava.dependsOn "graphqlCodegenOrderService"
sourceSets.main.java.srcDirs "$buildDir/generated-server"
task graphqlCodegenOrderService(type: GraphqlCodegenGradleTask) {
    graphqlSchemaPaths = ["$projectDir/src/main/resources/schema.graphqls".toString()]
    outputDir = new File("$buildDir/generated-server")
    apiPackageName = "io.github.kobylynskyi.order.graphql.api"
    modelPackageName = "io.github.kobylynskyi.order.graphql.model"
    customTypesMapping = [
            DateTime: "java.util.Date"
    ]
    modelNameSuffix = "TO"
}

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