Skip to content

Commit 78a9d6b

Browse files
authored
Merge pull request #15600 from apache/7.0.x
merge 7.0.x into 7.1.x
2 parents 50e76b6 + 31555d7 commit 78a9d6b

13 files changed

Lines changed: 92 additions & 38 deletions

File tree

.github/scripts/releaseDistributions.sh

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,19 @@ svn_exists() {
5858
svn ls "${svn_flags[@]}" --depth=empty "${url}" >/dev/null 2>&1
5959
}
6060

61-
old_release_folder="$(svn ls "${svn_flags[@]}" "${RELEASE_ROOT}" | awk -F/ 'NF{print $1; exit}')"
62-
if [[ -n "${old_release_folder}" ]]; then
63-
PRIOR_RELEASE_URL="${RELEASE_ROOT}/${old_release_folder}"
64-
echo "🗑️ Deleting old release folder: ${PRIOR_RELEASE_URL}"
65-
svn rm "${svn_flags[@]}" -m "Remove previous release ${old_release_folder}" "${PRIOR_RELEASE_URL}"
66-
echo "✅ Deleted old release folder"
67-
else
68-
echo "ℹ️ No existing release subfolder found under ${RELEASE_ROOT}"
69-
fi
61+
for folder in $(svn ls "${svn_flags[@]}" "${RELEASE_ROOT}"); do
62+
folder=$(echo "$folder" | sed 's|/$||')
63+
[[ "${folder}" == "${RELEASE_VERSION}" ]] && continue
64+
PRIOR_RELEASE_URL="${RELEASE_ROOT}/${folder}"
65+
read -r -p "Remove old release folder '${folder}' at ${PRIOR_RELEASE_URL}? [y/N] " confirm < /dev/tty
66+
if [[ "${confirm}" =~ ^[Yy](es)?$ ]]; then
67+
echo "🗑️ Deleting old release folder: ${PRIOR_RELEASE_URL}"
68+
svn rm "${svn_flags[@]}" -m "Remove previous release ${folder}" "${PRIOR_RELEASE_URL}"
69+
echo "✅ Deleted old release folder"
70+
else
71+
echo "⏭️ Skipping removal of old release folder: ${PRIOR_RELEASE_URL}"
72+
fi
73+
done
7074

7175
DEV_VERSION_URL="$DEV_ROOT/${RELEASE_VERSION}"
7276
RELEASE_VERSION_URL="$RELEASE_ROOT/${RELEASE_VERSION}"

dependencies.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ ext {
3737
'jna.version' : '5.17.0',
3838
'jquery.version' : '3.7.1',
3939
'objenesis.version' : '3.4',
40-
'spring-boot.version' : '3.5.13',
40+
'spring-boot.version' : '3.5.14',
4141
]
4242

4343
// Note: the name of the dependency must be the prefix of the property name so properties in the pom are resolved correctly

grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/DevelopmentReloadingDTO.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ public DevelopmentReloadingDTO(DevelopmentReloading developmentReloading) {
7474
this.description = messageSource.getMessage(MESSAGE_PREFIX + name + ".description", messageContext, NameUtils.getNaturalNameOfEnum(name));
7575
}
7676

77+
@NonNull
7778
@Override
7879
@Schema(description = "A description of the developmentReloading")
7980
public String getDescription() {
@@ -97,6 +98,6 @@ public DevelopmentReloading getValue() {
9798
@Override
9899
@Schema(description = "The label of the developmentReloading for select options")
99100
public String getLabel() {
100-
return description;
101+
return value.getLabel();
101102
}
102103
}

grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/GormImplDTO.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import io.micronaut.core.naming.Named;
2828
import io.swagger.v3.oas.annotations.media.Schema;
2929
import org.grails.forge.options.GormImpl;
30-
import org.grails.forge.util.NameUtils;
3130

3231
/**
3332
* DTO objects for {@link GormImpl}.
@@ -84,6 +83,7 @@ public GormImplDTO(GormImpl gormImpl) {
8483

8584
}
8685

86+
@NonNull
8787
@Override
8888
@Schema(description = "A description of the GORM Implementation")
8989
public String getDescription() {
@@ -106,6 +106,6 @@ public GormImpl getValue() {
106106
@Override
107107
@Schema(description = "The label of the GORM Implementation for select options")
108108
public String getLabel() {
109-
return NameUtils.getNaturalNameOfEnum(name);
109+
return value.getLabel();
110110
}
111111
}

grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/ServletImplDTO.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import io.micronaut.core.naming.Named;
2828
import io.swagger.v3.oas.annotations.media.Schema;
2929
import org.grails.forge.options.ServletImpl;
30-
import org.grails.forge.util.NameUtils;
3130

3231
/**
3332
* DTO objects for {@link ServletImpl}.
@@ -73,6 +72,7 @@ public ServletImplDTO(ServletImpl servletImpl) {
7372
this.description = messageSource.getMessage(MESSAGE_PREFIX + name + ".description", messageContext, name);
7473
}
7574

75+
@NonNull
7676
@Override
7777
@Schema(description = "A description of the GORM Implementation")
7878
public String getDescription() {
@@ -95,6 +95,6 @@ public ServletImpl getValue() {
9595
@Override
9696
@Schema(description = "The label of the Servlet Implementation for select options")
9797
public String getLabel() {
98-
return NameUtils.getNaturalNameOfEnum(name);
98+
return value.getLabel();
9999
}
100100
}

grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/preview/PreviewController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public PreviewController(ProjectGenerator projectGenerator, ApplicationEventPubl
7272
* @param name The name of the application The name of the application
7373
* @param features The features The chosen features
7474
* @param build The build type (optional, defaults to Gradle)
75-
* @param reloading the development reloading (jrebel, dev tools, none, etc)
75+
* @param reloading the development reloading (jrebel, spring boot devtools, none, etc)
7676
* @param gorm The GORM (optional, defaults to Hibernate)
7777
* @param servlet The Servlet (optional, defaults to Embedded Tomcat)
7878
* @return A preview of the application contents.

grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/micronaut/GrailsMicronautValidator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public void validatePreProcessing(Options options, ApplicationType applicationTy
3636
if (features.stream().anyMatch(f -> f instanceof GrailsMicronaut)) {
3737
if (features.stream().anyMatch(f -> (f instanceof SpringBootDevTools))) {
3838
// See: https://github.com/micronaut-projects/micronaut-spring/issues/769
39-
throw new IllegalArgumentException("Spring Boot Dev Tools are not supported with Grails Micronaut");
39+
throw new IllegalArgumentException("Spring Boot DevTools are not supported with Grails Micronaut");
4040
}
4141
}
4242
}

grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/test/Spock.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
*/
1919
package org.grails.forge.feature.test;
2020

21+
import io.micronaut.core.annotation.NonNull;
2122
import jakarta.inject.Singleton;
2223
import org.grails.forge.application.ApplicationType;
2324
import org.grails.forge.application.generator.GeneratorContext;
@@ -36,6 +37,21 @@ public String getName() {
3637
return "spock";
3738
}
3839

40+
@NonNull
41+
@Override
42+
public String getTitle() {
43+
return "Spock Testing Framework";
44+
}
45+
46+
@NonNull
47+
@Override
48+
public String getDescription() {
49+
return "Spock is a testing, specification, and mocking framework for JVM developers " +
50+
"that emphasizes readability and clarity. By blending BDD concepts and Groovy's " +
51+
"concise syntax, Spock helps teams write tests that are easy to understand and " +
52+
"enjoyable to maintain.";
53+
}
54+
3955
@Override
4056
public boolean supports(ApplicationType applicationType) {
4157
return true;

grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/view/GrailsGsp.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
*/
1919
package org.grails.forge.feature.view;
2020

21+
import io.micronaut.core.annotation.NonNull;
2122
import jakarta.inject.Singleton;
2223
import org.grails.forge.application.ApplicationType;
2324
import org.grails.forge.application.generator.GeneratorContext;
@@ -51,12 +52,21 @@ public boolean shouldApply(ApplicationType applicationType, Options options, Set
5152

5253
@Override
5354
public String getTitle() {
54-
return "Grails GSP";
55+
return "GSP";
5556
}
5657

58+
@NonNull
5759
@Override
5860
public String getName() {
59-
return "grails-gsp";
61+
return "gsp";
62+
}
63+
64+
@NonNull
65+
@Override
66+
public String getDescription() {
67+
return "GSP (Groovy Server Pages) is the server-side view technology used in Grails. " +
68+
"It is designed to be familiar to developers with experience in ASP or JSP, while providing " +
69+
"a more flexible, expressive, and intuitive way to build web pages.";
6070
}
6171

6272
@Override

grails-forge/grails-forge-core/src/main/java/org/grails/forge/options/DevelopmentReloading.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,16 @@
2424

2525
public enum DevelopmentReloading {
2626

27-
DEVTOOLS,
28-
JREBEL,
29-
NONE;
27+
DEVTOOLS("Spring Boot DevTools"),
28+
JREBEL("JRebel"),
29+
NONE("None");
3030

3131
public static final DevelopmentReloading DEFAULT_OPTION = DEVTOOLS;
32+
private final String label;
33+
34+
DevelopmentReloading(String label) {
35+
this.label = label;
36+
}
3237

3338
@Override
3439
public String toString() {
@@ -40,6 +45,11 @@ public String getName() {
4045
return name().toLowerCase(Locale.ENGLISH);
4146
}
4247

48+
@NonNull
49+
public String getLabel() {
50+
return label;
51+
}
52+
4353
public DevelopmentReloading toDevelopmentReloading() {
4454
return switch (this) {
4555
case DEVTOOLS -> DevelopmentReloading.DEVTOOLS;

0 commit comments

Comments
 (0)