Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restructure build #14093

Merged
merged 94 commits into from
Apr 2, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
d08510a
build(root): move `buildscript` to `buildSrc`
matrei Mar 24, 2025
3bf797c
build(root): align on single quotes for strings
matrei Mar 24, 2025
794cbf1
build(root): remove redundant `project` references
matrei Mar 24, 2025
8a2004c
build(root): simplify getting conditional properties
matrei Mar 24, 2025
ec44b61
build(root): simplify `GString`s
matrei Mar 24, 2025
e361294
build(root): remove `transitionCheckOptions`
matrei Mar 24, 2025
d5a48e0
build(root): remove unnecessary `javadoc` task lib exclusion
matrei Mar 24, 2025
e19c15c
build(root): remove unnecessary check for insecure repositories
matrei Mar 24, 2025
4558fd7
build(root): remove `buildscriptDependencies` task
matrei Mar 24, 2025
9e0115d
build(root): remove unnecessary `evaluationDependsOn`
matrei Mar 24, 2025
55cfd77
build(root): import `InitializeNexusStagingRepository`
matrei Mar 25, 2025
7a7cd34
build(root): align `ext` property setting
matrei Mar 25, 2025
780058f
build(root): align on no trailing slash on urls
matrei Mar 25, 2025
32bdc17
build(root): use `configureEach`
matrei Mar 25, 2025
fd793da
build(root): use `manifest.attributes()` for `Jar` tasks
matrei Mar 25, 2025
e7d87e0
chore: improve code comments in root `build.gradle`
matrei Mar 25, 2025
c938f67
build(root): remove obsolete Groovy joint workflow code
matrei Mar 25, 2025
fb49d3c
build(root): use `layout` for file references
matrei Mar 25, 2025
2a3efac
build(root): remove unnecessary `async` project handling
matrei Mar 25, 2025
d439226
build(root): use string instead of variable
matrei Mar 25, 2025
1d8e1a3
build(root): set Maven credentials directly
matrei Mar 25, 2025
39a4b99
build(root): align usage of `MavenArtefactRepository.setUrl(URI)`
matrei Mar 25, 2025
b686f74
build(root): cleanup
matrei Mar 25, 2025
863a79d
build(root): remove unused property `springLoadedCommonOptions`
matrei Mar 25, 2025
7cad89b
build(root): simplify Nexus publishing credentials
matrei Mar 25, 2025
dbfead8
build(root): remove transitive Groovy upgrade
matrei Mar 25, 2025
194be9c
build(root): configure Nexus publish extension with type-safe API
matrei Mar 25, 2025
4b64e82
build(root): use `projectVersion` to set root project `version`
matrei Mar 25, 2025
f312b01
build(root): refactor `subprojects` iteration
matrei Mar 25, 2025
250bda0
build(root): cast property to `String`
matrei Mar 25, 2025
b63fc3f
build(root): remove faulty comment
matrei Mar 25, 2025
cd7ec93
build(root): remove unnecessary `JavadocFixTool`
matrei Mar 25, 2025
d48f5bc
build(root): remove unnecessary empty string default
matrei Mar 25, 2025
da79eca
build(root): consolidate `Javadoc` task configuration
matrei Mar 25, 2025
39665ea
chore: comments in root `build.gradle`
matrei Mar 25, 2025
11252e1
build(root): replace `ant.copy` with `sync`
matrei Mar 25, 2025
5232d3c
build(root): make helper method static
matrei Mar 25, 2025
ccae146
build(root): remove legacy IDE Gradle plugins
matrei Mar 25, 2025
55ef6e7
build(root): fix faulty javadoc options
matrei Mar 25, 2025
26035ab
build(root): cleanup - use parentheses for methods
matrei Mar 25, 2025
07a6139
build: move `grails-bom` dependency to projects
matrei Mar 25, 2025
4b7975b
build: move dependency declaration to projects
matrei Mar 25, 2025
0779347
build: move dependency declaration to projects
matrei Mar 25, 2025
50c327e
build: move dependency declaration to projects
matrei Mar 25, 2025
4a9e3f7
build: remove unused `JavadocFixTool` from `buildSrc`
matrei Mar 25, 2025
66a6ebd
build: move dependency declaration to projects
matrei Mar 25, 2025
dcf1028
build: move dependency declaration to projects
matrei Mar 25, 2025
af15a20
build: move dependency declaration to projects
matrei Mar 26, 2025
a00eb64
build: extract Java config and add `javaVersion` property
matrei Mar 26, 2025
93eeb5c
build: move plugin application to individual projects
matrei Mar 26, 2025
39e98af
build: add Java configuration async projects
matrei Mar 26, 2025
7f5bc9d
build: clean up documentation generation
matrei Mar 27, 2025
99b6c79
build: set `version` and `group` in individual projects
matrei Mar 27, 2025
b5f5f89
build: clean up root `assemble` task
matrei Mar 27, 2025
189b31a
build: streamline functional tests Gradle plugin usage
matrei Mar 27, 2025
fb5c897
build: remove unused file `integration-test.gradle`
matrei Mar 27, 2025
8a7a795
build: extract functional test configuration
matrei Mar 30, 2025
2aaeccc
build: extract assemble configuration
matrei Mar 30, 2025
014e621
build: add `groovy` and `jar` task config to `java-config`
matrei Mar 30, 2025
26d5c0e
build: extract test config
matrei Mar 30, 2025
3f1ed26
build: extract publish config
matrei Mar 30, 2025
93a4d31
build: adapt shell cli deps configuration name
matrei Mar 30, 2025
6516a29
build: remove unused `findbugs.gradle`
matrei Mar 30, 2025
11d4ace
build: add fix for `grails-dependencies` publishing
matrei Mar 30, 2025
62071a7
build: remove `javadoc` config
matrei Mar 30, 2025
823e72b
build: add skip check to `test-suite-uber`
matrei Mar 30, 2025
6b5a37c
build: fix root project delete task
matrei Mar 30, 2025
85c4c0a
build(docs): pr feedback
matrei Mar 30, 2025
af77317
chore: pr feedback - remove commented code
matrei Mar 30, 2025
a96818d
build: pr feedback - add back relevant comment
matrei Mar 30, 2025
237ff62
build: pr feedback - simplify test dependency substitution
matrei Mar 30, 2025
ef398b0
build: pr feedback - add back gradle plugins to functional test
matrei Mar 30, 2025
30044a5
build: pr feedback - remove jar adding jar attributes
matrei Mar 30, 2025
2025db7
Revert "build: pr feedback - remove jar adding jar attributes"
matrei Mar 30, 2025
f42b801
build: pr feedback - lazy task registration
matrei Mar 30, 2025
495dc11
build: add `pomArtifactId` to `events` and `converters` plugins
matrei Mar 31, 2025
09971de
docs: fix javadoc linting errors
matrei Mar 31, 2025
2962f93
ci: Update Develocity plugins and settings
matrei Mar 31, 2025
5684cea
ci: Fix Develocity settings
matrei Mar 31, 2025
d38e650
build: Fix test reporting in `test-suite-web`
matrei Mar 31, 2025
510b408
build: Fix tests integration tests not running
matrei Mar 31, 2025
741c513
build: Simplify functional test dependency substitution
matrei Mar 31, 2025
ef83f60
build: Use Gradle plugin to package javadoc jar
matrei Mar 31, 2025
c425597
build(windows): Fix javadoc error
matrei Mar 31, 2025
e015787
build: compile `grails-docs` with Groovy 3
matrei Apr 1, 2025
f9204fd
build: extract install project filter to method
matrei Apr 1, 2025
ba620df
build: remove `sourcesJars` task
matrei Apr 1, 2025
f84f7a7
build: remove `homeSrcDir` as it is no longer used
matrei Apr 1, 2025
0cf53e6
build: dry up test projects condition check
matrei Apr 1, 2025
89cb98b
build: refactor `mappedArtifactIds` to use `pomArtifactId`
matrei Apr 1, 2025
6198032
build: remove explicit `resolutionStrategy` for `spock`
matrei Apr 1, 2025
9ec4faf
build: fix regression of windows cli path length problem
matrei Apr 2, 2025
158ea68
build: fix doc api subdirectory in distribution
matrei Apr 2, 2025
3d3846d
build: smoke test production view compilation in functional tests
matrei Apr 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 3 additions & 11 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,12 +49,9 @@ jobs:
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: "🔨 Build project"
id: build
env:
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
run: ./gradlew build assemble groovydoc -PskipFunctionalTests --continue
functional:
name: "Functional Tests"
Expand All @@ -77,11 +74,8 @@ jobs:
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: "🔨 Functional Tests"
env:
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
run: ./gradlew build -PonlyFunctionalTests
publish:
if: github.event_name == 'push' && needs.skip_check.outputs.found_skip_publish != 'true'
Expand All @@ -100,14 +94,12 @@ jobs:
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: "📤 Publish Snapshot Artifacts to Artifactory (repo.grails.org/libs-snapshot-local)"
id: publish
env:
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
run: >
./gradlew
-Dorg.gradle.internal.publish.checksums.insecure=true
Expand Down
29 changes: 8 additions & 21 deletions .github/workflows/groovy-joint-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ jobs:
- name: "☕️ Setup JDK"
uses: actions/setup-java@v4
with:
distribution: liberica
java-version: 17
distribution: liberica
- name: "🗄️ Cache local Maven repository"
uses: actions/cache@v4
with:
Expand All @@ -30,7 +30,7 @@ jobs:
with:
sparse-checkout-cone-mode: false
sparse-checkout: settings.gradle
- name: "📝 Store the Gradle Plugin versions used in Grails Core"
- name: "📝 Store the Gradle Plugin versions used in this project"
id: gradle-plugin-versions
run: |
DEVELOCITY_PLUGIN_VERSION=$(grep -m 1 'id\s*\(\"com.gradle.develocity\"\|'"'com.gradle.develocity'"'\)\s*version' settings.gradle | sed -E "s/.*version[[:space:]]*['\"]?([0-9]+\.[0-9]+(\.[0-9]+)?)['\"]?.*/\1/" | tr -d [:space:])
Expand All @@ -45,7 +45,7 @@ jobs:
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: "📝 Store Groovy version to use when building Grails"
id: groovy-version
run: |
Expand All @@ -68,27 +68,20 @@ jobs:
run: |
echo "VALUE<<EOF" >> $GITHUB_OUTPUT
echo "def isAuthenticated = System.getenv('DEVELOCITY_ACCESS_KEY') != null" >> $GITHUB_OUTPUT
echo "def isBuildCacheAuthenticated =" >> $GITHUB_OUTPUT
echo " System.getenv('DEVELOCITY_BUILD_CACHE_NODE_USER') != null &&" >> $GITHUB_OUTPUT
echo " System.getenv('DEVELOCITY_BUILD_CACHE_NODE_KEY') != null" >> $GITHUB_OUTPUT
echo "" >> $GITHUB_OUTPUT
echo "develocity {" >> $GITHUB_OUTPUT
echo " server = 'https://ge.grails.org'" >> $GITHUB_OUTPUT
echo " buildScan {" >> $GITHUB_OUTPUT
echo " tag('groovy')" >> $GITHUB_OUTPUT
echo " tag('grails-core')" >> $GITHUB_OUTPUT
echo " publishing.onlyIf { isAuthenticated }" >> $GITHUB_OUTPUT
echo " uploadInBackground = false" >> $GITHUB_OUTPUT
echo " }" >> $GITHUB_OUTPUT
echo "}" >> $GITHUB_OUTPUT
echo "" >> $GITHUB_OUTPUT
echo "buildCache {" >> $GITHUB_OUTPUT
echo " local { enabled = false }" >> $GITHUB_OUTPUT
echo " remote(develocity.buildCache) {" >> $GITHUB_OUTPUT
echo " push = isBuildCacheAuthenticated" >> $GITHUB_OUTPUT
echo " push = isAuthenticated" >> $GITHUB_OUTPUT
echo " enabled = true" >> $GITHUB_OUTPUT
echo " usernameAndPassword(" >> $GITHUB_OUTPUT
echo " System.getenv('DEVELOCITY_BUILD_CACHE_NODE_USER') ?: ''," >> $GITHUB_OUTPUT
echo " System.getenv('DEVELOCITY_BUILD_CACHE_NODE_KEY') ?: ''" >> $GITHUB_OUTPUT
echo " )" >> $GITHUB_OUTPUT
echo " }" >> $GITHUB_OUTPUT
echo "}" >> $GITHUB_OUTPUT
echo "" >> $GITHUB_OUTPUT
Expand All @@ -105,9 +98,6 @@ jobs:
# Add Develocity setup related configuration after line no 22 in gradle/build-scans.gradle
echo "${{ steps.develocity-conf-2.outputs.value }}" | sed -i -e "22r /dev/stdin" gradle/build-scans.gradle
- name: "🔨 Publish Groovy to local maven repository (no docs)"
env:
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
run: |
cd groovy
./gradlew pTML -x groovydoc -x javadoc -x javadocAll -x groovydocAll -x asciidoc -x docGDK
Expand All @@ -121,12 +111,12 @@ jobs:
- name: "☕️ Setup JDK"
uses: actions/setup-java@v4
with:
distribution: liberica
java-version: 17
distribution: liberica
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: "🗄️ Restore local Maven repository from cache"
uses: actions/cache@v4
with:
Expand All @@ -135,9 +125,6 @@ jobs:
- name: "🪶 Add mavenLocal repository to build"
run: sed -i 's|// mavenLocal() // Keep|mavenLocal() // Keep|' build.gradle
- name: "🔨 Build and test Grails using the locally built Groovy snapshot"
env:
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
run: >
./gradlew build
-PgroovyVersion=${{needs.build_groovy.outputs.groovyVersion}}
Expand Down
5 changes: 0 additions & 5 deletions .github/workflows/pre-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -448,18 +448,13 @@ jobs:
cat gradle.properties
- name: "🧩 Run Assemble"
run: ./gradlew -U assemble
env:
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
- name: "🔐 Generate key file for artifact signing"
env:
SECRING_FILE: ${{ secrets.SECRING_FILE }}
run: echo $SECRING_FILE | base64 -d > ${{ github.workspace }}/secring.gpg
- name: "📤 Publish to GitHub Packages"
id: publish
env:
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
GITHUB_USERNAME: ${{ secrets.GITHUB_ACTOR }}
GITHUB_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
GITHUB_PUBLISH: 'true'
Expand Down
11 changes: 2 additions & 9 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -430,7 +430,7 @@ jobs:
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: "📝 Store the target branch"
id: extract_branch
run: |
Expand All @@ -448,9 +448,6 @@ jobs:
RELEASE_SCRIPT_PATH: '.github/scripts/setReleasedGrailsVersion.sh'
- name: "🧩 Run Assemble"
id: assemble
env:
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
run: ./gradlew assemble
- name: "📤 Upload Distribution"
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
Expand All @@ -471,8 +468,6 @@ jobs:
- name: "📤 Publish to Sonatype OSSRH"
id: publish
env:
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
SONATYPE_NEXUS_URL: ${{ secrets.SONATYPE_NEXUS_URL }}
Expand Down Expand Up @@ -505,11 +500,9 @@ jobs:
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: "🚪 Nexus Staging Close And Release"
env:
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
SONATYPE_NEXUS_URL: ${{ secrets.SONATYPE_NEXUS_URL }}
Expand Down
5 changes: 1 addition & 4 deletions .github/workflows/retry-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: "📝 Store the target branch"
id: extract_branch
run: |
Expand All @@ -47,9 +47,6 @@ jobs:
VERSION: ${{ github.event.inputs.release }}
- name: "🧩 Run Assemble"
id: assemble
env:
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
run: ./gradlew assemble
- name: "📤 Upload artifacts to the Github release"
id: upload_artifact
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/sdkman.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,9 @@ jobs:
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: "🏆 Grails SDK Minor Release"
env:
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
GVM_SDKVENDOR_KEY: ${{ secrets.GVM_SDKVENDOR_KEY }}
GVM_SDKVENDOR_TOKEN: ${{ secrets.GVM_SDKVENDOR_TOKEN }}
run: ./gradlew sdkMinorRelease
Expand Down
Loading
Loading