From 69b15bf150f641372e7e1ebceeafea511906d02f Mon Sep 17 00:00:00 2001 From: James Daugherty Date: Sat, 21 Dec 2024 16:44:30 -0500 Subject: [PATCH] Fix bom import, use liberica, use grails github actions, support the pre release workflow # Conflicts: # docs/build.gradle # gradle.properties # grails-plugin/build.gradle --- .github/workflows/docs.yml | 5 +++-- .github/workflows/gradle.yml | 7 ++++--- .github/workflows/groovy-joint-workflow.yml | 6 ++++-- .github/workflows/release-notes.yml | 4 ++-- .github/workflows/release.yml | 12 +++++++----- build.gradle | 16 +++++++++++++++- examples/grails-data-service/build.gradle | 2 +- examples/grails-database-per-tenant/build.gradle | 1 + .../grails-hibernate-groovy-proxy/build.gradle | 1 + examples/grails-hibernate/build.gradle | 1 + .../grails-multiple-datasources/build.gradle | 1 + .../build.gradle | 1 + examples/grails-schema-per-tenant/build.gradle | 1 + examples/issue450/build.gradle | 1 + examples/spring-boot-hibernate/build.gradle | 2 ++ gradle.properties | 7 +++---- 16 files changed, 48 insertions(+), 20 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index b1e038f0..efb83c4f 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -20,7 +20,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v4 with: - distribution: temurin + distribution: liberica java-version: '17' - name: Publish Documentation id: docs @@ -29,6 +29,7 @@ jobs: GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }} GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }} + GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }} with: arguments: docs:docs - name: Determine docs target repository @@ -41,7 +42,7 @@ jobs: if_false: ${{ github.repository }} - name: Publish to Github Pages if: success() - uses: micronaut-projects/github-pages-deploy-action@grails + uses: grails/github-pages-deploy-action@grails env: SKIP_LATEST: ${{ contains(steps.release_version.outputs.release_version, 'M') }} TARGET_REPOSITORY: ${{ steps.docs_target.outputs.value }} diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 3a27cc11..7cb6db64 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -18,7 +18,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v4 with: - distribution: temurin + distribution: liberica java-version: '17' - name: Run Build id: build @@ -27,6 +27,7 @@ jobs: GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }} GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }} + GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }} with: arguments: build publish: @@ -38,7 +39,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v4 with: - distribution: temurin + distribution: liberica java-version: '17' - name: Publish Artifacts To Grails Artifactory (repo.grails.org) uses: gradle/gradle-build-action@v3 @@ -69,7 +70,7 @@ jobs: if_false: ${{ github.repository }} - name: Publish to Github Pages if: success() - uses: micronaut-projects/github-pages-deploy-action@grails + uses: grails/github-pages-deploy-action@grails env: SKIP_SNAPSHOT: ${{ contains(steps.release_version.outputs.release_version, 'M') }} TARGET_REPOSITORY: ${{ steps.docs_target.outputs.value }} diff --git a/.github/workflows/groovy-joint-workflow.yml b/.github/workflows/groovy-joint-workflow.yml index 9e26314b..cf8eeef9 100644 --- a/.github/workflows/groovy-joint-workflow.yml +++ b/.github/workflows/groovy-joint-workflow.yml @@ -40,7 +40,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v4 with: - distribution: temurin + distribution: liberica java-version: 17 - name: Cache local Maven repository & Groovy uses: actions/cache@v4 @@ -115,6 +115,7 @@ jobs: GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }} GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }} + GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }} with: build-root-directory: ../groovy arguments: | @@ -135,7 +136,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v4 with: - distribution: temurin + distribution: liberica java-version: 17 - name: Cache local Maven repository & Groovy uses: actions/cache@v4 @@ -154,6 +155,7 @@ jobs: GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }} GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }} + GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }} with: arguments: | build diff --git a/.github/workflows/release-notes.yml b/.github/workflows/release-notes.yml index 41a70374..97906e28 100644 --- a/.github/workflows/release-notes.yml +++ b/.github/workflows/release-notes.yml @@ -31,8 +31,8 @@ jobs: # Otherwise: - name: Export Gradle Properties if: steps.check_release_drafter.outputs.has_release_drafter == 'false' - uses: micronaut-projects/github-actions/export-gradle-properties@master - - uses: micronaut-projects/github-actions/release-notes@master + uses: grails/github-actions/export-gradle-properties@main + - uses: grails/github-actions/release-notes@main if: steps.check_release_drafter.outputs.has_release_drafter == 'false' id: release_notes with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 287c022c..d0c202ea 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,13 +17,13 @@ jobs: - name: Set up JDK uses: actions/setup-java@v4 with: - distribution: temurin + distribution: liberica java-version: '17' - name: Set the current release version id: release_version run: echo "release_version=${GITHUB_REF:11}" >> $GITHUB_OUTPUT - name: Run pre-release - uses: micronaut-projects/github-actions/pre-release@master + uses: grails/github-actions/pre-release@main with: token: ${{ secrets.GITHUB_TOKEN }} - name: Generate secring file @@ -43,6 +43,7 @@ jobs: GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }} GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }} + GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }} with: arguments: -Psigning.secretKeyRingFile=${{ github.workspace }}/secring.gpg publishToSonatype closeAndReleaseSonatypeStagingRepository - name: Publish Documentation @@ -53,10 +54,11 @@ jobs: GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }} GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }} + GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }} with: arguments: docs:docs - name: Export Gradle Properties - uses: micronaut-projects/github-actions/export-gradle-properties@master + uses: grails/github-actions/export-gradle-properties@main - name: Determine docs target repository if: success() uses: haya14busa/action-cond@v1 @@ -67,7 +69,7 @@ jobs: if_false: ${{ github.repository }} - name: Publish to Github Pages if: success() - uses: micronaut-projects/github-pages-deploy-action@grails + uses: grails/github-pages-deploy-action@grails env: SKIP_LATEST: ${{ contains(steps.release_version.outputs.release_version, 'M') }} TARGET_REPOSITORY: ${{ steps.docs_target.outputs.value }} @@ -81,7 +83,7 @@ jobs: VERSION: ${{ steps.release_version.outputs.release_version }} - name: Run post-release if: success() - uses: micronaut-projects/github-actions/post-release@master + uses: grails/github-actions/post-release@main with: token: ${{ secrets.GITHUB_TOKEN }} env: diff --git a/build.gradle b/build.gradle index b35be856..b2cb30b9 100644 --- a/build.gradle +++ b/build.gradle @@ -67,6 +67,16 @@ allprojects { url = 'https://repository.apache.org/content/repositories/snapshots' } } + if (System.getenv("GITHUB_MAVEN_PASSWORD") && !grailsVersion.endsWith('-SNAPSHOT')) { + System.out.println("Adding Grails Core Repo") + maven { + url = 'https://maven.pkg.github.com/grails/grails-core' + credentials { + username = 'DOES_NOT_MATTER' + password = System.getenv("GITHUB_MAVEN_PASSWORD") + } + } + } } } @@ -92,7 +102,11 @@ subprojects { Project subproject -> } dependencies { - implementation platform("org.grails:grails-bom:$grailsVersion") + + // Global dependencies for every app should be added here with great caution. + // Gorm is used by other frameworks (ie springboot, micronaut, etc) and we + // don't want to add dependencies that would make it harder to use in those frameworks. + testImplementation "jakarta.annotation:jakarta.annotation-api" testImplementation "io.micrometer:micrometer-core:latest.integration" testImplementation "io.projectreactor:reactor-test" diff --git a/examples/grails-data-service/build.gradle b/examples/grails-data-service/build.gradle index 80bec7fd..cbaa20fd 100644 --- a/examples/grails-data-service/build.gradle +++ b/examples/grails-data-service/build.gradle @@ -4,11 +4,11 @@ plugins { id 'org.grails.plugins.views-json' } - version = rootProject.version group = 'examples' dependencies { + implementation platform("org.grails:grails-bom:$grailsVersion") implementation project(':grails-plugin') implementation 'org.grails:grails-core' diff --git a/examples/grails-database-per-tenant/build.gradle b/examples/grails-database-per-tenant/build.gradle index 940f6c74..1fa1d5a5 100644 --- a/examples/grails-database-per-tenant/build.gradle +++ b/examples/grails-database-per-tenant/build.gradle @@ -9,6 +9,7 @@ version = rootProject.version group = 'examples' dependencies { + implementation platform("org.grails:grails-bom:$grailsVersion") implementation project(':grails-plugin') implementation 'org.grails:grails-core' diff --git a/examples/grails-hibernate-groovy-proxy/build.gradle b/examples/grails-hibernate-groovy-proxy/build.gradle index 7d509796..c537c390 100644 --- a/examples/grails-hibernate-groovy-proxy/build.gradle +++ b/examples/grails-hibernate-groovy-proxy/build.gradle @@ -7,6 +7,7 @@ version = rootProject.version group = 'examples' dependencies { + implementation platform("org.grails:grails-bom:$grailsVersion") implementation project(':grails-plugin') implementation 'org.grails:grails-core' diff --git a/examples/grails-hibernate/build.gradle b/examples/grails-hibernate/build.gradle index 0eb8edbf..e73a097a 100644 --- a/examples/grails-hibernate/build.gradle +++ b/examples/grails-hibernate/build.gradle @@ -9,6 +9,7 @@ version = rootProject.version group = 'examples' dependencies { + implementation platform("org.grails:grails-bom:$grailsVersion") implementation project(':grails-plugin') implementation 'jakarta.persistence:jakarta.persistence-api' diff --git a/examples/grails-multiple-datasources/build.gradle b/examples/grails-multiple-datasources/build.gradle index 0ecd983a..0cce99b7 100644 --- a/examples/grails-multiple-datasources/build.gradle +++ b/examples/grails-multiple-datasources/build.gradle @@ -10,6 +10,7 @@ configurations { } dependencies { + implementation platform("org.grails:grails-bom:$grailsVersion") astTransformation 'jakarta.servlet:jakarta.servlet-api' astTransformation 'org.grails:grails-plugin-controllers' diff --git a/examples/grails-partitioned-multi-tenancy/build.gradle b/examples/grails-partitioned-multi-tenancy/build.gradle index c51abfbf..fe681a2d 100644 --- a/examples/grails-partitioned-multi-tenancy/build.gradle +++ b/examples/grails-partitioned-multi-tenancy/build.gradle @@ -9,6 +9,7 @@ version = rootProject.version group = 'examples' dependencies { + implementation platform("org.grails:grails-bom:$grailsVersion") implementation project(':grails-plugin') implementation 'org.grails:grails-core' diff --git a/examples/grails-schema-per-tenant/build.gradle b/examples/grails-schema-per-tenant/build.gradle index f238df0e..d296d437 100644 --- a/examples/grails-schema-per-tenant/build.gradle +++ b/examples/grails-schema-per-tenant/build.gradle @@ -9,6 +9,7 @@ version = rootProject.version group = 'examples' dependencies { + implementation platform("org.grails:grails-bom:$grailsVersion") implementation project(':grails-plugin') implementation 'org.grails:grails-core' diff --git a/examples/issue450/build.gradle b/examples/issue450/build.gradle index ac09853f..9bc8756c 100644 --- a/examples/issue450/build.gradle +++ b/examples/issue450/build.gradle @@ -9,6 +9,7 @@ version = rootProject.version group = 'multitenantcomposite' dependencies { + implementation platform("org.grails:grails-bom:$grailsVersion") implementation project(':grails-plugin') implementation 'org.grails:grails-core' diff --git a/examples/spring-boot-hibernate/build.gradle b/examples/spring-boot-hibernate/build.gradle index 787aeb52..e45f687f 100644 --- a/examples/spring-boot-hibernate/build.gradle +++ b/examples/spring-boot-hibernate/build.gradle @@ -15,6 +15,8 @@ group = 'examples' dependencies { + implementation platform("org.grails:grails-bom:$grailsVersion") + implementation project(':gorm-hibernate5-spring-boot') implementation 'org.springframework.boot:spring-boot-starter-web' diff --git a/gradle.properties b/gradle.properties index 72307475..6844c63d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,10 +1,9 @@ projectVersion=9.0.0-SNAPSHOT asciidoctorGradleVersion=4.0.1 -gormVersion=9.0.0-M1 +gormVersion=9.0.0-M2 gradleNexusPublishPluginVersion=2.0.0 grailsGradlePluginVersion=7.0.0-M2 -grailsVersion=7.0.0-SNAPSHOT -groovydocGradlePluginVersion=1.0.1 +grailsVersion=7.0.0-M1 groovyVersion=4.0.24 hibernateVersion=5.6.15.Final hibernateValidatorVersion=8.0.1.Final @@ -12,7 +11,7 @@ yakworksHibernateGroovyProxyVersion=1.1 micronautPlatformVersion=4.6.3 picocliVersion=4.7.6 springBootGradlePluginVersion=3.4.1 -viewsGradleVersion=4.0.0-SNAPSHOT +viewsGradleVersion=4.0.0-M1 org.gradle.caching=true org.gradle.parallel=false