Skip to content

Commit 270ccd4

Browse files
authored
Merge pull request #1057 from matrei/matrei/merge-security-repos
Merge Grails Spring Security Plugin repositories
2 parents dc95940 + 0a30930 commit 270ccd4

File tree

2,020 files changed

+215564
-1394
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,020 files changed

+215564
-1394
lines changed

.github/workflows/gradle.yml

Lines changed: 48 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Java CI
1+
name: "Java CI"
22
on:
33
push:
44
branches:
@@ -15,87 +15,70 @@ env:
1515

1616
jobs:
1717
core-tests:
18-
runs-on: ubuntu-latest
18+
runs-on: ubuntu-24.04
1919
steps:
20-
- uses: actions/checkout@v4
21-
- uses: gradle/wrapper-validation-action@v2
22-
- uses: actions/setup-java@v4
23-
with: { java-version: 17, distribution: liberica }
24-
- name: Run Tests
25-
uses: gradle/actions/setup-gradle@v3
26-
env:
27-
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
20+
- name: "📥 Checkout repository"
21+
uses: actions/checkout@v4
22+
- name: "☕️ Setup JDK"
23+
uses: actions/setup-java@v4
2824
with:
29-
arguments: |
30-
check
31-
--refresh-dependencies
32-
--continue
33-
25+
java-version: 17
26+
distribution: liberica
27+
- name: "🐘 Setup Gradle"
28+
uses: gradle/actions/setup-gradle@v4
29+
with:
30+
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
31+
- name: "🏃‍♂️ Run Tests"
32+
run: ./gradlew check --max-workers=2 --refresh-dependencies --continue
3433
functional-test:
35-
runs-on: ubuntu-latest
34+
runs-on: ubuntu-24.04
3635
strategy:
3736
fail-fast: false
3837
matrix:
3938
test-config: [ 'static', 'annotation', 'requestmap', 'basic', 'basicCacheUsers', 'misc', 'putWithParams', 'bcrypt', 'issue503' ]
4039
steps:
41-
- uses: actions/checkout@v4
42-
- uses: actions/setup-java@v4
43-
with: { java-version: 17, distribution: liberica }
44-
- name: Run Tests
45-
uses: gradle/actions/setup-gradle@v3
46-
env:
47-
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
40+
- name: "📥 Checkout repository"
41+
uses: actions/checkout@v4
42+
- name: "☕️ Setup JDK"
43+
uses: actions/setup-java@v4
4844
with:
49-
arguments: |
50-
examples-functional-test-app:check
51-
-DTESTCONFIG=${{ matrix.test-config }}
52-
45+
java-version: 17
46+
distribution: liberica
47+
- name: "🐘 Setup Gradle"
48+
uses: gradle/actions/setup-gradle@v4
49+
with:
50+
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
51+
- name: "🏃‍♂️ Run Different Config Functional Tests"
52+
run: ./gradlew core-examples-functional-test-app:check -DTESTCONFIG=${{ matrix.test-config }}
5353
build:
5454
if: github.event_name == 'push'
55-
runs-on: ubuntu-latest
55+
runs-on: ubuntu-24.04
5656
steps:
57-
- uses: actions/checkout@v4
58-
- uses: gradle/wrapper-validation-action@v2
59-
- uses: actions/setup-java@v4
60-
with: { java-version: 17, distribution: liberica }
61-
- name: Run Build
62-
id: build
63-
uses: gradle/actions/setup-gradle@v3
64-
env:
65-
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
57+
- name: "📥 Checkout repository"
58+
uses: actions/checkout@v4
59+
- name: "☕️ Setup JDK"
60+
uses: actions/setup-java@v4
6661
with:
67-
arguments: |
68-
spring-security-core:build
69-
--refresh-dependencies
70-
-x javadoc
71-
72-
- name: Publish Snapshot artifacts to Artifactory (repo.grails.org)
73-
uses: gradle/actions/setup-gradle@v3
74-
if: success()
75-
env:
76-
ORG_GRADLE_PROJECT_artifactoryUsername: ${{ secrets.ARTIFACTORY_USERNAME }}
77-
ORG_GRADLE_PROJECT_artifactoryPassword: ${{ secrets.ARTIFACTORY_PASSWORD }}
78-
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
62+
java-version: 17
63+
distribution: liberica
64+
- name: "🐘 Setup Gradle"
65+
uses: gradle/actions/setup-gradle@v4
7966
with:
80-
arguments: |
81-
-Dorg.gradle.internal.publish.checksums.insecure=true
82-
spring-security-core:publish
83-
-x javadoc
84-
85-
- name: Generate Snapshot Documentation
86-
if: success()
87-
uses: gradle/actions/setup-gradle@v3
67+
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
68+
- name: "📤 Publish Snapshot artifacts to Artifactory (repo.grails.org)"
8869
env:
89-
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
90-
with:
91-
arguments: spring-security-core:docs
92-
93-
- name: Publish Snapshot Documentation to Github Pages
94-
if: success()
95-
uses: grails/github-pages-deploy-action@grails
70+
GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
71+
GRADLE_PUBLISH_RELEASE: 'false'
72+
MAVEN_PUBLISH_USERNAME: ${{ secrets.MAVEN_PUBLISH_USERNAME }}
73+
MAVEN_PUBLISH_PASSWORD: ${{ secrets.MAVEN_PUBLISH_PASSWORD }}
74+
run: ./gradlew --no-build-cache publish
75+
- name: "🔨 Generate Snapshot Documentation"
76+
run: ./gradlew aggregateDocs
77+
- name: "📤 Publish Snapshot Documentation to Github Pages"
78+
uses: grails/github-pages-deploy-action@v3
9679
env:
9780
BRANCH: gh-pages
9881
COMMIT_EMAIL: ${{ env.GIT_USER_EMAIL }}
9982
COMMIT_NAME: ${{ env.GIT_USER_NAME }}
100-
FOLDER: plugin/build/docs
83+
FOLDER: build/docs
10184
GH_TOKEN: ${{ secrets.GH_TOKEN }}

.github/workflows/release.yml

Lines changed: 34 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,60 @@
1-
name: Release
1+
name: "Release"
22
on:
33
release:
44
types: [published]
55
env:
6-
GIT_USER_NAME: 'grails-build'
7-
GIT_USER_EMAIL: '[email protected]'
6+
GIT_USER_NAME: grails-build
7+
GIT_USER_EMAIL: [email protected]
88
jobs:
99
release:
10-
runs-on: ubuntu-latest
11-
env:
12-
GIT_USER_NAME: 'grails-build'
13-
GIT_USER_EMAIL: '[email protected]'
10+
runs-on: ubuntu-24.04
1411
steps:
15-
- uses: actions/checkout@v4
12+
- name: "📥 Checkout repository"
13+
uses: actions/checkout@v4
1614
- name: "☕️ Setup JDK"
1715
uses: actions/setup-java@v4
1816
with:
19-
distribution: liberica
2017
java-version: 17
18+
distribution: liberica
19+
- name: "🐘 Setup Gradle"
20+
uses: gradle/actions/setup-gradle@v4
21+
with:
22+
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
2123
- name: "📝 Store the current release version"
2224
id: release_version
2325
run: echo "release_version=${GITHUB_REF:11}" >> $GITHUB_OUTPUT
24-
- name: Run pre-release
25-
uses: grails/github-actions/pre-release@main
26-
- name: Generate secring file
26+
- name: "⚙️ Run pre-release"
27+
uses: grails/github-actions/pre-release@v3
28+
- name: "🔐 Generate key file for artifact signing"
2729
env:
2830
SECRING_FILE: ${{ secrets.SECRING_FILE }}
2931
run: echo $SECRING_FILE | base64 -d > ${{ github.workspace }}/secring.gpg
30-
- name: Publish to Sonatype
31-
id: publish_to_sonatype
32-
uses: gradle/actions/setup-gradle@v3
32+
- name: "📤 Publish to Sonatype - close and release staging repository"
3333
env:
34-
ORG_GRADLE_PROJECT_sonatypeUsername: ${{ secrets.SONATYPE_USERNAME }}
35-
ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.SONATYPE_PASSWORD }}
36-
ORG_GRADLE_PROJECT_sonatypeStagingProfileId: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
37-
ORG_GRADLE_PROJECT_sonatypeNexusUrl: ${{ secrets.SONATYPE_NEXUS_URL }}
34+
GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
35+
GRAILS_PUBLISH_RELEASE: 'true'
36+
NEXUS_PUBLISH_USERNAME: ${{ secrets.NEXUS_PUBLISH_USERNAME }}
37+
NEXUS_PUBLISH_PASSWORD: ${{ secrets.NEXUS_PUBLISH_PASSWORD }}
38+
NEXUS_PUBLISH_URL: ${{ secrets.NEXUS_PUBLISH_RELEASE_URL }}
39+
NEXUS_PUBLISH_STAGING_PROFILE_ID: ${{ secrets.NEXUS_PUBLISH_STAGING_PROFILE_ID }}
3840
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
3941
SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }}
40-
SECRING_FILE: ${{ secrets.SECRING_FILE }}
41-
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
42-
with:
43-
arguments: |
44-
-U
45-
-Psigning.secretKeyRingFile=${{ github.workspace }}/secring.gpg
46-
publishToSonatype
47-
closeAndReleaseSonatypeStagingRepository
48-
- name: Generate Documentation
49-
if: success()
50-
uses: gradle/actions/setup-gradle@v3
51-
env:
52-
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
53-
with:
54-
arguments: docs
55-
- name: Publish Documentation to Github Pages
56-
if: success()
57-
uses: grails/github-pages-deploy-action@grails
42+
run: >
43+
./gradlew --refresh-dependencies
44+
-Psigning.secretKeyRingFile=${{ github.workspace }}/secring.gpg
45+
publishToSonatype
46+
closeAndReleaseSonatypeStagingRepository
47+
- name: "🔨 Build Documentation"
48+
run: ./gradlew aggregateDocs
49+
- name: "📤 Publish Documentation to Github Pages"
50+
uses: grails/github-pages-deploy-action@v3
5851
env:
5952
BRANCH: gh-pages
6053
COMMIT_EMAIL: ${{ env.GIT_USER_EMAIL }}
6154
COMMIT_NAME: ${{ env.GIT_USER_NAME }}
62-
FOLDER: plugin/build/docs
55+
FOLDER: build/docs
6356
GH_TOKEN: ${{ secrets.GH_TOKEN }}
64-
SKIP_SNAPSHOT: ${{ contains(steps.release_version.outputs.release_version, 'M') }}
57+
SKIP_SNAPSHOT: ${{ contains(steps.release_version.outputs.release_version, 'M') || contains(steps.release_version.outputs.release_version, 'RC') }}
6558
VERSION: ${{ steps.release_version.outputs.release_version }}
66-
- name: Run post-release
67-
if: steps.publish_to_sonatype.outcome == 'success'
68-
uses: grails/github-actions/post-release@main
59+
- name: "⚙️ Run post-release"
60+
uses: grails/github-actions/post-release@v3

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Grails Spring Security Core Plugin
44
==================================
55

6-
See [documentation](https://grails-plugins.github.io/grails-spring-security-core/) for further information.
6+
See [documentation](https://grails.github.io/grails-spring-security-core/latest/guide) for further information.
77

88
### Branch structure
99

build.gradle

Lines changed: 23 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,40 @@
1-
import io.github.gradlenexus.publishplugin.InitializeNexusStagingRepository
1+
import org.asciidoctor.gradle.jvm.AsciidoctorTask
22

3-
plugins {
4-
id 'io.github.gradle-nexus.publish-plugin'
3+
String customGroovyVersion = findProperty('groovyVersion') ?: System.getenv('GROOVY_VERSION')
4+
if (customGroovyVersion) {
5+
logger.lifecycle("Using custom Groovy version: $customGroovyVersion")
56
}
67

7-
version = projectVersion
8-
ext.set('isSnapshot', projectVersion.endsWith('-SNAPSHOT'))
9-
ext.set('isReleaseVersion', !isSnapshot)
8+
subprojects {
9+
10+
version = projectVersion
1011

11-
if (isReleaseVersion) {
12-
nexusPublishing {
13-
String nexusUser = findProperty('sonatypeUsername')
14-
String nexusPass = findProperty('sonatypePassword')
15-
String nexusStagingProfileId = findProperty('sonatypeStagingProfileId')
16-
repositories {
17-
sonatype {
18-
nexusUrl = uri('https://s01.oss.sonatype.org/service/local/')
19-
username = nexusUser
20-
password = nexusPass
21-
stagingProfileId = nexusStagingProfileId
12+
if (customGroovyVersion) {
13+
configurations.configureEach {
14+
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
15+
if (details.requested.group == 'org.apache.groovy') {
16+
details.useVersion(customGroovyVersion)
17+
}
2218
}
2319
}
2420
}
25-
}
26-
subprojects {
27-
apply plugin: 'groovy'
2821

29-
version = rootProject.version
3022
repositories {
31-
mavenCentral()
3223
maven { url = 'https://repo.grails.org/grails/core' }
33-
if (groovyVersion.endsWith('-SNAPSHOT')) {
24+
mavenCentral()
25+
if (customGroovyVersion?.endsWith('-SNAPSHOT')) {
26+
// Used for testing locally against the latest snapshot of Groovy
27+
// Usage: ./gradlew build -P"groovyVersion=X.X.X-SNAPSHOT"
28+
logger.lifecycle('Adding Groovy Snapshot Repo for project: {}, Using Groovy {}', name, customGroovyVersion)
3429
maven {
35-
name = 'JFrog Groovy snapshot repo'
36-
url = 'https://groovy.jfrog.io/artifactory/libs-snapshot-local'
30+
name = 'ASF Snapshot repo'
31+
url = 'https://repository.apache.org/content/repositories/snapshots'
3732
}
3833
}
3934
}
4035
}
4136

42-
// Do not generate extra load on Nexus with new staging repository if signing fails
43-
tasks.withType(InitializeNexusStagingRepository).configureEach {
44-
shouldRunAfter tasks.withType(Sign)
37+
tasks.register('clean', Delete) {
38+
group = 'build'
39+
delete layout.buildDirectory
4540
}

buildSrc/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ repositories {
1515
dependencies {
1616
implementation platform("org.grails:grails-bom:${versions.get('grailsVersion')}")
1717
implementation "org.asciidoctor:asciidoctor-gradle-jvm:${versions.get('asciidoctorGradlePluginVersion')}"
18-
implementation "com.bertramlabs.plugins:asset-pipeline-gradle:${versions.get('assetPipelineGradlePluginVersion')}"
18+
implementation 'com.bertramlabs.plugins:asset-pipeline-gradle'
1919
implementation 'org.grails:grails-gradle-plugin'
2020
testImplementation 'org.spockframework:spock-core'
2121
}

examples/functional-test-app/build.gradle

Lines changed: 0 additions & 49 deletions
This file was deleted.

0 commit comments

Comments
 (0)