Skip to content

Commit 0bc5cca

Browse files
authored
Merge pull request #77 from grails-plugins/matrei/prep-4.0.2
Prep for 4.0.2 release
2 parents 1c0bccb + 698b6c4 commit 0bc5cca

File tree

9 files changed

+120
-138
lines changed

9 files changed

+120
-138
lines changed

.github/workflows/gradle.yml

Lines changed: 41 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,79 +1,67 @@
1-
name: Java CI
1+
name: "Java CI"
22
on:
33
push:
44
branches:
55
- '[4-9]+.[0-9]+.x'
66
pull_request:
77
branches:
88
- '[4-9]+.[0-9]+.x'
9+
workflow_dispatch:
910
env:
1011
GIT_USER_NAME: ${{ secrets.GIT_USER_NAME }}
1112
GIT_USER_EMAIL: ${{ secrets.GIT_USER_EMAIL }}
12-
1313
jobs:
14-
1514
test_project:
16-
name: Test Project
15+
name: "Test Project"
1716
if: github.event_name == 'pull_request'
18-
runs-on: ubuntu-latest
17+
runs-on: ubuntu-24.04
1918
strategy:
2019
fail-fast: true
2120
matrix:
2221
java: [11, 17]
23-
2422
steps:
25-
- uses: actions/checkout@v4
26-
- uses: gradle/wrapper-validation-action@v2
27-
- uses: actions/setup-java@v4
23+
- name: "📥 Checkout repository"
24+
uses: actions/checkout@v4
25+
- name: "☕️ Setup JDK"
26+
uses: actions/setup-java@v4
2827
with:
29-
distribution: temurin
3028
java-version: ${{ matrix.java }}
31-
- uses: gradle/actions/setup-gradle@v3
32-
- name: Run tests
33-
env:
34-
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
29+
distribution: liberica
30+
- name: "🐘 Setup Gradle"
31+
uses: gradle/actions/setup-gradle@v4
32+
with:
33+
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
34+
- name: "🏃 Run tests"
3535
run: ./gradlew check
36-
3736
publish_snapshot:
38-
name: Build Project and Publish Snapshot release
39-
runs-on: ubuntu-latest
40-
if: github.event_name == 'push'
41-
37+
if: (github.event_name == 'push' || github.event_name == 'workflow_dispatch') && github.repository_owner == 'grails-plugins'
38+
name: "Build Project and Publish Snapshot release"
39+
needs: test_project
40+
runs-on: ubuntu-24.04
4241
steps:
43-
- uses: actions/checkout@v4
44-
- uses: gradle/wrapper-validation-action@v2
45-
- uses: actions/setup-java@v4
46-
with: { java-version: 11, distribution: temurin }
47-
- uses: gradle/actions/setup-gradle@v3
48-
49-
- name: Build Project
50-
env:
51-
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
52-
run: ./gradlew build
53-
54-
- name: Publish Snapshot version to Artifactory (repo.grails.org)
55-
if: success()
56-
env:
57-
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
58-
ORG_GRADLE_PROJECT_artifactoryPublishUsername: ${{ secrets.ARTIFACTORY_USERNAME }}
59-
ORG_GRADLE_PROJECT_artifactoryPublishPassword: ${{ secrets.ARTIFACTORY_PASSWORD }}
60-
run: >
61-
./gradlew
62-
-Dorg.gradle.internal.publish.checksums.insecure=true
63-
publish
64-
65-
- name: Generate Snapshot Documentation
66-
if: success()
42+
- name: "📥 Checkout repository"
43+
uses: actions/checkout@v4
44+
- name: "☕️ Setup JDK"
45+
uses: actions/setup-java@v4
46+
with:
47+
java-version: 11
48+
distribution: liberica
49+
- name: "🐘 Setup Gradle"
50+
uses: gradle/actions/setup-gradle@v4
51+
with:
52+
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
53+
- name: "📤 Publish Snapshot version to Artifactory (repo.grails.org)"
6754
env:
68-
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
55+
GRAILS_PUBLISH_RELEASE: 'false'
56+
MAVEN_PUBLISH_USERNAME: ${{ secrets.MAVEN_PUBLISH_USERNAME }}
57+
MAVEN_PUBLISH_PASSWORD: ${{ secrets.MAVEN_PUBLISH_PASSWORD }}
58+
MAVEN_PUBLISH_URL: 'https://repo.grails.org/artifactory/plugins3-snapshots-local'
59+
run: ./gradlew publish
60+
- name: "📖 Generate Snapshot Documentation"
6961
run: ./gradlew docs
70-
71-
- name: Publish Snapshot Documentation to Github Pages
72-
if: success()
73-
uses: micronaut-projects/github-pages-deploy-action@grails
62+
- name: "📤 Publish Snapshot Documentation to Github Pages"
63+
uses: apache/grails-github-actions/deploy-github-pages@asf
7464
env:
75-
BRANCH: gh-pages
76-
COMMIT_EMAIL: ${{ env.GIT_USER_EMAIL }}
77-
COMMIT_NAME: ${{ env.GIT_USER_NAME }}
78-
FOLDER: build/docs/manual
79-
GH_TOKEN: ${{ secrets.GH_TOKEN }}
65+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
66+
GRADLE_PUBLISH_RELEASE: 'false'
67+
SOURCE_FOLDER: build/docs

.github/workflows/release.yml

Lines changed: 39 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,61 @@
1-
name: Release
1+
name: "Release"
22
on:
33
release:
44
types: [published]
55
env:
66
GIT_USER_NAME: ${{ secrets.GIT_USER_NAME }}
77
GIT_USER_EMAIL: ${{ secrets.GIT_USER_EMAIL }}
8-
98
jobs:
109
release:
11-
runs-on: ubuntu-latest
12-
10+
runs-on: ubuntu-24.04
11+
permissions:
12+
packages: read # for pre-release workflow
13+
contents: write # to commit changes related to the release and publish documentation to gh-pages
14+
issues: write # to modify milestones
1315
steps:
14-
- uses: actions/checkout@v4
15-
- uses: gradle/wrapper-validation-action@v2
16-
- uses: actions/setup-java@v4
17-
with: { java-version: 11, distribution: temurin }
18-
- uses: gradle/actions/setup-gradle@v3
19-
20-
- name: Get the current release version
21-
id: release_version
22-
run: echo "release_version=${GITHUB_REF:11}" >> $GITHUB_OUTPUT
23-
24-
- name: Run pre-release
25-
uses: micronaut-projects/github-actions/pre-release@master
26-
27-
- name: Generate secring file
16+
- name: "📥 Checkout repository"
17+
uses: actions/checkout@v4
18+
- name: "☕️ Setup JDK"
19+
uses: actions/setup-java@v4
20+
with:
21+
java-version: 11
22+
distribution: liberica
23+
- name: "🐘 Setup Gradle"
24+
uses: gradle/actions/setup-gradle@v4
25+
with:
26+
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
27+
- name: "📝 Store the current release version"
28+
run: |
29+
echo "Release version: ${GITHUB_REF:11}"
30+
echo "RELEASE_VERSION=${GITHUB_REF:11}" >> $GITHUB_ENV
31+
- name: "⚙️ Run pre-release"
32+
uses: apache/grails-github-actions/pre-release@asf
33+
- name: "🔐 Generate key file for artifact signing"
2834
env:
2935
SECRING_FILE: ${{ secrets.SECRING_FILE }}
3036
run: echo $SECRING_FILE | base64 -d > ${{ github.workspace }}/secring.gpg
31-
32-
- name: Publish artifacts to Sonatype
33-
id: publish_to_sonatype
37+
- name: "📤 Publish artifacts to Sonatype"
3438
env:
35-
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
36-
ORG_GRADLE_PROJECT_sonatypeUsername: ${{ secrets.SONATYPE_USERNAME }}
37-
ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.SONATYPE_PASSWORD }}
38-
ORG_GRADLE_PROJECT_sonatypeStagingProfileId: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
39+
GRAILS_PUBLISH_RELEASE: 'true'
40+
NEXUS_PUBLISH_USERNAME: ${{ secrets.NEXUS_PUBLISH_USERNAME }}
41+
NEXUS_PUBLISH_PASSWORD: ${{ secrets.NEXUS_PUBLISH_PASSWORD }}
42+
NEXUS_PUBLISH_URL: ${{ secrets.NEXUS_PUBLISH_RELEASE_URL }}
43+
NEXUS_PUBLISH_STAGING_PROFILE_ID: ${{ secrets.NEXUS_PUBLISH_STAGING_PROFILE_ID }}
3944
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
4045
SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }}
4146
run: >
4247
./gradlew
4348
-Psigning.secretKeyRingFile=${{ github.workspace }}/secring.gpg
4449
publishToSonatype
4550
closeAndReleaseSonatypeStagingRepository
46-
47-
- name: Generate Documentation
48-
if: success()
49-
env:
50-
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
51+
- name: "📖 Generate Documentation"
5152
run: ./gradlew docs
52-
53-
- name: Publish Documentation to Github Pages
54-
if: success()
55-
uses: micronaut-projects/github-pages-deploy-action@grails
53+
- name: "📤 Publish Documentation to Github Pages"
54+
uses: apache/grails-github-actions/deploy-github-pages@asf
5655
env:
57-
BRANCH: gh-pages
58-
COMMIT_EMAIL: ${{ env.GIT_USER_EMAIL }}
59-
COMMIT_NAME: ${{ env.GIT_USER_NAME }}
60-
FOLDER: build/docs/manual
61-
GH_TOKEN: ${{ secrets.GH_TOKEN }}
62-
VERSION: ${{ steps.release_version.outputs.release_version }}
63-
64-
- name: Run post-release
65-
if: steps.publish_to_sonatype.outcome == 'success'
66-
uses: micronaut-projects/github-actions/post-release@master
56+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
57+
GRADLE_PUBLISH_RELEASE: 'true'
58+
SOURCE_FOLDER: build/docs
59+
VERSION: ${{ env.RELEASE_VERSION }}
60+
- name: "⚙️ Run post-release"
61+
uses: apache/grails-github-actions/post-release@asf

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Grails Mail Plugin
22

33
[![Maven Central](https://img.shields.io/maven-central/v/org.grails.plugins/mail.svg?label=Maven%20Central)](https://central.sonatype.com/artifact/org.grails.plugins/mail)
4-
[![Java CI](https://github.com/grails/grails-mail/actions/workflows/gradle.yml/badge.svg?event=push)](https://github.com/grails/grails-mail/actions/workflows/gradle.yml)
4+
[![Java CI](https://github.com/grails-plugins/grails-mail/actions/workflows/gradle.yml/badge.svg?event=push)](https://github.com/grails-plugins/grails-mail/actions/workflows/gradle.yml)
55

66
## About
77

@@ -21,7 +21,7 @@ mailService.sendMail {
2121

2222
## Documentation
2323

24-
[Latest documentation](https://grails.github.io/grails-mail/latest/) and [snapshots](https://grails.github.io/grails-mail/snapshot/) are available.
24+
[Latest documentation](https://grails-plugins.github.io/grails-mail/latest/) and [snapshots](https://grails-plugins.github.io/grails-mail/snapshot/) are available.
2525

2626
## Versions
2727

@@ -34,7 +34,7 @@ mailService.sendMail {
3434

3535
## Issues
3636

37-
Issues can be raised via [GitHub Issues](https://github.com/grails/grails-mail/issues).
37+
Issues can be raised via [GitHub Issues](https://github.com/grails-plugins/grails-mail/issues).
3838

3939
## Contributing
4040

build.gradle

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ plugins {
88

99
version = projectVersion
1010
group = 'org.grails.plugins'
11+
1112
ext.set('grailsVersion', libs.versions.grails.asProvider().get())
1213
ext.set('isReleaseVersion', !version.toString().endsWith('-SNAPSHOT'))
1314
ext.set('isSnapshot', !isReleaseVersion)
@@ -58,11 +59,13 @@ dependencies {
5859
tasks.withType(Test).configureEach {
5960
useJUnitPlatform()
6061
testLogging {
61-
events 'passed', 'skipped', 'failed'
62+
events('passed', 'skipped', 'failed')
6263
}
6364
}
6465

65-
apply from: layout.projectDirectory.file('gradle/java-config.gradle')
66-
apply from: layout.projectDirectory.file('gradle/grails-plugin-config.gradle')
67-
apply from: layout.projectDirectory.file('gradle/documentation-config.gradle')
68-
apply from: layout.projectDirectory.file('gradle/publishing.gradle')
66+
apply {
67+
from layout.projectDirectory.file('gradle/java-config.gradle')
68+
from layout.projectDirectory.file('gradle/grails-plugin-config.gradle')
69+
from layout.projectDirectory.file('gradle/documentation-config.gradle')
70+
from layout.projectDirectory.file('gradle/publishing.gradle')
71+
}

gradle/buildsrc.libs.versions.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[versions]
2-
grails-gradle-plugin = '6.2.0'
3-
nexus-publish-gradle-plugin = '1.3.0'
2+
grails-gradle-plugin = '6.2.4'
3+
nexus-publish-gradle-plugin = '2.0.0'
44

55
[libraries]
66
grails-gradle-plugin = { module = 'org.grails:grails-gradle-plugin', version.ref = 'grails-gradle-plugin' }

gradle/libs.versions.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
[versions]
2-
grails = '6.2.0'
3-
grails-testing-support = '3.2.1'
2+
grails = '6.2.3'
3+
grails-testing-support = '3.2.2'
44
greenmail = '1.6.15'
5-
groovy = '3.0.21'
5+
groovy = '3.0.25'
66
gsp = '6.2.1'
77
javamail = '1.6.2'
88
slf4j = '1.7.36'
9-
spring = '5.3.34'
9+
spring = '5.3.39'
1010
springboot = '2.7.18'
1111
spock = '2.3-groovy-3.0'
1212

gradle/publishing.gradle

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,10 @@ publishing {
88
publications {
99
register('grailsMailPlugin', MavenPublication) {
1010
from javaComponent.get()
11-
versionMapping {
12-
usage('java-api') { fromResolutionOf('runtimeClasspath') }
13-
usage('java-runtime') { fromResolutionResult() }
14-
}
1511
pom {
1612
name = 'Grails Mail plugin'
1713
description = 'Provides Mail support to a running Grails application'
18-
url = 'https://github.com/grails/grails-mail'
14+
url = 'https://github.com/grails-plugins/grails-mail'
1915
licenses {
2016
license {
2117
name = 'The Apache License, Version 2.0'
@@ -65,9 +61,9 @@ publishing {
6561
}
6662
}
6763
scm {
68-
connection = 'scm:git:git://github.com/grails/grails-mail.git'
69-
developerConnection = 'scm:git:ssh://github.com:grails/grails-mail.git'
70-
url = 'https://github.com/grails/grails-mail'
64+
connection = 'scm:git:git://github.com/grails-plugins/grails-mail.git'
65+
developerConnection = 'scm:git:ssh://github.com:grails-plugins/grails-mail.git'
66+
url = 'https://github.com/grails-plugins/grails-mail'
7167
}
7268
}
7369
// dependency management shouldn't be included
@@ -82,10 +78,10 @@ publishing {
8278
repositories {
8379
maven {
8480
credentials {
85-
username = findProperty('artifactoryPublishUsername') ?: ''
86-
password = findProperty('artifactoryPublishPassword') ?: ''
81+
username = System.getenv('MAVEN_PUBLISH_USERNAME')
82+
password = System.getenv('MAVEN_PUBLISH_PASSWORD')
8783
}
88-
url = uri('https://repo.grails.org/grails/plugins3-snapshots-local')
84+
url = uri(System.getenv('MAVEN_PUBLISH_URL') ?: '')
8985
}
9086
}
9187
}
@@ -104,15 +100,12 @@ afterEvaluate {
104100

105101
if (isReleaseVersion) {
106102
nexusPublishing {
107-
String sonatypeUsername = findProperty('sonatypeUsername') ?: ''
108-
String sonatypePassword = findProperty('sonatypePassword') ?: ''
109-
String sonatypeStagingProfileId = findProperty('sonatypeStagingProfileId') ?: ''
110103
repositories {
111104
sonatype {
112-
nexusUrl = uri('https://s01.oss.sonatype.org/service/local/')
113-
username = sonatypeUsername
114-
password = sonatypePassword
115-
stagingProfileId = sonatypeStagingProfileId
105+
nexusUrl = uri(System.getenv('NEXUS_PUBLISH_URL') ?: '')
106+
username = System.getenv('NEXUS_PUBLISH_USERNAME')
107+
password = System.getenv('NEXUS_PUBLISH_PASSWORD')
108+
stagingProfileId = System.getenv('NEXUS_PUBLISH_STAGING_PROFILE_ID')
116109
}
117110
}
118111
}

0 commit comments

Comments
 (0)