Skip to content

Commit fd3dde5

Browse files
authored
Merge pull request #13975 from jdaugherty/7.0.x
#13552 Integrate `grails-testing-support` from grails/grails-testing-support into grails-core
2 parents 2367d62 + 5675294 commit fd3dde5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+1460
-43
lines changed

build.gradle

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ subprojects { subproject ->
210210

211211
ext.pomInfo = {
212212
delegate.name 'Grails® framework'
213-
delegate.description 'Grails Web Application Framework'
213+
delegate.description subproject.name == 'grails-testing-support' ? 'Support for writing concise expressive tests for Grails artifacts' : 'Grails Web Application Framework'
214214
delegate.url 'https://grails.org/'
215215

216216
delegate.licenses {
@@ -227,11 +227,25 @@ subprojects { subproject ->
227227
delegate.developerConnection 'scm:[email protected]:grails/grails-core.git'
228228
}
229229

230-
delegate.developers {
231-
delegate.developer {
232-
delegate.id 'graemerocher'
233-
delegate.name 'Graeme Rocher'
234-
delegate.email '[email protected]'
230+
if(subproject.name == 'grails-testing-support') {
231+
delegate.developers {
232+
delegate.developer {
233+
delegate.id 'jeffscottbrown'
234+
delegate.name 'Jeff Brown'
235+
}
236+
delegate.developer {
237+
delegate.id 'jameskleeh'
238+
delegate.name 'James Kleeh'
239+
}
240+
}
241+
}
242+
else {
243+
delegate.developers {
244+
delegate.developer {
245+
delegate.id 'graemerocher'
246+
delegate.name 'Graeme Rocher'
247+
delegate.email '[email protected]'
248+
}
235249
}
236250
}
237251
}
@@ -391,8 +405,6 @@ subprojects { subproject ->
391405
testImplementation "org.junit.platform:junit-platform-runner"
392406
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine"
393407

394-
compileOnly "com.github.spotbugs:spotbugs-annotations"
395-
396408
if (subproject.name != "grails-docs") {
397409
// Logging
398410
api "org.slf4j:slf4j-api"

dependabot/build.gradle

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ dependencies {
1212
api "net.bytebuddy:byte-buddy:${project['byte-buddy.version']}"
1313
api "commons-codec:commons-codec:${project['commons-codec.version']}"
1414
api "org.apache.commons:commons-text:${project['commons-text.version']}"
15-
api "org.grails.plugins:converters:${project['converters.version']}"
1615
api "io.methvin:directory-watcher:${project['directory-watcher.version']}"
1716
api "org.xhtmlrenderer:flying-saucer-pdf-openpdf:${project['flying-saucer-pdf-openpdf.version']}"
1817
api "org.webjars.npm:bootstrap:${project['bootstrap.version']}"
@@ -34,7 +33,6 @@ dependencies {
3433
api "org.grails:grails-gdoc-engine:${project['grails-gdoc-engine.version']}"
3534
api "org.grails:grails-gradle-plugin:${project['grails-gradle-plugin.version']}"
3635
api "org.grails:grails-gorm-testing-support:${project['grails-testing-support.version']}"
37-
api "org.grails:grails-testing-support:${project['grails-testing-support.version']}"
3836
api "org.grails:grails-web-testing-support:${project['grails-testing-support.version']}"
3937
api "org.apache.groovy:groovy-bom:${project['groovy.version']}"
4038
api "org.grails:grails-gsp:${project['gsp.version']}"
@@ -78,7 +76,6 @@ dependencies {
7876
api "org.grails.profiles:web:${project['profiles-web.version']}"
7977
api "org.spockframework:spock-core:${project['spock.version']}"
8078
api "org.spockframework:spock-spring:${project['spock.version']}"
81-
api "com.github.spotbugs:spotbugs-annotations:${project['spotbugs-annotations.version']}"
8279
api "org.springframework.boot:spring-boot-cli:${project['spring-boot.version']}"
8380
api "org.springframework.boot:spring-boot-gradle-plugin:${project['spring-boot.version']}"
8481
api "org.springframework:springloaded:${project['springloaded.version']}"

gradle.properties

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,6 @@ plexusComponentApiVersion=1.0-alpha-33
1515
plexusSecDispatcherVersion=1.4
1616
plexusSisuInjectVersion=2.6.0
1717
slf4jVersion=2.0.16
18-
rxJava1Version=1.3.8
19-
rxJava2Version=2.2.21
20-
rxJava3Version=3.1.10
2118
gparsVersion=1.2.1
2219

2320
org.gradle.caching=true
@@ -33,8 +30,8 @@ preventSnapshotPublish=false
3330
# https://github.com/grails/grails-gradle-plugin/issues/222
3431
slf4jPreventExclusion=true
3532

36-
# Generated on Tue Jan 07 15:14:48 EST 2025 by: ./gradlew :grails-bom:syncProps
37-
# Only version value modifications allowed after this point. Do not insert or change version names.
33+
# Generated on Thu Jan 16 10:23:54 EST 2025 by: ./gradlew :grails-bom:syncProps
34+
# Only version value modifications allowed after this point. Do not insert or change version names.
3835
ant.version=1.10.15
3936
asciidoctorj.version=3.0.0
4037
asset-pipeline-gradle.version=5.0.5
@@ -44,7 +41,6 @@ bootstrap-icons.version=1.11.3
4441
byte-buddy.version=1.15.5
4542
commons-codec.version=1.17.1
4643
commons-text.version=1.12.0
47-
converters.version=6.0.0-SNAPSHOT
4844
directory-watcher.version=0.18.0
4945
flying-saucer-pdf-openpdf.version=9.4.0
5046
geb-spock.version=7.0
@@ -53,7 +49,6 @@ grails-datastore-gorm-hibernate5.version=9.0.0-SNAPSHOT
5349
grails-datastore-gorm-mongodb.version=9.0.0-SNAPSHOT
5450
grails-gdoc-engine.version=1.0.1
5551
grails-gradle-plugin.version=7.0.0-SNAPSHOT
56-
grails-testing-support.version=4.0.0-SNAPSHOT
5752
groovy.version=4.0.24
5853
gsp.version=7.0.0-SNAPSHOT
5954
h2.version=2.3.232
@@ -73,8 +68,6 @@ plugins-geb.version=5.0.0-SNAPSHOT
7368
plugins-hibernate5.version=9.0.0-SNAPSHOT
7469
plugins-mongodb.version=9.0.0-SNAPSHOT
7570
plugins-neo4j.version=8.1.0
76-
plugins-rxjava.version=1.1.1
77-
plugins-rxjava2.version=2.0.0
7871
plugins-scaffolding.version=6.0.0-SNAPSHOT
7972
plugins-views-gradle.version=4.0.0-SNAPSHOT
8073
plugins-views-json.version=4.0.0-SNAPSHOT
@@ -90,8 +83,10 @@ profiles-rest-api-plugin.version=7.0.1
9083
profiles-vue.version=7.0.1
9184
profiles-web.version=7.0.1
9285
profiles-web-plugin.version=7.0.1
86+
rxjava.version=1.3.8
87+
rxjava2.version=2.2.21
88+
rxjava3.version=3.1.10
9389
spock.version=2.3-groovy-4.0
94-
spotbugs-annotations.version=4.8.6
9590
spring-boot.version=3.4.1
9691
springloaded.version=1.2.8.RELEASE
9792
views-json-testing-support.version=4.0.0-SNAPSHOT

grails-async/rxjava/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ dependencies {
22
implementation platform(project(':grails-bom'))
33

44
api project(':grails-async-core')
5-
api "io.reactivex:rxjava:$rxJava1Version"
5+
api "io.reactivex:rxjava"
66

77
implementation 'org.apache.groovy:groovy'
88
implementation 'org.slf4j:slf4j-api'

grails-async/rxjava2/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ dependencies {
22
implementation platform(project(':grails-bom'))
33

44
api project(':grails-async-core')
5-
api "io.reactivex.rxjava2:rxjava:$rxJava2Version"
5+
api "io.reactivex.rxjava2:rxjava"
66

77
implementation 'org.apache.groovy:groovy'
88
implementation 'org.slf4j:slf4j-api'

grails-async/rxjava3/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ dependencies {
22
implementation platform(project(':grails-bom'))
33

44
api project(':grails-async-core')
5-
api "io.reactivex.rxjava3:rxjava:$rxJava3Version"
5+
api "io.reactivex.rxjava3:rxjava"
66

77
implementation 'org.apache.groovy:groovy'
88
implementation 'org.slf4j:slf4j-api'

grails-bom/build.gradle

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,25 +31,25 @@ ext {
3131
com.h2database:h2::
3232
commons-codec:commons-codec::
3333
io.methvin:directory-watcher::
34+
io.reactivex:rxjava:::rxjava
35+
io.reactivex.rxjava2:rxjava:::rxjava2
36+
io.reactivex.rxjava3:rxjava:::rxjava3
3437
jline:jline::
3538
net.bytebuddy:byte-buddy::
3639
net.java.dev.jna:jna::
3740
org.apache.ant:ant:,junit:
3841
org.apache.commons:commons-text::
39-
org.apache.groovy:groovy:bom:$groovyVersion
42+
org.apache.groovy:groovy:bom:::
4043
org.asciidoctor:asciidoctorj::
4144
org.fusesource.jansi:jansi::
4245
org.gebish:geb-spock::
43-
com.github.spotbugs:spotbugs-annotations::
44-
org.grails.plugins:converters::
4546
org.grails.plugins:gsp::
4647
org.grails:grails-datastore-gorm-hibernate5::
4748
org.grails:grails-datastore-gorm-mongodb::
48-
org.grails:grails-datastore:async,core,gorm,gorm-async,gorm-support,gorm-rx,gorm-test,gorm-validation,web,gorm-tck:
49+
org.grails:grails-datastore-async,grails-datastore-core,grails-datastore-gorm,grails-datastore-gorm-async,grails-datastore-gorm-support,grails-datastore-gorm-rx,grails-datastore-gorm-test,grails-datastore-gorm-validation,grails-datastore-web,grails-datastore-gorm-tck,grails-gorm-testing-support:::grails-datastore
4950
org.grails:grails-gdoc-engine::
5051
org.grails:grails-gradle-plugin::
51-
org.grails:grails-testing-support,grails-gorm-testing-support,grails-web-testing-support::
52-
org.grails:grails:gsp,web-gsp,web-taglib::gsp
52+
org.grails:grails:gsp,web-gsp,web-taglib,web-testing-support::gsp
5353
org.grails:views-json-testing-support::
5454
org.jsoup:jsoup::
5555
org.mongodb:bson:,record-codec::mongodb

grails-bom/plugins.properties

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ hibernate5=9.0.0-SNAPSHOT
66
mongodb=9.0.0-SNAPSHOT
77
views-json-templates=9.0.0-SNAPSHOT
88
neo4j=8.1.0
9-
rxjava=1.1.1
10-
rxjava2=2.0.0
119
scaffolding=6.0.0-SNAPSHOT
1210
views-gradle=4.0.0-SNAPSHOT
1311
views-json=4.0.0-SNAPSHOT

grails-core/build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ dependencies {
1818
api project(":grails-bootstrap")
1919
api project(":grails-spring")
2020

21+
// This only needs the datastore version property because of how source jars are being created.
22+
// Build will succeed, but assemble will fail without this because of task ordering in gradle.
2123
api "org.grails:grails-datastore-core:${project['grails-datastore.version']}"
2224

2325
testImplementation "org.springframework:spring-jdbc"

grails-events/rxjava/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ dependencies {
22
implementation platform(project(':grails-bom'))
33

44
api project(':grails-events-core')
5-
api "io.reactivex:rxjava:$rxJava1Version"
5+
api "io.reactivex:rxjava"
66

77
implementation 'org.apache.groovy:groovy'
88
implementation 'org.slf4j:slf4j-api'

grails-events/rxjava2/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ dependencies {
22
implementation platform(project(':grails-bom'))
33

44
api project(':grails-events-core')
5-
api "io.reactivex.rxjava2:rxjava:$rxJava2Version"
5+
api "io.reactivex.rxjava2:rxjava"
66

77
implementation 'org.apache.groovy:groovy'
88
implementation 'org.slf4j:slf4j-api'

grails-events/rxjava3/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ dependencies {
22
implementation platform(project(':grails-bom'))
33

44
api project(':grails-events-core')
5-
api "io.reactivex.rxjava3:rxjava:$rxJava3Version"
5+
api "io.reactivex.rxjava3:rxjava"
66

77
implementation 'org.apache.groovy:groovy'
88
implementation 'org.slf4j:slf4j-api'

grails-plugin-databinding/build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@
1212
exclude module:'grails-core'
1313
exclude module:'async'
1414
exclude module:'gsp'
15+
exclude module:'grails-testing-support'
1516
}
17+
testImplementation project(':grails-testing-support')
1618
}
1719

1820
tasks.named('compileTestGroovy').configure {

grails-plugin-rest/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ dependencies {
66
project(":grails-plugin-controllers"),
77
project(":grails-plugin-datasource")
88

9-
api "org.grails.plugins:converters"
9+
api project(":grails-plugin-converters")
1010

1111
implementation "com.github.ben-manes.caffeine:caffeine"
1212
testImplementation project(":grails-plugin-url-mappings"),

grails-test-suite-base/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@ dependencies {
66
project(':grails-test'),
77
project(':grails-plugin-domain-class')
88

9-
api "org.grails.plugins:converters"
9+
api project(":grails-plugin-converters")
1010
}

grails-test-suite-persistence/build.gradle

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,10 @@ dependencies {
2929
testRuntimeOnly "org.aspectj:aspectjrt", "org.aspectj:aspectjweaver"
3030

3131
testImplementation project(':grails-async-plugin')
32-
testImplementation "org.grails:grails-gorm-testing-support"
32+
testImplementation "org.grails:grails-gorm-testing-support", {
33+
exclude module:'grails-testing-support'
34+
}
35+
testImplementation project(':grails-testing-support')
3336
}
3437

3538
test {

grails-test-suite-uber/build.gradle

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,10 @@ dependencies {
2828
testImplementation project(':grails-async-plugin')
2929
testImplementation "org.grails.plugins:gsp"
3030
testImplementation "org.grails:grails-gorm-testing-support"
31-
testImplementation "org.grails:grails-web-testing-support"
31+
testImplementation "org.grails:grails-web-testing-support", {
32+
exclude module:'grails-testing-support'
33+
}
34+
testImplementation project(':grails-testing-support')
3235

3336
testImplementation "com.fasterxml.jackson.core:jackson-databind"
3437
}

grails-test-suite-web/build.gradle

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,12 @@ dependencies {
2525
project(':grails-web-databinding'),
2626
project(':grails-spring')
2727

28-
testImplementation "org.grails.plugins:converters"
28+
testImplementation project(":grails-plugin-converters")
2929
testImplementation "org.grails:grails-datastore-gorm-hibernate5"
30-
testImplementation "org.grails:grails-web-testing-support"
30+
testImplementation "org.grails:grails-web-testing-support", {
31+
exclude module:'grails-testing-support'
32+
}
33+
testImplementation project(':grails-testing-support')
3134
testImplementation "org.grails.plugins:gsp"
3235
testImplementation project(':grails-async-plugin')
3336
testImplementation "org.grails:grails-gorm-testing-support"

grails-test/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ dependencies {
1212

1313
api project(":grails-plugin-mimetypes")
1414
api project(":grails-web")
15-
api "org.grails.plugins:converters"
15+
api project(":grails-plugin-converters")
1616

1717
// command line requirements
1818
api "jline:jline"

grails-testing-support/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
## grails-testing-support
2+
3+
Contains the core testing libraries used by any of the various testing support libraries in Grails.

grails-testing-support/build.gradle

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
dependencies {
2+
implementation platform(project(':grails-bom'))
3+
4+
api "org.springframework:spring-test"
5+
api project(":grails-plugin-codecs"), {
6+
exclude module: 'grails-plugin-mimetypes'
7+
exclude module: 'grails-plugin-converters'
8+
exclude module: 'grails-web'
9+
}
10+
11+
api project(":grails-plugin-databinding")
12+
api "org.grails:grails-datastore-gorm"
13+
api project(":grails-test")
14+
api "org.springframework.boot:spring-boot-test"
15+
api("org.spockframework:spock-spring") { transitive = false }
16+
api "org.junit.jupiter:junit-jupiter-api"
17+
api "org.junit.platform:junit-platform-runner"
18+
runtimeOnly "org.junit.jupiter:junit-jupiter-engine"
19+
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
/*
2+
* Copyright 2012 the original author or authors.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package grails.testing.mixin.integration
18+
19+
import org.codehaus.groovy.transform.GroovyASTTransformationClass
20+
21+
import java.lang.annotation.ElementType
22+
import java.lang.annotation.Retention
23+
import java.lang.annotation.RetentionPolicy
24+
import java.lang.annotation.Target
25+
26+
/**
27+
* Transformation to apply to integration tests
28+
*
29+
* @author Graeme Rocher
30+
* @since 2.3
31+
*/
32+
@Retention(RetentionPolicy.RUNTIME)
33+
@Target([ElementType.TYPE])
34+
@GroovyASTTransformationClass("org.grails.compiler.injection.testing.IntegrationTestMixinTransformation")
35+
public @interface Integration {
36+
37+
/**
38+
*
39+
* Specify the Application class which should be used for
40+
* this functional test. If unspecified the test runtime
41+
* environment will attempt to locate a class in the project
42+
* which extends grails.boot.config.GrailsAutoConfiguration
43+
* which can be problematic in multi project builds where
44+
* multiple Application classes may exist.
45+
*/
46+
Class applicationClass() default {}
47+
}

0 commit comments

Comments
 (0)