diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectGenerator.java b/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectGenerator.java index 13f245ad..9dc9a9c8 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectGenerator.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectGenerator.java @@ -420,6 +420,9 @@ public class ProjectGenerator { model.put("buildPropertiesVersions", versions.entrySet()); request.getBuildProperties().getVersions().forEach( (k, v) -> versions.put(computeVersionProperty(request, k), v.get())); + if (!versions.isEmpty()) { + model.put("hasBuildPropertiesVersions", true); + } Map gradle = new LinkedHashMap<>(); model.put("buildPropertiesGradle", gradle.entrySet()); request.getBuildProperties().getGradle() diff --git a/initializr-generator/src/main/resources/templates/starter-build.gradle b/initializr-generator/src/main/resources/templates/starter-build.gradle index 2905d2dd..19d34b2e 100644 --- a/initializr-generator/src/main/resources/templates/starter-build.gradle +++ b/initializr-generator/src/main/resources/templates/starter-build.gradle @@ -72,9 +72,13 @@ configurations { providedRuntime } {{/providedDependencies}} +{{#hasBuildPropertiesVersions}} +ext { {{#buildPropertiesVersions}} -ext['{{key}}'] = '{{value}}' + set('{{key}}', '{{value}}') {{/buildPropertiesVersions}} +} +{{/hasBuildPropertiesVersions}} dependencies { {{#compileDependencies}} diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/ProjectGeneratorTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/ProjectGeneratorTests.java index ae16d606..f86b0182 100755 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/ProjectGeneratorTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/ProjectGeneratorTests.java @@ -718,8 +718,8 @@ public class ProjectGeneratorTests extends AbstractProjectGeneratorTests { request.getBuildProperties().getMaven().put("ignore.property", () -> "yes"); generateGradleBuild(request).contains("name = 'test'") - .contains("ext['foo.version'] = '1.2.3'") - .contains("ext['internalVersion'] = '4.5.6'") + .contains("set('foo.version', '1.2.3')") + .contains("set('internalVersion', '4.5.6')") .doesNotContain("ignore.property"); } diff --git a/initializr-generator/src/test/resources/project/gradle/bom-property-build.gradle.gen b/initializr-generator/src/test/resources/project/gradle/bom-property-build.gradle.gen index adfeee5d..ff82e39f 100644 --- a/initializr-generator/src/test/resources/project/gradle/bom-property-build.gradle.gen +++ b/initializr-generator/src/test/resources/project/gradle/bom-property-build.gradle.gen @@ -23,7 +23,9 @@ repositories { mavenCentral() } -ext['fooVersion'] = '1.3.3' +ext { + set('fooVersion', '1.3.3') +} dependencies { implementation('org.acme:foo') diff --git a/initializr-generator/src/test/resources/project/gradle/version-override-build.gradle.gen b/initializr-generator/src/test/resources/project/gradle/version-override-build.gradle.gen index ee0513c4..491588a9 100644 --- a/initializr-generator/src/test/resources/project/gradle/version-override-build.gradle.gen +++ b/initializr-generator/src/test/resources/project/gradle/version-override-build.gradle.gen @@ -23,8 +23,10 @@ repositories { mavenCentral() } -ext['springBarVersion'] = '0.2.0.RELEASE' -ext['spring-foo.version'] = '0.1.0.RELEASE' +ext { + set('springBarVersion', '0.2.0.RELEASE') + set('spring-foo.version', '0.1.0.RELEASE') +} dependencies { implementation('org.springframework.boot:spring-boot-starter-web')