Skip to content

Commit 151ecb1

Browse files
authored
Merge branch 'main' into 3299-fix-jdbc-session-special-characters-problem
Signed-off-by: Rüdiger Schulz <[email protected]>
2 parents 8e86689 + 4283df4 commit 151ecb1

File tree

159 files changed

+7666
-479
lines changed

Some content is hidden

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

159 files changed

+7666
-479
lines changed

.github/dco.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
require:
2+
members: false

.github/dependabot.yml

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
version: 2
2+
3+
registries:
4+
spring-milestones:
5+
type: maven-repository
6+
url: https://repo.spring.io/milestone
7+
8+
updates:
9+
10+
- package-ecosystem: "gradle"
11+
target-branch: "main"
12+
directory: "/"
13+
schedule:
14+
interval: "daily"
15+
time: "03:00"
16+
timezone: "Etc/UTC"
17+
labels: [ "type: dependency-upgrade" ]
18+
registries:
19+
- "spring-milestones"
20+
ignore:
21+
- dependency-name: "org.junit:junit-bom"
22+
update-types: [ "version-update:semver-major" ]
23+
- dependency-name: "org.mockito:mockito-bom"
24+
update-types: [ "version-update:semver-major" ]
25+
- dependency-name: "*"
26+
update-types: [ "version-update:semver-major" ]
27+
28+
- package-ecosystem: "gradle"
29+
target-branch: "3.3.x"
30+
directory: "/"
31+
schedule:
32+
interval: "daily"
33+
time: "03:00"
34+
timezone: "Etc/UTC"
35+
labels: [ "type: dependency-upgrade" ]
36+
registries:
37+
- "spring-milestones"
38+
ignore:
39+
- dependency-name: "org.junit:junit-bom"
40+
update-types: [ "version-update:semver-major" ]
41+
- dependency-name: "org.mockito:mockito-bom"
42+
update-types: [ "version-update:semver-major" ]
43+
- dependency-name: "*"
44+
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
45+
46+
- package-ecosystem: "gradle"
47+
target-branch: "3.2.x"
48+
directory: "/"
49+
schedule:
50+
interval: "daily"
51+
time: "03:00"
52+
timezone: "Etc/UTC"
53+
labels: [ "type: dependency-upgrade" ]
54+
ignore:
55+
- dependency-name: "org.junit:junit-bom"
56+
update-types: [ "version-update:semver-major" ]
57+
- dependency-name: "org.mockito:mockito-bom"
58+
update-types: [ "version-update:semver-major" ]
59+
- dependency-name: "*"
60+
update-types: [ "version-update:semver-major", "version-update:semver-minor" ]
61+
62+
# GitHub Actions
63+
64+
- package-ecosystem: github-actions
65+
target-branch: "main"
66+
milestone: 154
67+
directory: "/"
68+
schedule:
69+
interval: weekly
70+
- package-ecosystem: github-actions
71+
target-branch: "3.3.x"
72+
milestone: 152
73+
directory: "/"
74+
schedule:
75+
interval: weekly
76+
- package-ecosystem: github-actions
77+
target-branch: "3.2.x"
78+
milestone: 151
79+
directory: "/"
80+
schedule:
81+
interval: weekly
82+
- package-ecosystem: github-actions
83+
target-branch: "docs-build"
84+
directory: "/"
85+
schedule:
86+
interval: weekly
87+
88+
- package-ecosystem: npm
89+
target-branch: docs-build
90+
directory: /
91+
schedule:
92+
interval: weekly

.github/workflows/release-scheduler.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
strategy:
1515
matrix:
1616
# List of active maintenance branches.
17-
branch: [ main, 3.2.x, 3.1.x ]
17+
branch: [ main, 3.3.x, 3.2.x ]
1818
runs-on: ubuntu-latest
1919
steps:
2020
- name: Checkout
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Update Antora UI Spring
2+
3+
on:
4+
schedule:
5+
- cron: '0 10 * * *' # Once per day at 10am UTC
6+
workflow_dispatch:
7+
8+
permissions:
9+
pull-requests: write
10+
issues: write
11+
contents: write
12+
13+
jobs:
14+
update-antora-ui-spring-docs-build:
15+
runs-on: ubuntu-latest
16+
name: Update on docs-build
17+
steps:
18+
- uses: spring-io/spring-doc-actions/update-antora-spring-ui@852920ba3fb1f28b35a2f13201133bc00ef33677
19+
name: Update
20+
with:
21+
docs-branch: 'docs-build'
22+
token: ${{ secrets.GITHUB_TOKEN }}

CONTRIBUTING.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Switch to a branch named `<major>.<minor>.x` from the smallest milestone in the
3333
The spring team will ensure the code gets merged forward into additional branches.
3434

3535

36-
== Sign the Contributor License Agreement
37-
If you have not previously done so, please fill out and
38-
submit the https://cla.pivotal.io/sign/spring[Contributor License Agreement].
36+
== Add Signed-off-by Trailer
37+
All commits must include a __Signed-off-by__ trailer at the end of each commit message to indicate that the contributor agrees to the Developer Certificate of Origin.
38+
For additional details, please refer to the blog post https://spring.io/blog/2025/01/06/hello-dco-goodbye-cla-simplifying-contributions-to-spring[Hello DCO, Goodbye CLA: Simplifying Contributions to Spring].
3939

build.gradle

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ buildscript {
2424
}
2525
}
2626

27+
plugins {
28+
id "com.github.ben-manes.versions"
29+
}
30+
2731
apply plugin: 'io.spring.convention.root'
2832
apply plugin: 'io.spring.security.release'
2933

@@ -40,6 +44,11 @@ subprojects {
4044
tasks.withType(Test) {
4145
useJUnitPlatform()
4246
}
47+
48+
// Spring Framework 6.1 requires -parameters to be able to introspect method parameter names
49+
tasks.withType(JavaCompile) {
50+
options.compilerArgs.add("-parameters")
51+
}
4352
}
4453

4554
nohttp {

buildSrc/build.gradle

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ plugins {
77
sourceCompatibility = JavaVersion.VERSION_17
88

99
repositories {
10-
jcenter()
1110
gradlePluginPortal()
1211
mavenCentral()
1312
maven { url 'https://repo.spring.io/plugins-release/' }
@@ -57,32 +56,32 @@ configurations {
5756
}
5857

5958
dependencies {
60-
implementation 'com.google.code.gson:gson:2.8.9'
59+
implementation 'com.google.code.gson:gson:2.10.1'
6160
implementation 'net.sourceforge.saxon:saxon:9.1.0.8'
62-
implementation 'org.yaml:snakeyaml:1.30'
61+
implementation 'org.yaml:snakeyaml:1.33'
6362
implementation localGroovy()
6463

65-
implementation 'io.github.gradle-nexus:publish-plugin:1.1.0'
66-
implementation 'io.spring.gradle:dependency-management-plugin:1.0.15.RELEASE'
67-
implementation 'io.projectreactor:reactor-core:3.4.38'
68-
implementation 'com.apollographql.apollo:apollo-runtime:2.4.5'
69-
implementation 'com.github.ben-manes:gradle-versions-plugin:0.38.0'
70-
implementation 'com.github.spullara.mustache.java:compiler:0.9.13'
71-
implementation 'io.spring.javaformat:spring-javaformat-gradle-plugin:0.0.41'
64+
implementation 'io.github.gradle-nexus:publish-plugin:1.3.0'
65+
implementation 'io.spring.gradle:dependency-management-plugin:1.1.7'
66+
implementation 'io.projectreactor:reactor-core:3.6.13'
67+
implementation 'com.apollographql.apollo:apollo-runtime:2.5.14'
68+
implementation 'com.github.ben-manes:gradle-versions-plugin:0.51.0'
69+
implementation 'com.github.spullara.mustache.java:compiler:0.9.14'
70+
implementation 'io.spring.javaformat:spring-javaformat-gradle-plugin:0.0.43'
7271
implementation 'io.spring.nohttp:nohttp-gradle:0.0.11'
73-
implementation 'net.sourceforge.htmlunit:htmlunit:2.37.0'
72+
implementation 'net.sourceforge.htmlunit:htmlunit:2.70.0'
7473
implementation 'org.hidetake:gradle-ssh-plugin:2.10.1'
75-
implementation 'org.jfrog.buildinfo:build-info-extractor-gradle:4.29.4'
76-
implementation 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.7.1'
74+
implementation 'org.jfrog.buildinfo:build-info-extractor-gradle:4.33.23'
75+
implementation 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.8.0.1969'
7776
implementation libs.com.squareup.okhttp3.okhttp
7877
implementation libs.io.spring.security.release.plugin
7978

80-
testImplementation platform('org.junit:junit-bom:5.8.2')
79+
testImplementation platform('org.junit:junit-bom:5.10.5')
8180
testImplementation "org.junit.jupiter:junit-jupiter-api"
8281
testImplementation "org.junit.jupiter:junit-jupiter-params"
8382
testImplementation "org.junit.jupiter:junit-jupiter-engine"
8483
testImplementation 'org.apache.commons:commons-io:1.3.2'
85-
testImplementation 'org.assertj:assertj-core:3.21.0'
84+
testImplementation 'org.assertj:assertj-core:3.25.3'
8685
testImplementation 'org.mockito:mockito-core:3.12.4'
8786
testImplementation 'org.mockito:mockito-junit-jupiter:3.12.4'
8887
testImplementation 'com.squareup.okhttp3:mockwebserver:3.14.9'

buildSrc/src/main/groovy/io/spring/gradle/convention/RepositoryConventionPlugin.groovy

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,6 @@ class RepositoryConventionPlugin implements Plugin<Project> {
3535
mavenLocal()
3636
}
3737
mavenCentral()
38-
jcenter() {
39-
content {
40-
includeGroup "org.gretty"
41-
}
42-
}
4338
if (isSnapshot) {
4439
maven {
4540
name = 'artifactory-snapshot'
Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package org.springframework.gradle.maven;
22

3-
import org.gradle.api.Action;
43
import org.gradle.api.Plugin;
54
import org.gradle.api.Project;
6-
import org.gradle.api.artifacts.repositories.MavenArtifactRepository;
75
import org.gradle.api.publish.PublishingExtension;
86
import org.gradle.api.publish.maven.plugins.MavenPublishPlugin;
97

@@ -12,18 +10,12 @@
1210
public class PublishLocalPlugin implements Plugin<Project> {
1311
@Override
1412
public void apply(Project project) {
15-
project.getPlugins().withType(MavenPublishPlugin.class).all(new Action<MavenPublishPlugin>() {
16-
@Override
17-
public void execute(MavenPublishPlugin mavenPublish) {
18-
PublishingExtension publishing = project.getExtensions().getByType(PublishingExtension.class);
19-
publishing.getRepositories().maven(new Action<MavenArtifactRepository>() {
20-
@Override
21-
public void execute(MavenArtifactRepository maven) {
22-
maven.setName("local");
23-
maven.setUrl(new File(project.getRootProject().getBuildDir(), "publications/repos"));
24-
}
25-
});
26-
}
13+
project.getPlugins().withType(MavenPublishPlugin.class).all(mavenPublish -> {
14+
PublishingExtension publishing = project.getExtensions().getByType(PublishingExtension.class);
15+
publishing.getRepositories().maven(maven -> {
16+
maven.setName("local");
17+
maven.setUrl(new File(project.getRootProject().getBuildDir(), "publications/repos"));
18+
});
2719
});
2820
}
2921
}

buildSrc/src/test/java/io/spring/gradle/convention/JavadocApiPluginITest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import org.junit.jupiter.api.io.TempDir;
1010

1111
import java.io.File;
12+
import java.nio.charset.Charset;
1213
import java.nio.file.Path;
1314

1415
import static org.assertj.core.api.Assertions.assertThat;
@@ -30,7 +31,7 @@ public void multiModuleApi() throws Exception {
3031
File allClasses = new File(testKit.getRootDir(), "build/api/allclasses-noframe.html");
3132
File index = new File(testKit.getRootDir(), "build/api/allclasses-index.html");
3233
File listing = allClasses.exists() ? allClasses : index;
33-
String listingText = FileUtils.readFileToString(listing);
34+
String listingText = FileUtils.readFileToString(listing, Charset.defaultCharset());
3435
assertThat(listingText).contains("sample/Api.html");
3536
assertThat(listingText).contains("sample/Impl.html");
3637
assertThat(listingText).doesNotContain("sample/Sample.html");

buildSrc/src/test/java/io/spring/gradle/convention/SpringMavenPluginITest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import org.junit.jupiter.api.io.TempDir;
1010

1111
import java.io.File;
12+
import java.nio.charset.Charset;
1213
import java.nio.file.Files;
1314
import java.nio.file.Path;
1415
import java.util.LinkedHashMap;
@@ -56,6 +57,6 @@ public void signArchivesWhenInMemory() throws Exception {
5657
}
5758

5859
public String getSigningKey() throws Exception {
59-
return IOUtils.toString(getClass().getResource("/test-private.pgp"));
60+
return IOUtils.toString(getClass().getResource("/test-private.pgp"), Charset.defaultCharset());
6061
}
6162
}

git/hooks/prepare-forward-merge

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ require 'net/http'
44
require 'yaml'
55
require 'logger'
66

7-
$main_branch = "3.1.x"
7+
$main_branch = "3.4.x"
88

99
$log = Logger.new(STDOUT)
1010
$log.level = Logger::WARN

gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
1+
org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
22
org.gradle.parallel=true
3-
version=3.1.7-SNAPSHOT
3+
version=3.4.2-SNAPSHOT

0 commit comments

Comments
 (0)