Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .sdkmanrc
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# Enable auto-env through the sdkman_auto_env config - https://sdkman.io/usage#env
java=17.0.12-librca
java=17.0.15-librca
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Build Test Data

## Build Test Data Grails Plugin
### Grails 7.x or later
`testImplementation 'io.github.longwa:build-test-data:6.0.0-M1'`
`testImplementation 'io.github.longwa:build-test-data:6.0.0-M2'`

http://longwa.github.io/build-test-data/index

Expand Down
23 changes: 13 additions & 10 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
buildscript {
repositories {
maven { url "https://repo.grails.org/grails/core/" }
}
dependencies {
classpath "org.grails:grails-gradle-plugin:${grailsGradlePluginVersion}"
}
}

plugins {
id 'com.adarshr.test-logger' version '4.0.0'
}

allprojects {
repositories {
maven { url "https://repo.grails.org/grails/core" }
maven {
url = 'https://central.sonatype.com/repository/maven-snapshots'
content {
includeVersionByRegex('cloud[.]wondrify', '.*', '.*-SNAPSHOT')
}
}
maven {
url = 'https://repository.apache.org/content/groups/snapshots'
content {
includeVersionByRegex 'org[.]apache[.]((grails)|(groovy)).*', '.*', '.*-SNAPSHOT'
}
}
}
}

Expand Down Expand Up @@ -52,7 +55,7 @@ subprojects {
}

if (project.name == 'build-test-data') {
apply plugin: "org.grails.grails-publish"
apply plugin: "org.apache.grails.gradle.grails-publish"
grailsPublish {
githubSlug = 'longwa/build-test-data'
artifactId = 'build-test-data'
Expand Down
27 changes: 27 additions & 0 deletions buildSrc/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
file('../gradle.properties').withInputStream {
Properties props = new Properties()
props.load(it)
project.ext.gradleProperties = props
}

repositories {
maven { url "https://repo.grails.org/grails/restricted" }
maven {
url = 'https://central.sonatype.com/repository/maven-snapshots'
content {
includeVersionByRegex('cloud[.]wondrify', '.*', '.*-SNAPSHOT')
}
}
maven {
url = 'https://repository.apache.org/content/groups/snapshots'
content {
includeVersionByRegex 'org[.]apache[.]((grails)|(groovy)).*', '.*', '.*-SNAPSHOT'
}
}
}

dependencies {
implementation platform("org.apache.grails:grails-bom:${gradleProperties.grailsVersion}")
implementation "org.apache.grails:grails-gradle-plugins"
implementation "cloud.wondrify:asset-pipeline-gradle"
}
2 changes: 1 addition & 1 deletion docs/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ def asciidoctorAttributes = [
version : project.version,
projectUrl : "https://github.com/longwa/build-test-data",
sourcedir : "${rootProject.allprojects.find { it.name == 'build-test-data' }.projectDir}/src/main/groovy",
gormDetailedLink : "https://gorm.grails.org/${getGrailsDocumentationVersion(project['gorm.version'] as String)}/hibernate/manual/index.html",
gormDetailedLink : "https://gorm.grails.org/${getGrailsDocumentationVersion(project.grailsVersion)}/hibernate/manual/index.html",
gormSummaryLink : "https://docs.grails.org/${getGrailsDocumentationVersion(project.grailsVersion)}/guide/GORM.html",
grailsDocBase : "https://docs.grails.org/${getGrailsDocumentationVersion(project.grailsVersion)}"
]
Expand Down
13 changes: 12 additions & 1 deletion docs/src/docs/installation.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,22 @@
== Installation
The test framework and testing methodology for Grails has undergone several major revisions over the past few releases.

Unfortunately, this makes it impossible to have one plugin which is compatible with all prior versions.
Unfortunately, this makes it impossible to have one plugin which is compatible with all prior versions. Please see the below sections to determine which version of the plugin you should use for your Grails version.

=== Grails 7.0 or later
`testImplementation "io.github.longwa:build-test-data:{version}"`

Build Test Data versions after 6.0.0-M1 no longer export dependencies that are available to a Grails application:

"org.apache.grails:grails-core"
"org.apache.grails:grails-testing-support-datamapping"
"org.apache.grails.databinding:grails-databinding-core"
"org.apache.grails.data:grails-datamapping-core"
"org.apache.grails:grails-web-boot"
"org.apache.grails:grails-testing-support-web"

If these dependencies are missing from your `build.gradle`, build test data may not function correctly. Not exporting these dependencies ensures the plugin is forward compatible with Grails Versions and minimizes the need to release this plugin for minor changes to Grails.

=== Grails 5.0 or Grails 6.0
`testImplementation "io.github.longwa:build-test-data:5.0.0"`

Expand Down
89 changes: 37 additions & 52 deletions examples/alternativeConfig/build.gradle
Original file line number Diff line number Diff line change
@@ -1,22 +1,6 @@
buildscript {
repositories {
maven { url "https://repo.grails.org/grails/core" }
}
dependencies {
classpath "org.grails:grails-gradle-plugin:$grailsGradlePluginVersion"
classpath "org.grails.plugins:hibernate5:${project.'gorm.version' - ".RELEASE"}"
}
}

plugins {
id "groovy"
id "org.grails.grails-web"
id "org.grails.grails-gsp"
id "war"
id "idea"
// Not needed because no /assets directory
// id "com.bertramlabs.asset-pipeline" version "${assetPipelineVersion}"
id "eclipse"
id "org.apache.grails.gradle.grails-web"
id "org.apache.grails.gradle.grails-gsp"
}

version "0.1"
Expand All @@ -25,40 +9,41 @@ group "alternativeconfig"
dependencies {
implementation project(':build-test-data')

profile("org.grails.profiles:web")

implementation("org.grails:grails-core")
implementation("org.grails:grails-logging")
implementation("org.grails:grails-plugin-databinding")
implementation("org.grails:grails-plugin-i18n")
implementation("org.grails:grails-plugin-interceptors")
implementation("org.grails:grails-plugin-rest")
implementation("org.grails:grails-plugin-services")
implementation("org.grails:grails-plugin-url-mappings")
implementation("org.grails:grails-web-boot")
implementation("org.grails.plugins:gsp")
implementation("org.grails.plugins:hibernate5")
implementation("org.grails.plugins:scaffolding")
implementation("org.sitemesh:grails-plugin-sitemesh3:${grailsVersion}")
implementation("org.springframework.boot:spring-boot-autoconfigure")
implementation("org.springframework.boot:spring-boot-starter")
implementation("org.springframework.boot:spring-boot-starter-actuator")
implementation("org.springframework.boot:spring-boot-starter-logging")
implementation("org.springframework.boot:spring-boot-starter-tomcat")
implementation("org.springframework.boot:spring-boot-starter-validation")

console("org.grails:grails-console")

runtimeOnly("com.bertramlabs.plugins:asset-pipeline-grails")
runtimeOnly("com.h2database:h2")
runtimeOnly("org.apache.tomcat:tomcat-jdbc")
runtimeOnly("org.fusesource.jansi:jansi")

integrationTestImplementation testFixtures("org.grails.plugins:geb")

testImplementation("org.grails:grails-gorm-testing-support")
testImplementation("org.grails:grails-web-testing-support")
testImplementation("org.spockframework:spock-core")
profile("org.apache.grails.profiles:web")

implementation platform("org.apache.grails:grails-bom:$grailsVersion")

implementation "org.apache.grails:grails-core"
implementation "org.apache.grails:grails-data-hibernate5"
implementation "org.apache.grails:grails-databinding"
implementation "org.apache.grails:grails-gsp"
implementation "org.apache.grails:grails-i18n"
implementation "org.apache.grails:grails-interceptors"
implementation "org.apache.grails:grails-logging"
implementation "org.apache.grails:grails-rest-transforms"
implementation "org.apache.grails:grails-scaffolding"
implementation "org.apache.grails:grails-services"
implementation "org.apache.grails:grails-url-mappings"
implementation "org.apache.grails:grails-web-boot"
implementation "org.springframework.boot:spring-boot-autoconfigure"
implementation "org.springframework.boot:spring-boot-starter"
implementation "org.springframework.boot:spring-boot-starter-actuator"
implementation "org.springframework.boot:spring-boot-starter-logging"
implementation "org.springframework.boot:spring-boot-starter-tomcat"
implementation "org.springframework.boot:spring-boot-starter-validation"

console "org.apache.grails:grails-console"

runtimeOnly "cloud.wondrify:asset-pipeline-grails"
runtimeOnly "com.h2database:h2"
runtimeOnly "com.zaxxer:HikariCP"
runtimeOnly "org.fusesource.jansi:jansi"

integrationTestImplementation testFixtures("org.apache.grails:grails-geb")

testImplementation "org.apache.grails:grails-testing-support-datamapping"
testImplementation "org.apache.grails:grails-testing-support-web"
testImplementation "org.spockframework:spock-core"
}

// No assets in test project
Expand Down
87 changes: 37 additions & 50 deletions examples/bookStore/build.gradle
Original file line number Diff line number Diff line change
@@ -1,60 +1,47 @@
buildscript {
repositories {
maven { url "https://repo.grails.org/grails/core" }
}
dependencies {
classpath "org.grails:grails-gradle-plugin:$grailsGradlePluginVersion"
}
}

plugins {
id "groovy"
id "org.grails.grails-web"
id "org.grails.grails-gsp"
id "war"
id "idea"
// Not needed because no /assets directory
// id "com.bertramlabs.asset-pipeline" version "${assetPipelineVersion}"
id "eclipse"
id "org.apache.grails.gradle.grails-web"
id "org.apache.grails.gradle.grails-gsp"
}

version "0.1"
group "bookStore"

dependencies {
profile("org.grails.profiles:web")

implementation("org.grails:grails-core")
implementation("org.grails:grails-logging")
implementation("org.grails:grails-plugin-databinding")
implementation("org.grails:grails-plugin-i18n")
implementation("org.grails:grails-plugin-interceptors")
implementation("org.grails:grails-plugin-rest")
implementation("org.grails:grails-plugin-services")
implementation("org.grails:grails-plugin-url-mappings")
implementation("org.grails:grails-web-boot")
implementation("org.grails.plugins:gsp")
implementation("org.grails.plugins:hibernate5")
implementation("org.grails.plugins:scaffolding")
implementation("org.springframework.boot:spring-boot-autoconfigure")
implementation("org.springframework.boot:spring-boot-starter")
implementation("org.springframework.boot:spring-boot-starter-actuator")
implementation("org.springframework.boot:spring-boot-starter-logging")
implementation("org.springframework.boot:spring-boot-starter-tomcat")
implementation("org.springframework.boot:spring-boot-starter-validation")

console("org.grails:grails-console")

runtimeOnly("com.bertramlabs.plugins:asset-pipeline-grails")
runtimeOnly("com.h2database:h2")
runtimeOnly("org.apache.tomcat:tomcat-jdbc")
runtimeOnly("org.fusesource.jansi:jansi")

integrationTestImplementation testFixtures("org.grails.plugins:geb")

testImplementation("org.grails:grails-gorm-testing-support")
testImplementation("org.grails:grails-web-testing-support")
testImplementation("org.spockframework:spock-core")
profile("org.apache.grails.profiles:web")

implementation platform("org.apache.grails:grails-bom:$grailsVersion")

implementation "org.apache.grails:grails-core"
implementation "org.apache.grails:grails-data-hibernate5"
implementation "org.apache.grails:grails-databinding"
implementation "org.apache.grails:grails-gsp"
implementation "org.apache.grails:grails-i18n"
implementation "org.apache.grails:grails-interceptors"
implementation "org.apache.grails:grails-logging"
implementation "org.apache.grails:grails-rest-transforms"
implementation "org.apache.grails:grails-scaffolding"
implementation "org.apache.grails:grails-services"
implementation "org.apache.grails:grails-url-mappings"
implementation "org.apache.grails:grails-web-boot"
implementation "org.springframework.boot:spring-boot-autoconfigure"
implementation "org.springframework.boot:spring-boot-starter"
implementation "org.springframework.boot:spring-boot-starter-actuator"
implementation "org.springframework.boot:spring-boot-starter-logging"
implementation "org.springframework.boot:spring-boot-starter-tomcat"
implementation "org.springframework.boot:spring-boot-starter-validation"

console "org.apache.grails:grails-console"

runtimeOnly "cloud.wondrify:asset-pipeline-grails"
runtimeOnly "com.h2database:h2"
runtimeOnly "com.zaxxer:HikariCP"
runtimeOnly "org.fusesource.jansi:jansi"

integrationTestImplementation testFixtures("org.apache.grails:grails-geb")

testImplementation "org.apache.grails:grails-testing-support-datamapping"
testImplementation "org.apache.grails:grails-testing-support-web"
testImplementation "org.spockframework:spock-core"

testImplementation project(':build-test-data')
}
Expand Down
4 changes: 1 addition & 3 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
projectVersion=6.0.0-SNAPSHOT

grailsVersion=7.0.0-M1
grailsGradlePluginVersion=7.0.0-M3
gorm.version=9.0.0-M3
grailsVersion=7.0.0-SNAPSHOT

org.gradle.daemon=true
org.gradle.parallel=true
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
47 changes: 17 additions & 30 deletions plugin/build.gradle
Original file line number Diff line number Diff line change
@@ -1,47 +1,34 @@
buildscript {
repositories {
maven { url "https://repo.grails.org/grails/core" }
}
dependencies {
classpath "org.grails:grails-gradle-plugin:$grailsGradlePluginVersion"
}
plugins {
id 'org.apache.grails.gradle.grails-plugin'
}

group "org.grails.plugins"
apply plugin: "eclipse"
apply plugin: "idea"
apply plugin: "org.grails.grails-plugin"
group 'io.github.longwa'

dependencies {
implementation "org.springframework.boot:spring-boot-starter-logging"
implementation "org.springframework.boot:spring-boot-autoconfigure"
implementation platform("org.apache.grails:grails-bom:$grailsVersion")
implementation "dk.brics:automaton:1.12-4"

implementation "org.grails:grails-core"
implementation "org.grails:grails-gorm-testing-support"
implementation "org.grails:grails-databinding"
implementation "org.grails:grails-datastore-gorm"
implementation "org.grails:grails-console"

// So we can run 'grails' and/or 'grails test-app' inside build-test-data
profile "org.grails.profiles:web-plugin"

implementation "org.springframework.boot:spring-boot-starter-actuator"
implementation "org.springframework.boot:spring-boot-starter-tomcat"
implementation "org.grails:grails-web-boot"
// Use compileOnly for dependencies that are provided by the Grails runtime to allow us to depend on a grails snapshot and
// and not have any users of this library use a snapshot dependency
compileOnly "org.apache.grails:grails-core"
compileOnly "org.apache.grails:grails-testing-support-datamapping"
compileOnly "org.apache.grails.databinding:grails-databinding-core"
compileOnly "org.apache.grails.data:grails-datamapping-core"
compileOnly "org.apache.grails:grails-web-boot"

runtimeOnly 'org.apache.groovy:groovy-dateutil'

testImplementation "org.grails.plugins:hibernate5"
testImplementation "org.apache.grails:grails-data-hibernate5"
testImplementation "com.h2database:h2"
testImplementation "org.apache.tomcat:tomcat-jdbc"

testImplementation "org.grails:grails-gorm-testing-support"
testImplementation "org.grails:grails-web-testing-support"
testImplementation "org.apache.grails:grails-testing-support-datamapping"
testImplementation "org.apache.grails:grails-testing-support-web"
}

// Enable if you wish to package this plugin as a standalone application
bootJar.enabled = false
grails {
springDependencyManagement = false
}

//this makes the groovy docs much more readable by shorting packages and providing links
groovydoc {
Expand Down