This adds support for Spring Data's recent fluent query API via Query by Example. It tests against Spring Data JPA and Spring Data MongoDB for imperative, and Spring Data MongoDB for reactive support. To support MongoDB testing, it uses Testcontainers. See gh-191
105 lines
2.9 KiB
Groovy
105 lines
2.9 KiB
Groovy
plugins {
|
|
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
|
|
id 'org.jetbrains.kotlin.jvm' version '1.6.0' apply false
|
|
}
|
|
|
|
ext {
|
|
moduleProjects = [project(":spring-graphql"), project(":spring-graphql-test")]
|
|
bootVersion = "2.6.0"
|
|
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.13.0"
|
|
mavenBom "io.projectreactor:reactor-bom:2020.0.13"
|
|
mavenBom "org.springframework:spring-framework-bom:5.3.13"
|
|
mavenBom "org.springframework.data:spring-data-bom:2021.1.0"
|
|
mavenBom "org.springframework.security:spring-security-bom:5.6.0"
|
|
mavenBom "com.querydsl:querydsl-bom:5.0.0"
|
|
mavenBom "org.jetbrains.kotlin:kotlin-bom:1.6.0"
|
|
mavenBom "org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.5.2"
|
|
mavenBom "org.junit:junit-bom:5.8.1"
|
|
mavenBom "org.testcontainers:testcontainers-bom:1.16.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.21.0"
|
|
dependency "com.jayway.jsonpath:json-path:2.5.0"
|
|
dependency "org.skyscreamer:jsonassert:1.5.0"
|
|
dependency "com.h2database:h2:1.4.200"
|
|
dependency "org.hibernate:hibernate-core:5.6.1.Final"
|
|
dependencySet(group: 'org.mongodb', version: '4.3.2') {
|
|
entry 'mongodb-driver-sync'
|
|
entry 'mongodb-driver-reactivestreams'
|
|
entry 'mongodb-driver-core'
|
|
entry 'bson'
|
|
}
|
|
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: '4.0.0') {
|
|
entry 'mockito-core'
|
|
entry 'mockito-inline'
|
|
entry 'mockito-junit-jupiter'
|
|
}
|
|
}
|
|
generatedPomCustomization {
|
|
enabled = false
|
|
}
|
|
}
|
|
|
|
apply from: "${rootDir}/gradle/publishing.gradle"
|
|
}
|