Prior to this commit, only default constructors were supported for instantiating input argument types. This commit adds a new `GraphQlInstantiator` class that manages the instantiation and binding of data fetching environment arguments. Default constructors and primary constructors are now handled. Also, List-like properties were not bound from the data fetching environment arguments to the `MutablePropertyValues` used for binding. This commit ensures that List elements are bound to the property values with array-like property paths. Fixes gh-139 Fixes gh-141
100 lines
2.7 KiB
Groovy
100 lines
2.7 KiB
Groovy
plugins {
|
|
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
|
|
id 'org.jetbrains.kotlin.jvm' version '1.5.31' apply false
|
|
}
|
|
|
|
ext {
|
|
moduleProjects = [project(":spring-graphql"), project(":spring-graphql-test")]
|
|
bootVersion = "2.5.4"
|
|
graphQlJavaVersion = "17.3"
|
|
}
|
|
|
|
description = "Spring GraphQL"
|
|
|
|
subprojects {
|
|
apply plugin: 'io.spring.dependency-management'
|
|
|
|
group = 'org.springframework.graphql'
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
if (version.contains('-')) {
|
|
maven { url "https://repo.spring.io/milestone" }
|
|
}
|
|
if (version.endsWith('-SNAPSHOT')) {
|
|
maven { url "https://repo.spring.io/snapshot" }
|
|
}
|
|
}
|
|
}
|
|
|
|
configure(moduleProjects) {
|
|
apply plugin: 'java-library'
|
|
apply plugin: 'org.springframework.graphql.compiler'
|
|
|
|
java {
|
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
|
targetCompatibility = JavaVersion.VERSION_1_8
|
|
}
|
|
|
|
pluginManager.withPlugin("kotlin") {
|
|
compileKotlin {
|
|
kotlinOptions {
|
|
jvmTarget = "1.8"
|
|
languageVersion = "1.3"
|
|
apiVersion = "1.3"
|
|
freeCompilerArgs = ["-Xjsr305=strict", "-Xsuppress-version-warnings", "-Xopt-in=kotlin.RequiresOptIn"]
|
|
allWarningsAsErrors = true
|
|
}
|
|
}
|
|
compileTestKotlin {
|
|
kotlinOptions {
|
|
jvmTarget = "1.8"
|
|
freeCompilerArgs = ["-Xjsr305=strict"]
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencyManagement {
|
|
imports {
|
|
mavenBom "com.fasterxml.jackson:jackson-bom:2.12.5"
|
|
mavenBom "io.projectreactor:reactor-bom:2020.0.10"
|
|
mavenBom "org.springframework:spring-framework-bom:5.3.9"
|
|
mavenBom "org.springframework.data:spring-data-bom:2021.0.4"
|
|
mavenBom "org.springframework.security:spring-security-bom:5.5.2"
|
|
mavenBom "org.jetbrains.kotlin:kotlin-bom:1.5.31"
|
|
mavenBom "org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.5.2"
|
|
mavenBom "org.junit:junit-bom:5.7.2"
|
|
}
|
|
dependencies {
|
|
dependency "com.graphql-java:graphql-java:${graphQlJavaVersion}"
|
|
dependency "javax.annotation:javax.annotation-api:1.3.2"
|
|
dependency "javax.servlet:javax.servlet-api:4.0.1"
|
|
dependency "com.google.code.findbugs:jsr305:3.0.2"
|
|
dependency "org.assertj:assertj-core:3.20.2"
|
|
dependency "com.jayway.jsonpath:json-path:2.5.0"
|
|
dependency "org.skyscreamer:jsonassert:1.5.0"
|
|
dependencySet(group: 'com.querydsl', version: '4.4.0') {
|
|
entry 'querydsl-apt'
|
|
entry 'querydsl-collections'
|
|
entry 'querydsl-core'
|
|
}
|
|
dependencySet(group: 'org.apache.logging.log4j', version: '2.14.1') {
|
|
entry 'log4j-api'
|
|
entry 'log4j-core'
|
|
entry 'log4j-jul'
|
|
entry 'log4j-slf4j-impl'
|
|
}
|
|
dependencySet(group: 'org.mockito', version: '3.11.2') {
|
|
entry 'mockito-core'
|
|
entry 'mockito-inline'
|
|
entry 'mockito-junit-jupiter'
|
|
}
|
|
}
|
|
generatedPomCustomization {
|
|
enabled = false
|
|
}
|
|
}
|
|
|
|
apply from: "${rootDir}/gradle/publishing.gradle"
|
|
}
|