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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
37 changes: 2 additions & 35 deletions .github/renovate.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,42 +20,9 @@
},
{
"matchPackageNames": [
"org.grails:grails-bom",
"org.grails:grails-bootstrap",
"org.grails:grails-codecs",
"org.grails:grails-console",
"org.grails:grails-core",
"org.grails:grails-databinding",
"org.grails:grails-dependencies",
"org.grails:grails-docs",
"org.grails:grails-encoder",
"org.grails:grails-gradle-model",
"org.grails:grails-logging",
"org.grails:grails-plugin-codecs",
"org.grails:grails-plugin-controllers",
"org.grails:grails-plugin-databinding",
"org.grails:grails-plugin-datasource",
"org.grails:grails-plugin-domain-class",
"org.grails:grails-plugin-i18n",
"org.grails:grails-plugin-interceptors",
"org.grails:grails-plugin-mimetypes",
"org.grails:grails-plugin-rest",
"org.grails:grails-plugin-services",
"org.grails:grails-plugin-url-mappings",
"org.grails:grails-plugin-url-validation",
"org.grails:grails-shell",
"org.grails:grails-spring",
"org.grails:grails-test",
"org.grails:grails-validation",
"org.grails:grails-web",
"org.grails:grails-web-boot",
"org.grails:grails-web-common",
"org.grails:grails-web-databinding",
"org.grails:grails-web-fileupload",
"org.grails:grails-web-mvc",
"org.grails:grails-web-url-mappings"
"org.grails:grails-bom"
],
"groupName": "grails monorepo"
"groupName": "grails bom"
}
]
}
19 changes: 9 additions & 10 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
develocity-access-key: ${{ secrets.GRAILS_DEVELOCITY_ACCESS_KEY }}
- name: "🔨 Run Build"
id: build
env:
Expand All @@ -53,7 +53,7 @@ jobs:
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
develocity-access-key: ${{ secrets.GRAILS_DEVELOCITY_ACCESS_KEY }}
- name: "▶️ Start MongoDB (needed for some tests)"
uses: supercharge/mongodb-github-action@90004df786821b6308fb02299e5835d0dae05d0d # v1.12.0 (Use commit sha as this is a 3rd party action)
with:
Expand Down Expand Up @@ -81,7 +81,7 @@ jobs:
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
develocity-access-key: ${{ secrets.GRAILS_DEVELOCITY_ACCESS_KEY }}
- name: "🔨 Run Build"
id: build
env:
Expand All @@ -103,15 +103,14 @@ jobs:
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
develocity-access-key: ${{ secrets.GRAILS_DEVELOCITY_ACCESS_KEY }}
- name: "📤 Publish Snapshot to repo.grails.org"
env:
GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
GRADLE_PUBLISH_RELEASE: 'false'
MAVEN_PUBLISH_USERNAME: ${{ secrets.MAVEN_PUBLISH_USERNAME }}
MAVEN_PUBLISH_PASSWORD: ${{ secrets.MAVEN_PUBLISH_PASSWORD }}
# NOTE: secrets.MAVEN_PUBLISH_URL == https://repo.grails.org/grails/plugins3-snapshot-local
MAVEN_PUBLISH_URL: https://repo.grails.org/grails/libs-snapshots-local
MAVEN_PUBLISH_URL: ${{ secrets.GRAILS_NEXUS_PUBLISH_SNAPSHOT_URL }}
MAVEN_PUBLISH_USERNAME: ${{ secrets.NEXUS_USER }}
MAVEN_PUBLISH_PASSWORD: ${{ secrets.NEXUS_PW }}
run: ./gradlew --no-build-cache publish
docs:
if: github.event_name == 'push'
Expand All @@ -130,7 +129,7 @@ jobs:
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
develocity-access-key: ${{ secrets.GRAILS_DEVELOCITY_ACCESS_KEY }}
- name: "🔨 Build Docs"
env:
GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
Expand Down Expand Up @@ -162,7 +161,7 @@ jobs:
continue-on-error: true
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GH_TOKEN }} # must be a PAT since we're triggering on an external repo
github-token: ${{ secrets.GRAILS_GH_TOKEN }} # must be a PAT since we're triggering on an external repo
script: |
try {
const result = await github.rest.actions.createWorkflowDispatch({
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/groovy-joint-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
develocity-access-key: ${{ secrets.GRAILS_DEVELOCITY_ACCESS_KEY }}
- name: "📝 Store Groovy version to use when building the project"
id: groovy-version
run: |
Expand All @@ -69,7 +69,7 @@ jobs:
id: develocity-conf-2
run: |
echo "VALUE<<EOF" >> $GITHUB_OUTPUT
echo "def isAuthenticated = System.getenv('DEVELOCITY_ACCESS_KEY') != null" >> $GITHUB_OUTPUT
echo "def isAuthenticated = System.getenv('GRAILS_DEVELOCITY_ACCESS_KEY') != null" >> $GITHUB_OUTPUT
echo "develocity {" >> $GITHUB_OUTPUT
echo " server = 'https://ge.grails.org'" >> $GITHUB_OUTPUT
echo " buildScan {" >> $GITHUB_OUTPUT
Expand Down Expand Up @@ -119,7 +119,7 @@ jobs:
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
develocity-access-key: ${{ secrets.GRAILS_DEVELOCITY_ACCESS_KEY }}
- name: "🗄️ Restore local Maven repository from cache"
uses: actions/cache@v4
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-notes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ jobs:
- name: "📝 Update Release Draft"
uses: release-drafter/release-drafter@v6
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GRAILS_GH_TOKEN }}
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
develocity-access-key: ${{ secrets.GRAILS_DEVELOCITY_ACCESS_KEY }}
- name: "⚙️ Run pre-release"
uses: apache/grails-github-actions/pre-release@asf
- name: "🔍 Determine Target Branch"
Expand Down Expand Up @@ -84,7 +84,7 @@ jobs:
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
develocity-access-key: ${{ secrets.GRAILS_DEVELOCITY_ACCESS_KEY }}
- name: "🚀 Release Sonatype Staging Repository"
env:
GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
Expand Down Expand Up @@ -117,7 +117,7 @@ jobs:
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
develocity-access-key: ${{ secrets.GRAILS_DEVELOCITY_ACCESS_KEY }}
- name: "📖 Generate documentation"
env:
GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
Expand Down
41 changes: 19 additions & 22 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,15 @@ allprojects {
}

repositories {
// Used for testing locally against the latest snapshot of Groovy & for pulling dependencies in other repos
// Usage: ./gradlew build -P"groovyVersion=X.X.X-SNAPSHOT"
maven {
name = 'ASF Snapshot repo'
url = 'https://repository.apache.org/content/repositories/snapshots'
}
mavenCentral()
maven { url = 'https://repo.grails.org/grails/core' }
// mavenLocal() // Keep, this will be uncommented and used by CI (groovy-joint-workflow)
if (customGroovyVersion?.endsWith('-SNAPSHOT')) {
// Used for testing locally against the latest snapshot of Groovy
// Usage: ./gradlew build -P"groovyVersion=X.X.X-SNAPSHOT"
logger.lifecycle('Adding Groovy Snapshot Repo for project: {}, Using Groovy {}', name, customGroovyVersion)
maven {
name = 'ASF Snapshot repo'
url = 'https://repository.apache.org/content/repositories/snapshots'
}
}
if (System.getenv('GITHUB_MAVEN_PASSWORD') && !grailsVersion.endsWith('-SNAPSHOT')) {
logger.lifecycle('Adding Grails Core Staging Repo for project: {}', name)
maven {
Expand All @@ -58,34 +55,34 @@ def publishedProjects = [
'grails-datastore-async',
'grails-datastore-core',
'grails-datastore-gorm',
'grails-datastore-gorm-async',
'grails-datamapping-async',
//'grails-datastore-gorm-rx',
'grails-datastore-gorm-support',
'grails-datastore-gorm-tck',
'grails-datastore-gorm-tck-base',
'grails-datastore-gorm-tck-domains',
'grails-datastore-gorm-validation',
'grails-datamapping-support',
'grails-datamapping-tck-tests',
'grails-datamapping-tck-base',
'grails-datamapping-tck-domains',
'grails-datamapping-validation',
'grails-datastore-web',
'grails-gorm-testing-support',
'grails-testing-support-datamapping',
// simple
'simple-gorm',
// hibernate5
'hibernate5-boot-plugin',
'hibernate5-database-migration',
'hibernate5-gorm',
'hibernate5-core',
'hibernate5-grails-plugin',
// mongodb
'mongodb-boot-plugin',
'mongodb-gorm',
'mongodb-gorm-bson',
'mongodb-gorm-ext',
'mongodb-core',
'mongodb-bson',
'mongodb-ext',
'mongodb-grails-plugin',
'mongodb-views-json-templates'
'mongodb-gson-templates'
]
subprojects {
if (name in publishedProjects) {
// This has to be applied here
apply plugin: 'org.grails.grails-publish'
apply plugin: 'org.apache.grails.gradle.grails-publish'
}
}

Expand Down
7 changes: 3 additions & 4 deletions buildSrc/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ file('../gradle.properties').withInputStream {
}

repositories {
// mavenLocal()
maven { url = 'https://repository.apache.org/content/repositories/snapshots' }
maven { url = 'https://repo.grails.org/grails/core' }
mavenCentral()
if (System.getenv('GITHUB_MAVEN_PASSWORD')) {
Expand All @@ -23,9 +23,8 @@ repositories {
}

dependencies {
implementation platform("org.grails:grails-bom:${versions.getProperty('grailsVersion')}")
implementation 'org.grails:grails-gradle-plugin'
implementation platform("org.apache.grails:grails-bom:${versions.getProperty('grailsVersion')}")
implementation 'org.apache.grails:grails-gradle-plugins'
implementation 'com.bertramlabs.plugins:asset-pipeline-gradle'
implementation 'org.grails.plugins:views-gradle'
implementation 'org.springframework.boot:spring-boot-gradle-plugin'
}
2 changes: 1 addition & 1 deletion docs/guide-developer/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ plugins {
}

version project.projectVersion
group 'org.grails'
group 'org.apache.grails'

def asciidoctorAttributes = [
icons : 'font',
Expand Down
4 changes: 2 additions & 2 deletions docs/guide-developer/src/main/docs/gettingStarted.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ The project is essentially a multi-project Gradle build. There is a core API and

* `grails-datastore-core` - The core API, this provides core interfaces for implementing a GORM provider
* `grails-datastore-gorm` - The runtime meta-programming and AST transformation infrastructure behind GORM. This also provides end users with APIs like `grails.gorm.CriteriaBuilder` and `grails.gorm.DetachedCriteria`
* `grails-datastore-gorm-support` - Support classes for easing the writing of a GORM plugin for Grails
* `grails-datastore-gorm-tck` - The TCK that includes hundreds of Spock specifications that a GORM implementation will need to pass
* `grails-datamapping-support` - Support classes for easing the writing of a GORM plugin for Grails
* `grails-datamapping-tck-tests` - The TCK that includes hundreds of Spock specifications that a GORM implementation will need to pass
* `grails-datastore-web` - Classes required to integrate GORM into a web tier

In addition to this, there are separate projects of GORM implementations for various datastores:
Expand Down
4 changes: 2 additions & 2 deletions docs/guide-developer/src/main/docs/stepByStep.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ With contents:
dependencies {
implementation project(':grails-datastore-gorm'),
project(':grails-datastore-web'),
project(':grails-datastore-gorm-support')
project(':grails-datamapping-support')

testImplementation project(':grails-datastore-gorm-tck')
testImplementation project(':grails-datamapping-tck-tests')
testRuntime "javax.servlet:javax.servlet-api:$servletApiVersion"

}
Expand Down
4 changes: 2 additions & 2 deletions docs/guide-developer/src/main/docs/testing.adoc
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
The `grails-datastore-gorm-tck` project provides several hundred tests to guarantee that a particular GORM implementation is compliant. To use the TCK you need to define a dependency on the TCK in the subprojects `build.gradle` file:
The `grails-datamapping-tck-tests` project provides several hundred tests to guarantee that a particular GORM implementation is compliant. To use the TCK you need to define a dependency on the TCK in the subprojects `build.gradle` file:

[source,groovy]
----
testCompile project(':grails-datastore-gorm-tck')
testCompile project(':grails-datamapping-tck-tests')
----

Then create a `Setup.groovy` file that sets up your custom datastore in your implementation.
Expand Down
2 changes: 1 addition & 1 deletion docs/guide-rx/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ plugins {
}

version project.projectVersion
group 'org.grails'
group 'org.apache.grails'

def asciidoctorAttributes = [
icons : 'font',
Expand Down
2 changes: 1 addition & 1 deletion docs/guide-whats-new/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ plugins {
}

version project.projectVersion
group 'org.grails'
group 'org.apache.grails'

def asciidoctorAttributes = [
icons : 'font',
Expand Down
10 changes: 5 additions & 5 deletions gradle/documentation-config.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ apply plugin: 'groovy'
configurations.register('documentation')

dependencies {
documentation platform("org.grails:grails-bom:$grailsVersion")
documentation platform("org.apache.grails:grails-bom:$grailsVersion")
documentation 'org.apache.groovy:groovy-groovydoc'
documentation 'org.apache.groovy:groovy-ant'
}
Expand All @@ -22,15 +22,15 @@ tasks.register('data-mapping-groovydoc', Groovydoc) {
'grails-datastore-async',
'grails-datastore-core',
'grails-datastore-gorm',
'grails-datastore-gorm-async',
'grails-datastore-gorm-support',
'grails-datastore-gorm-validation',
'grails-datamapping-async',
'grails-datamapping-support',
'grails-datamapping-validation',
'grails-datastore-web',

// These are test api docs that aren't typically included in the runtime classpath of applications.
// for now include them in the groovy doc unless we want to call out that documentation separately later.
'grails-datastore-gorm-test',
'grails-gorm-testing-support'
'grails-testing-support-datamapping'
]
}

Expand Down
7 changes: 1 addition & 6 deletions gradle/publish-config.gradle
Original file line number Diff line number Diff line change
@@ -1,13 +1,8 @@
import org.grails.gradle.plugin.publishing.GrailsPublishExtension

if (project.hasProperty('snapshotPublishUrl')) {
ext.set('mavenPublishUrl', property('snapshotPublishUrl'))
logger.lifecycle('Configuring {}:{} snapshot publish repo: {}', group, findProperty('pomArtifactId') ?: name, mavenPublishUrl)
}

extensions.configure(GrailsPublishExtension) {
// Explicit `it` is required here
it.githubSlug = 'grails/grails-data-mapping'
it.githubSlug = 'apache/grails-data-mapping'
it.license.name = 'Apache-2.0'
it.title = findProperty('pomTitle') ?: 'Grails GORM'
it.desc = findProperty('pomDescription') ?: 'GORM - Grails Data Access Framework'
Expand Down
6 changes: 3 additions & 3 deletions gradle/tck-config.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ configurations {

dependencies {
if (!project.hasProperty('includeBaseTckClass') || project.findProperty('includeBaseTckClass')) {
testImplementation project(':grails-datastore-gorm-tck-base')
testImplementation project(':grails-datamapping-tck-base')
}
// So we can easily extract the compiled classes
tck project(':grails-datastore-gorm-tck')
testImplementation project(':grails-datastore-gorm-tck-domains')
tck project(':grails-datamapping-tck-tests')
testImplementation project(':grails-datamapping-tck-domains')

runtimeOnly 'org.apache.groovy:groovy-dateutil', {
// Groovy Date Utils Extensions are used in the tests
Expand Down
Loading
Loading