Files
spring-graphql/build.gradle
Brian Clozel 02b16bdc65 Polish "Support contructor binding for input arguments"
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
2021-09-21 09:45:45 +02:00

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"
}