diff --git a/build.gradle b/build.gradle index 9de2b898..e49194fe 100644 --- a/build.gradle +++ b/build.gradle @@ -1,10 +1,10 @@ plugins { - id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'org.jetbrains.kotlin.jvm' version '1.7.0' apply false } ext { moduleProjects = [project(":spring-graphql"), project(":spring-graphql-test")] + springFrameworkVersion = "6.0.0-M5" graphQlJavaVersion = "19.0" bootVersion = "3.0.0-SNAPSHOT" } @@ -12,8 +12,6 @@ ext { description = "Spring for GraphQL" subprojects { - apply plugin: 'io.spring.dependency-management' - group = 'org.springframework.graphql' repositories { @@ -56,55 +54,17 @@ configure(moduleProjects) { } } - dependencyManagement { - imports { - mavenBom "com.fasterxml.jackson:jackson-bom:2.13.3" - mavenBom "io.projectreactor:reactor-bom:2022.0.0-M5" - mavenBom "org.springframework:spring-framework-bom:6.0.0-M5" - mavenBom "org.springframework.data:spring-data-bom:2022.0.0-M5" - mavenBom "org.springframework.security:spring-security-bom:6.0.0-M6" - mavenBom "com.querydsl:querydsl-bom:5.0.0" - mavenBom "io.rsocket:rsocket-bom:1.1.2" - mavenBom "org.jetbrains.kotlin:kotlin-bom:1.7.0" - mavenBom "org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.1" - mavenBom "org.junit:junit-bom:5.8.2" - mavenBom "org.testcontainers:testcontainers-bom:1.17.1" - } - dependencies { - dependency "com.graphql-java:graphql-java:${graphQlJavaVersion}" - dependency "jakarta.annotation:jakarta.annotation-api:2.0.0" - dependency "jakarta.persistence:jakarta.persistence-api:3.0.0" - dependency "jakarta.servlet:jakarta.servlet-api:5.0.0" - dependency "com.google.code.findbugs:jsr305:3.0.2" - dependency "io.micrometer:context-propagation:1.0.0-M4" - dependency "org.assertj:assertj-core:3.23.1" - dependency "com.jayway.jsonpath:json-path:2.7.0" - dependency "org.skyscreamer:jsonassert:1.5.0" - dependency "com.h2database:h2:2.1.212" - dependency "jakarta.validation:jakarta.validation-api:3.0.1" - dependency "org.hibernate:hibernate-core-jakarta:5.6.9.Final" - dependency "org.hibernate.validator:hibernate-validator:7.0.4.Final" - dependencySet(group: 'org.mongodb', version: '4.6.0') { - entry 'bson' - entry 'mongodb-driver-core' - entry 'mongodb-driver-reactivestreams' - entry 'mongodb-driver-sync' - } - dependencySet(group: 'org.apache.logging.log4j', version: '2.17.2') { - entry 'log4j-api' - entry 'log4j-core' - entry 'log4j-jul' - entry 'log4j-slf4j-impl' - } - dependencySet(group: 'org.mockito', version: '4.6.1') { - entry 'mockito-core' - entry 'mockito-inline' - entry 'mockito-junit-jupiter' - } - } - generatedPomCustomization { - enabled = false + configurations { + dependencyManagement { + canBeConsumed = false + canBeResolved = false + visible = false } + matching { it.name.endsWith("Classpath") }.all { it.extendsFrom(dependencyManagement) } + } + + dependencies { + dependencyManagement(enforcedPlatform(dependencies.project(path: ":platform"))) } ext.javadocLinks = [ diff --git a/platform/build.gradle b/platform/build.gradle new file mode 100644 index 00000000..f08d0bf4 --- /dev/null +++ b/platform/build.gradle @@ -0,0 +1,48 @@ +plugins { + id 'java-platform' +} + +javaPlatform { + allowDependencies() +} + +dependencies { + api(platform("org.springframework:spring-framework-bom:${springFrameworkVersion}")) + api(platform("com.fasterxml.jackson:jackson-bom:2.13.3")) + api(platform("io.projectreactor:reactor-bom:2022.0.0-M5")) + api(platform("org.springframework.data:spring-data-bom:2022.0.0-M5")) + api(platform("org.springframework.security:spring-security-bom:6.0.0-M6")) + api(platform("com.querydsl:querydsl-bom:5.0.0")) + api(platform("io.rsocket:rsocket-bom:1.1.2")) + api(platform("org.jetbrains.kotlin:kotlin-bom:1.7.0")) + api(platform("org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4")) + api(platform("org.junit:junit-bom:5.8.2")) + api(platform("org.mockito:mockito-bom:4.5.1")) + api(platform("org.testcontainers:testcontainers-bom:1.17.3")) + api(platform("org.apache.logging.log4j:log4j-bom:2.17.2")) + + constraints { + api("com.graphql-java:graphql-java:${graphQlJavaVersion}") + api("io.micrometer:context-propagation:1.0.0-M4") + + api("jakarta.annotation:jakarta.annotation-api:2.0.0") + api("jakarta.servlet:jakarta.servlet-api:5.0.0") + api("jakarta.validation:jakarta.validation-api:3.0.1") + api("jakarta.persistence:jakarta.persistence-api:3.0.0") + + api("com.google.code.findbugs:jsr305:3.0.2") + + api("org.assertj:assertj-core:3.23.1") + api("com.jayway.jsonpath:json-path:2.7.0") + api("org.skyscreamer:jsonassert:1.5.1") + + api("com.h2database:h2:2.1.214") + api("org.hibernate:hibernate-core-jakarta:5.6.11.Final") + api("org.hibernate.validator:hibernate-validator:7.0.4.Final") + api("org.mongodb:bson:4.6.1") + api("org.mongodb:mongodb-driver-core:4.6.1") + api("org.mongodb:mongodb-driver-reactivestreams:4.6.1") + api("org.mongodb:mongodb-driver-sync:4.6.1") + } + +} diff --git a/samples/webflux-security/build.gradle b/samples/webflux-security/build.gradle index 8d3fda42..a40d2810 100644 --- a/samples/webflux-security/build.gradle +++ b/samples/webflux-security/build.gradle @@ -1,5 +1,6 @@ plugins { id 'org.springframework.boot' version "${bootVersion}" + id 'io.spring.dependency-management' version '1.0.13.RELEASE' id 'java' } group = 'com.example' diff --git a/samples/webflux-websocket/build.gradle b/samples/webflux-websocket/build.gradle index ad6de4eb..8b7b778a 100644 --- a/samples/webflux-websocket/build.gradle +++ b/samples/webflux-websocket/build.gradle @@ -1,5 +1,6 @@ plugins { id 'org.springframework.boot' version "${bootVersion}" + id 'io.spring.dependency-management' version '1.0.13.RELEASE' id 'java' } group = 'com.example' diff --git a/samples/webmvc-http-security/build.gradle b/samples/webmvc-http-security/build.gradle index fbc4641a..d496f9f8 100644 --- a/samples/webmvc-http-security/build.gradle +++ b/samples/webmvc-http-security/build.gradle @@ -1,5 +1,6 @@ plugins { id 'org.springframework.boot' version "${bootVersion}" + id 'io.spring.dependency-management' version '1.0.13.RELEASE' id 'java' } group = 'com.example' diff --git a/samples/webmvc-http/build.gradle b/samples/webmvc-http/build.gradle index e9cceb31..5194ed96 100644 --- a/samples/webmvc-http/build.gradle +++ b/samples/webmvc-http/build.gradle @@ -1,5 +1,6 @@ plugins { id 'org.springframework.boot' version "${bootVersion}" + id 'io.spring.dependency-management' version '1.0.13.RELEASE' id 'java' } group = 'com.example' diff --git a/settings.gradle b/settings.gradle index a653e742..c9730e98 100644 --- a/settings.gradle +++ b/settings.gradle @@ -24,7 +24,8 @@ plugins { } rootProject.name = 'spring-graphql' -include 'spring-graphql', +include 'platform', + 'spring-graphql', 'spring-graphql-test', 'spring-graphql-docs'