Skip to content

Commit

Permalink
Build updates for Grails 7
Browse files Browse the repository at this point in the history
  • Loading branch information
jdaugherty committed Dec 9, 2024
1 parent e6a3c2b commit 504a372
Show file tree
Hide file tree
Showing 7 changed files with 138 additions and 120 deletions.
52 changes: 0 additions & 52 deletions .github/workflows/github-pages.yml

This file was deleted.

48 changes: 33 additions & 15 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,36 +13,54 @@ jobs:
build:
runs-on: ubuntu-latest
env:
WORKSPACE: ${{ github.workspace }}
GRADLE_OPTS: -Xmx1500m -Dfile.encoding=UTF-8
SIGNING_KEYRING: ${{ secrets.SECRING_FILE }}
steps:
- uses: actions/checkout@v4
- name: Set up JDK
- name: "📥 Checkout the repository"
uses: actions/checkout@v4
- name: "☕️ Setup JDK"
uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: '17'
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
- name: Run Build
uses: gradle/gradle-build-action@v3
with:
arguments: build -Dgeb.env=chromeHeadless
run: ./gradlew build
publish:
if: github.event_name == 'push'
needs: ['build']
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK
- name: "📥 Checkout the repository"
uses: actions/checkout@v4
- name: "☕️ Setup JDK"
uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: '17'
- name: Publish Artifacts (repo.grails.org)
- name: "🐘 Setup Gradle"
uses:
gradle/actions/setup-gradle@v4
- name: "📤 Publish to Snapshot (repo.grails.org)"
id: publish
uses: gradle/gradle-build-action@v3
env:
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
with:
arguments: -Dorg.gradle.internal.publish.checksums.insecure=true publish
MAVEN_PUBLISH_USERNAME: ${{ secrets.MAVEN_PUBLISH_USERNAME }}
MAVEN_PUBLISH_PASSWORD: ${{ secrets.MAVEN_PUBLISH_PASSWORD }}
MAVEN_PUBLISH_URL: ${{ secrets.MAVEN_PUBLISH_SNAPSHOT_URL }}
run: ./gradlew publish
- name: "📜 Generate Documentation"
if: success()
env:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
working-directory: ${{ github.workspace }}
run: ./gradlew docs
- name: "🚀 Publish to Github Pages"
if: success()
uses: micronaut-projects/github-pages-deploy-action@grails
env:
SKIP_SNAPSHOT: ${{ contains(needs.publish.outputs.release_version, 'M') }}
TARGET_REPOSITORY: ${{ github.repository }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}
BRANCH: gh-pages
FOLDER: build/asciidoc
DOC_FOLDER: gh-pages
129 changes: 92 additions & 37 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,73 +3,128 @@ on:
release:
types: [published]
jobs:
release:
publish:
runs-on: ubuntu-latest
strategy:
matrix:
java: ['17']
outputs:
release_version: ${{ steps.release_version.outputs.value }}
env:
GIT_USER_NAME: grails-build
GIT_USER_EMAIL: [email protected]
steps:
- name: Checkout repository
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
- name: "📥 Checkout the repository"
uses: actions/checkout@v4
with:
token: ${{ secrets.GH_TOKEN }}
- name: Set up JDK
- name: "☕️ Setup JDK"
uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: ${{ matrix.java }}
- name: Set the current release version
java-version: '17'
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
- name: "📝Set the current release version"
id: release_version
run: echo ::set-output name=release_version::${GITHUB_REF:11}
- name: Run pre-release
run: echo "value=${GITHUB_REF:11}" >> $GITHUB_OUTPUT
- name: "⚙️ Run pre-release"
uses: micronaut-projects/github-actions/pre-release@master
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Generate secring file
- name: "🧩 Run Assemble"
if: success()
id: assemble
run: ./gradlew assemble
- name: "🔐 Generate secring file"
env:
SECRING_FILE: ${{ secrets.SECRING_FILE }}
run: echo $SECRING_FILE | base64 -d > ${{ github.workspace }}/secring.gpg
- name: Publish to Sonatype OSSRH
- name: "🚀 Publish to Sonatype OSSRH"
id: publish
uses: gradle/gradle-build-action@v3
env:
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
SONATYPE_NEXUS_URL: ${{ secrets.SONATYPE_NEXUS_URL }}
SONATYPE_STAGING_PROFILE_ID: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
SIGNING_KEY: ${{ secrets.SIGNING_KEY_ID }}
NEXUS_PUBLISH_USERNAME: ${{ secrets.NEXUS_PUBLISH_USERNAME }}
NEXUS_PUBLISH_PASSWORD: ${{ secrets.NEXUS_PUBLISH_PASSWORD }}
NEXUS_PUBLISH_URL: ${{ secrets.NEXUS_PUBLISH_RELEASE_URL }}
NEXUS_PUBLISH_STAGING_PROFILE_ID: ${{ secrets.NEXUS_PUBLISH_STAGING_PROFILE_ID }}
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }}
SECRING_FILE: ${{ secrets.SECRING_FILE }}
working-directory: ./plugin
run: >
../gradlew
-Psigning.secretKeyRingFile=${{ github.workspace }}/secring.gpg
publishToSonatype
closeSonatypeStagingRepository
release:
needs: publish
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: "📥 Checkout repository"
uses: actions/checkout@v4
- name: "☕️ Setup JDK"
uses: actions/setup-java@v4
with:
arguments: -Psigning.secretKeyRingFile=${{ github.workspace }}/secring.gpg publishToSonatype closeAndReleaseSonatypeStagingRepository --stacktrace
- name: Run Assemble
id: assemble
if: steps.publish.outcome == 'success'
uses: gradle/gradle-build-action@v3
distribution: liberica
java-version: 17
- name: "📥 Checkout repository"
uses: actions/checkout@v4
with:
token: ${{ secrets.GH_TOKEN }}
ref: v${{ needs.publish.outputs.release_version }}
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
- name: "🏆Nexus Staging Close And Release"
env:
NEXUS_PUBLISH_USERNAME: ${{ secrets.NEXUS_PUBLISH_USERNAME }}
NEXUS_PUBLISH_PASSWORD: ${{ secrets.NEXUS_PUBLISH_PASSWORD }}
NEXUS_PUBLISH_URL: ${{ secrets.NEXUS_PUBLISH_RELEASE_URL }}
NEXUS_PUBLISH_STAGING_PROFILE_ID: ${{ secrets.NEXUS_PUBLISH_STAGING_PROFILE_ID }}
working-directory: ./plugin
run: >
../gradlew
findSonatypeStagingRepository
releaseSonatypeStagingRepository
- name: "⚙️Run post-release"
if: success()
uses: micronaut-projects/github-actions/post-release@master
with:
token: ${{ secrets.GITHUB_TOKEN }}
env:
SNAPSHOT_SUFFIX: -SNAPSHOT
docs:
needs: publish
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: "📥 Checkout the repository"
uses: actions/checkout@v4
with:
arguments: assemble
- name: Export Gradle Properties
token: ${{ secrets.GH_TOKEN }}
ref: v${{ needs.publish.outputs.release_version }}
- name: "☕️ Setup JDK"
uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: '17'
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
- name: "📦 Export Gradle Properties"
uses: micronaut-projects/github-actions/export-gradle-properties@master
- name: Publish to Github Pages
if: steps.assemble.outcome == 'success'
uses: micronaut-projects/github-pages-deploy-action@master
- name: "📜 Generate User Guide Documentation"
id: docs
run: ./gradlew asciidoctor
- name: "🚀 Publish to Github Pages"
id: docs
if: success()
uses: grails/github-pages-deploy-action@v2
env:
BETA: ${{ contains(steps.release_version.outputs.release_version, 'M') || contains(steps.release_version.outputs.release_version, 'RC') }}
TARGET_REPOSITORY: ${{ github.repository }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}
BRANCH: gh-pages
FOLDER: build/docs
FOLDER: build/asciidoc
DOC_FOLDER: gh-pages
COMMIT_EMAIL: ${{ env.GIT_USER_EMAIL }}
COMMIT_NAME: ${{ env.GIT_USER_NAME }}
VERSION: ${{ steps.release_version.outputs.release_version }}
- name: Run post-release
if: success()
uses: micronaut-projects/github-actions/post-release@master
with:
token: ${{ secrets.GITHUB_TOKEN }}
env:
SNAPSHOT_SUFFIX: -SNAPSHOT
File renamed without changes.
17 changes: 11 additions & 6 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import org.asciidoctor.gradle.jvm.AsciidoctorTask

buildscript {
repositories {
maven { url "https://plugins.gradle.org/m2/" }
Expand All @@ -8,7 +10,7 @@ buildscript {
}
}
plugins {
id 'org.asciidoctor.jvm.convert' version '3.3.2'
id 'org.asciidoctor.jvm.convert' version '4.0.3'
id 'java-library'
}

Expand All @@ -18,9 +20,9 @@ group 'org.grails.plugins'
apply plugin: 'org.grails.grails-plugin'
apply plugin: 'org.grails.grails-gsp'
apply plugin: "org.grails.grails-doc"
apply plugin: "org.grails.internal.grails-plugin-publish"
apply plugin: "org.grails.grails-publish"

java.toolchain.languageVersion = JavaLanguageVersion.of(17)
compileJava.options.release = 17

repositories {
mavenCentral()
Expand Down Expand Up @@ -55,17 +57,20 @@ tasks.withType(Test).configureEach {
}

grailsPublish {
userOrg = "grails"
githubSlug = 'gpc/fields'
license {
name = 'Apache-2.0'
}
title = "Grails Fields Plugin"
desc = "Fields integration for Grails"
desc = "Customizable form-field rendering based on overrideable GSP template"
developers = [robfletcher: 'Rob Fletcher', graemerocher: "Graeme Rocher", sdelamo: "Sergio del Amo", sbglasius: 'Søren Berg Glasius']
}

asciidoctor {
tasks.named('asciidoctor', AsciidoctorTask) { it ->
it.jvm {
jvmArgs("--add-opens", "java.base/sun.nio.ch=ALL-UNNAMED", "--add-opens", "java.base/java.io=ALL-UNNAMED")
}

resources {
from('src/docs/images')
into "./images"
Expand Down
8 changes: 0 additions & 8 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,10 @@ projectVersion=6.0.0-SNAPSHOT
grailsVersion=7.0.0-SNAPSHOT
grailsGradlePluginVersion=7.0.0-SNAPSHOT
grailsScaffoldingVersion=2.1.0
groovyVersion=4.0.23
gormHibernate5Version=9.0.0-SNAPSHOT
joddWotVersion=3.3.8
byteBuddyVersion=1.14.12
asciidoc=true
githubSlug=gpc/fields
githubBranch=master
title=Grails Fields Plugin
projectDesc=Customizable form-field rendering based on overrideable GSP template
guide=../../guide
projectUrl=https\://github.com/gpc/fields
developers=Robert Fletcher, Graeme Rocher, S\u00c3\u00b8ren Berg Glasius and more

org.gradle.caching=true
org.gradle.daemon=true
Expand Down
4 changes: 2 additions & 2 deletions src/docs/asciidoc/ref/Tags/field.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,9 @@ Since version 2.1.4 you can specify the theme to be used.
<f:field bean="person" property="name" templates="maskedInput"/>
----

See link:{guide}/customizingFieldRendering.html[Customizing Field Rendering] for details of the parameters passed to the tag body.
See link:#customizingFieldRendering[Customizing Field Rendering] for details of the parameters passed to the tag body.

The `f:field` tag handles embedded domain properties in a special way. See link:{guide}/embeddedProperties.html[Embedded Properties] for details.
The `f:field` tag handles embedded domain properties in a special way. See link:#embeddedProperties[Embedded Properties] for details.


===== Attributes
Expand Down

0 comments on commit 504a372

Please sign in to comment.