Skip to content

Commit 91ace43

Browse files
committed
Merge branch '7.0.x' into 7.1.x
# Conflicts: # gradle.properties # grails-core/src/test/groovy/grails/util/GrailsUtilTests.java
2 parents e9e015c + 796cd2f commit 91ace43

File tree

34 files changed

+67
-64
lines changed

34 files changed

+67
-64
lines changed

.github/scripts/releaseDistributions.sh

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,18 @@
1919
# under the License.
2020
#
2121

22-
# ./releaseDistributions.sh <tag> <svn_folder> <username>
22+
# ./releaseDistributions.sh <tag> <svn-folder> <username>
2323

2424
set -euo pipefail
2525

2626
if [[ $# -ne 3 ]]; then
27-
echo "Usage: $0 <tag> <svn_folder> <username>" >&2
27+
echo "Usage: $0 <tag> <svn-folder> <username>" >&2
2828
exit 1
2929
fi
3030

3131
RELEASE_TAG="$1"
32-
RELEASE_VERSION="${RELEASE_TAG#v}"
3332
SVN_FOLDER="$2"
3433
SVN_USER="$3"
35-
RELEASE_ROOT="https://dist.apache.org/repos/dist/release/grails/${SVN_FOLDER}"
36-
DEV_ROOT="https://dist.apache.org/repos/dist/dev/grails/${SVN_FOLDER}"
37-
3834
read -r -s -p "Password: " SVN_PASS
3935
echo
4036

@@ -51,6 +47,10 @@ if [[ -z "${SVN_PASS}" ]]; then
5147
exit 1
5248
fi
5349

50+
RELEASE_VERSION="${RELEASE_TAG#v}"
51+
RELEASE_ROOT="https://dist.apache.org/repos/dist/release/grails/${SVN_FOLDER}"
52+
DEV_ROOT="https://dist.apache.org/repos/dist/dev/grails/${SVN_FOLDER}"
53+
5454
svn_flags=(--non-interactive --trust-server-cert --username "${SVN_USER}" --password "${SVN_PASS}")
5555

5656
svn_exists() {

.github/scripts/releaseJarFiles.sh

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,15 @@
1919
# under the License.
2020
#
2121

22-
# ./releaseJarFiles.sh <staging repo description> <username>
22+
# ./releaseJarFiles.sh <staging-repo-description> <username>
2323

2424
set -euo pipefail
2525

2626
if [[ $# -ne 2 ]]; then
27-
echo "Usage: $0 <staging repo description> <username>" >&2
27+
echo "Usage: $0 <staging-repo-description> <username>" >&2
2828
exit 1
2929
fi
3030

31-
NEXUS_URL="https://repository.apache.org"
3231
STAGING_DESCRIPTION="$1"
3332
NEXUS_USER="$2"
3433
read -r -s -p "Password: " NEXUS_PASS
@@ -47,6 +46,8 @@ if [[ -z "${NEXUS_PASS}" ]]; then
4746
exit 1
4847
fi
4948

49+
NEXUS_URL="https://repository.apache.org"
50+
5051
nexusApi() {
5152
local request_method="$1"; shift
5253
local path="$1"; shift

.github/workflows/release.yml

Lines changed: 34 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ env:
2424
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2525
GRAILS_PUBLISH_RELEASE: 'true'
2626
JAVA_DISTRIBUTION: liberica
27-
JAVA_VERSION: 17.0.17 # this must be a specific version for reproducible builds, keep it synced with .sdkmanrc
27+
JAVA_VERSION: 17.0.17 # this must be a specific version for reproducible builds, keep it synced with .sdkmanrc and verification container
2828
PROJECT_DESC: >
2929
Grails is a powerful Groovy-based web application framework for the JVM,
3030
built on top of Spring Boot, and supported by a rich ecosystem of plugins
@@ -161,7 +161,7 @@ jobs:
161161
publishToSonatype
162162
aggregateChecksums
163163
aggregatePublishedArtifacts
164-
- name: "📤 Publish grails-core to Staging Repository"
164+
- name: "📤 Publish Grails Core to Staging Repository"
165165
env:
166166
NEXUS_PUBLISH_USERNAME: ${{ secrets.NEXUS_STAGE_DEPLOYER_USER }}
167167
NEXUS_PUBLISH_PASSWORD: ${{ secrets.NEXUS_STAGE_DEPLOYER_PW }}
@@ -176,7 +176,7 @@ jobs:
176176
publishToSonatype
177177
aggregateChecksums
178178
aggregatePublishedArtifacts
179-
- name: "📤 Publish grails-forge to Staging Repository"
179+
- name: "📤 Publish Grails Forge to Staging Repository"
180180
env:
181181
NEXUS_PUBLISH_USERNAME: ${{ secrets.NEXUS_STAGE_DEPLOYER_USER }}
182182
NEXUS_PUBLISH_PASSWORD: ${{ secrets.NEXUS_STAGE_DEPLOYER_PW }}
@@ -235,7 +235,7 @@ jobs:
235235
steps:
236236
- name: "📝 Establish release version"
237237
run: echo "VERSION=${TAG#v}" >> "$GITHUB_ENV"
238-
- name: "📥 Checkout grails-core repository"
238+
- name: "📥 Checkout Grails Core repository"
239239
uses: actions/checkout@v5
240240
with:
241241
path: grails
@@ -255,19 +255,25 @@ jobs:
255255
rm -f grails/KEYS
256256
- name: "📥 Download CHECKSUMS.txt and rename to CHECKSUMS"
257257
working-directory: grails
258+
env:
259+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
258260
run: |
259261
release_url=$(gh release view "${TAG}" --json assets --repo "${REPO_SLUG}" --jq '.assets[] | select(.name == "CHECKSUMS.txt") | .url')
260-
curl -f -L -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -o CHECKSUMS "$release_url"
262+
curl -f -L -H "Authorization: token $GH_TOKEN" -o CHECKSUMS "$release_url"
261263
- name: "📥 Download PUBLISHED_ARTIFACTS.txt and rename to PUBLISHED_ARTIFACTS"
262264
working-directory: grails
265+
env:
266+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
263267
run: |
264268
release_url=$(gh release view "${TAG}" --json assets --repo "${REPO_SLUG}" --jq '.assets[] | select(.name == "PUBLISHED_ARTIFACTS.txt") | .url')
265-
curl -f -L -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -o PUBLISHED_ARTIFACTS "$release_url"
269+
curl -f -L -H "Authorization: token $GH_TOKEN" -o PUBLISHED_ARTIFACTS "$release_url"
266270
- name: "📥 Download BUILD_DATE.txt and rename to BUILD_DATE"
267271
working-directory: grails
272+
env:
273+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
268274
run: |
269275
release_url=$(gh release view "${TAG}" --json assets --repo "${REPO_SLUG}" --jq '.assets[] | select(.name == "BUILD_DATE.txt") | .url')
270-
curl -f -L -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" -o BUILD_DATE "$release_url"
276+
curl -f -L -H "Authorization: token $GH_TOKEN" -o BUILD_DATE "$release_url"
271277
- name: "📅 Ensure source files use common date"
272278
run: |
273279
SOURCE_DATE_EPOCH=$(cat grails/BUILD_DATE)
@@ -347,7 +353,7 @@ jobs:
347353
steps:
348354
- name: "📝 Establish release version"
349355
run: echo "VERSION=${TAG#v}" >> "$GITHUB_ENV"
350-
- name: "⚙️ Setup SVN and Tools"
356+
- name: "🛠️ Install tools"
351357
run: sudo apt-get install -y subversion subversion-tools tree gettext-base
352358
- name: "👀 Ensure dev/${{ env.SVN_PROJECT }} folder exists"
353359
run: |
@@ -472,8 +478,8 @@ jobs:
472478
uses: actions/checkout@v5
473479
with:
474480
ref: ${{ env.TAG }}
475-
- name: "⚙️ Setup SVN and Tools"
476-
run: sudo apt-get install -y subversion subversion-tools tree gettext-base
481+
- name: "🛠️️ Install tools"
482+
run: sudo apt-get install -y gettext-base
477483
- name: "🗳 MANUAL - Confirm Grails PMC Vote succeeded"
478484
run: |
479485
echo "::group::Manual Confirmation"
@@ -514,7 +520,8 @@ jobs:
514520
run: |
515521
echo "::group::Manual ASF Reporter Update"
516522
TODAY=$(date +"%Y-%m-%d")
517-
echo "Check email from [email protected] & update https://reporter.apache.org/addrelease.html?${SVN_PROJECT} to add ${SVN_FOLDER^^}-${VERSION} as complete as of ${TODAY}"
523+
echo "Update https://reporter.apache.org/addrelease.html?${SVN_PROJECT} to add"
524+
echo "${SVN_FOLDER^^}-${VERSION} as complete as of ${TODAY}"
518525
echo "::endgroup::"
519526
- name: "🚀 MANUAL - Deploy Grails Forge"
520527
run: |
@@ -569,7 +576,7 @@ jobs:
569576
- name: "🚀 Publish to GitHub Pages"
570577
uses: apache/grails-github-actions/deploy-github-pages@asf
571578
env:
572-
GH_TOKEN: ${{ secrets.GRAILS_GHTOKEN }}
579+
GH_TOKEN: ${{ secrets.GRAILS_GHTOKEN }} # To be able to push to grails-website repo
573580
GRADLE_PUBLISH_RELEASE: 'true'
574581
SOURCE_FOLDER: grails-doc/build/docs
575582
TARGET_REPOSITORY: apache/grails-website
@@ -597,14 +604,14 @@ jobs:
597604
with:
598605
develocity-access-key: ${{ secrets.GRAILS_DEVELOCITY_ACCESS_KEY }}
599606
- name: "🚀 Grails SDK Minor Release"
600-
if: contains(env.VERSION, 'M')
607+
if: contains(env.VERSION, 'M') || contains(env.VERSION, 'RC')
601608
working-directory: grails-forge
602609
run: ./gradlew sdkMinorRelease
603610
env:
604611
GVM_SDKVENDOR_KEY: ${{ secrets.GVM_SDKVENDOR_KEY }}
605612
GVM_SDKVENDOR_TOKEN: ${{ secrets.GVM_SDKVENDOR_TOKEN }}
606613
- name: "🚀 Grails SDK Major Release"
607-
if: startsWith(env.VERSION, '7.') && !contains(env.VERSION, 'M')
614+
if: startsWith(env.VERSION, '7.') && !contains(env.VERSION, 'M') && !contains(env.VERSION, 'RC')
608615
working-directory: grails-forge
609616
run: ./gradlew sdkMajorRelease
610617
env:
@@ -635,17 +642,27 @@ jobs:
635642
- name: "🌎 MANUAL - Create Blog Post"
636643
run: |
637644
echo "::group::Blog Post Creation - MANUAL"
638-
echo "Publish a blog post on https://grails.apache.org/blog/ about the new release [${VERSION}] using the repo https://github.com/apache/grails-static-website"
645+
echo "Publish a blog post on https://grails.apache.org/blog/ about the new release [${VERSION}] using"
646+
echo "the repo: https://github.com/apache/grails-static-website"
639647
echo "::endgroup::"
640648
- name: "🌎 MANUAL - Merge Close Release PR"
641649
run: |
642650
echo "::group::Merge Close Release PR - MANUAL"
643-
echo "The last step in the grails-core release workflow will create a merge branch for the original tag with version number and then open a PR to merge back into the next branch. You will need to merge this PR into the branch after correcting any merge conflict."
651+
echo "The last step in the grails-core release workflow will create a merge branch for the original tag"
652+
echo "with version number and then open a PR to merge back into the next branch."
653+
echo "You will need to merge this PR into the branch after correcting any merge conflict."
644654
echo "::endgroup::"
645655
- name: "🌎 MANUAL - deploy the new SNAPSHOT to Forge"
646656
run: |
647657
echo "::group::Deploy the new SNAPSHOT to Forge - MANUAL"
648-
echo "After the Close Release PR is merged, deploy the new SNAPSHOT to Forge via: https://github.com/apache/grails-core/actions/workflows/forge-deploy-snapshot.yml"
658+
echo "After the Close Release PR is merged, deploy the new SNAPSHOT to Forge via:"
659+
echo "https://github.com/apache/grails-core/actions/workflows/forge-deploy-snapshot.yml"
660+
echo "::endgroup::"
661+
- name: "🌎 MANUAL - Add version to the Grails Website"
662+
run: |
663+
echo "::group::Add version to the Grails Website - MANUAL"
664+
echo "Add the released version [${VERSION}] to the Grails Website by running the Release workflow:"
665+
echo "https://github.com/apache/grails-static-website/actions/workflows/release.yml"
649666
echo "::endgroup::"
650667
- name: '📧 Announcement Email'
651668
run: |

dependencies.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ ext {
2525
'ant.version' : '1.10.15',
2626
'asciidoctor-gradle-jvm.version': '4.0.5',
2727
'asciidoctorj.version' : '3.0.0',
28-
'asset-pipeline-gradle.version' : '5.0.21',
28+
'asset-pipeline-gradle.version' : '5.0.22',
2929
'byte-buddy.version' : '1.17.7',
3030
'commons-text.version' : '1.13.1',
3131
'directory-watcher.version' : '0.19.1',
3232
'gradle-spock.version' : '2.3-groovy-3.0',
33-
'grails-publish-plugin.version' : '0.0.3-SNAPSHOT',
33+
'grails-publish-plugin.version' : '0.0.3',
3434
'jansi.version' : '1.18',
3535
'javaparser-core.version' : '3.27.0',
3636
'jline.version' : '2.14.6',
@@ -68,7 +68,7 @@ ext {
6868
]
6969

7070
bomDependencyVersions = [
71-
'asset-pipeline-bom.version' : '5.0.21',
71+
'asset-pipeline-bom.version' : '5.0.22',
7272
'bootstrap-icons.version' : '1.13.1',
7373
'bootstrap.version' : '5.3.8',
7474
'commons-codec.version' : '1.18.0',

grails-data-neo4j/examples/grails3-neo4j-hibernate/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ dependencies {
3333
implementation "org.apache.grails:grails-data-hibernate5:$hibernateDatastoreVersion"
3434
implementation "org.hibernate:hibernate-ehcache:$hibernateEhcacheVersion"
3535

36-
implementation 'org.webjars:webjars-locator-core'
3736
testAndDevelopmentOnly platform(project(':grails-bom'))
3837
testAndDevelopmentOnly 'org.webjars.npm:jquery'
3938

grails-data-neo4j/examples/grails3-neo4j/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ dependencies {
3030

3131
implementation project(":grails-plugin")
3232

33-
implementation 'org.webjars:webjars-locator-core'
3433
testAndDevelopmentOnly platform(project(':grails-bom'))
3534
testAndDevelopmentOnly 'org.webjars.npm:jquery'
3635

grails-dependencies/assets/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ def configurations = [
3636
'org.webjars.npm:bootstrap',
3737
'org.webjars.npm:bootstrap-icons',
3838
'org.webjars.npm:jquery',
39-
'org.webjars:webjars-locator-core',
4039
]
4140
]
4241

grails-doc/src/en/guide/commandLine/gradleBuild/gradleDependencies.adoc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ dependencies {
2828
testAndDevelopmentOnly "org.webjars.npm:bootstrap"
2929
testAndDevelopmentOnly "org.webjars.npm:bootstrap-icons"
3030
testAndDevelopmentOnly "org.webjars.npm:jquery"
31-
implementation 'org.webjars:webjars-locator-core'
3231
implementation platform("org.apache.grails:grails-bom:$grailsVersion")
3332
implementation "org.apache.grails:grails-core"
3433
implementation "org.apache.grails:grails-logging"

grails-doc/src/en/guide/upgrading/upgrading60x.adoc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,10 @@ plugins {
228228
}
229229
230230
jakartaeeMigration {
231-
includeTransform('org.grails.plugins:export')
231+
// Exclude Grails dependencies since AST and jakartaeeMigration are not compatible
232+
excludeTransform('org.apache.grails:**')
233+
excludeTransform('org.apache.grails.**:**')
234+
// enable automatic migration from EE 8 (javax) or earlier to EE 10 (jakarta) or later
232235
migrate()
233236
}
234237
----

grails-forge/grails-forge-core/src/main/java/org/grails/forge/build/gradle/GradleRepository.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,16 @@ static Set<GradleRepository> getDefaultRepositories(String grailsVersion) {
4949
)
5050
)
5151
));
52+
repositories.add(new DefaultGradleRepository(
53+
repositories.size(),
54+
"https://repository.apache.org/content/groups/staging",
55+
null,
56+
List.of(
57+
new VersionRegexRepoFilter(
58+
"org[.]apache[.]grails[.]gradle", "grails-publish", ".*"
59+
)
60+
)
61+
));
5262
}
5363

5464
return repositories;

0 commit comments

Comments
 (0)