Skip to content

Commit 82179b1

Browse files
committed
use grails.version to eliminate 131 redundant versions
1 parent 92fac55 commit 82179b1

File tree

2 files changed

+15
-14
lines changed

2 files changed

+15
-14
lines changed

build-logic/docs-core/src/main/groovy/org/apache/grails/gradle/tasks/bom/PropertyNameCalculator.groovy

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ import org.gradle.api.plugins.JavaPlatformPlugin
2828
*/
2929
class PropertyNameCalculator {
3030

31+
static final String GRAILS_VERSION_PROPERTY = 'grails.version'
32+
3133
final Map<String, String> keysToPlatformCoordinates = [:]
3234
final Map<String, ExtractedDependencyConstraint> platformDefinitions = [:]
3335

@@ -41,22 +43,21 @@ class PropertyNameCalculator {
4143
this.versions.putAll(definitionVersions)
4244
}
4345

44-
void addProjects(Collection<Project> projects) {
46+
void addProjects(Collection<Project> projects, String grailsVersion) {
47+
versions.put(GRAILS_VERSION_PROPERTY, grailsVersion)
48+
4549
for (Project project : projects) {
4650
if (project.plugins.hasPlugin(JavaPlatformPlugin) || !project.extensions.findByName('grailsPublish')) {
4751
continue
4852
}
4953

5054
String artifactId = (project.findProperty('pomArtifactId') ?: project.name)
51-
String baseVersionName = artifactId.replaceAll('-', '.')
52-
String versionName = "${baseVersionName}.version" as String
5355
String coordinates = "${project.group}:${artifactId}:${project.version}" as String
5456
ExtractedDependencyConstraint constraint = new ExtractedDependencyConstraint(coordinates as String)
55-
constraint.versionPropertyReference = "\${${versionName}}" as String
57+
constraint.versionPropertyReference = "\${${GRAILS_VERSION_PROPERTY}}" as String
5658

5759
definitions.put(coordinates, constraint)
58-
keysToCoordinates.put(coordinates, baseVersionName)
59-
versions.put(versionName, project.version as String)
60+
keysToCoordinates.put(coordinates, 'grails')
6061
}
6162
}
6263

grails-bom/build.gradle

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,9 @@ ext {
167167
def deps = depMgmt?.dependencies?.getAt(0)
168168
if (deps) {
169169
Map<String, String> pomProperties = [:]
170+
PropertyNameCalculator propertyNameCalculator = new PropertyNameCalculator(combinedPlatforms, combinedDependencies, combinedVersions)
171+
propertyNameCalculator.addProjects(rootProject.subprojects, projectVersion)
172+
170173
deps.dependency.each { dep ->
171174
String groupId = dep.groupId.text().trim()
172175
String artifactId = dep.artifactId.text().trim()
@@ -178,8 +181,6 @@ ext {
178181
}
179182

180183
if (inlineVersion) {
181-
PropertyNameCalculator propertyNameCalculator = new PropertyNameCalculator(combinedPlatforms, combinedDependencies, combinedVersions)
182-
propertyNameCalculator.addProjects(rootProject.subprojects)
183184
ExtractedDependencyConstraint extractedConstraint = propertyNameCalculator.calculate(groupId, artifactId, inlineVersion, isBom)
184185
if (extractedConstraint?.versionPropertyReference) {
185186
// use the property reference instead of the hard coded version so that it can be
@@ -190,18 +191,17 @@ ext {
190191
pomProperties.put(extractedConstraint.versionPropertyName, inlineVersion)
191192
}
192193

193-
if (gradle.includedBuilds*.any { it.name == artifactId && groupId.startsWith('org.apache.grails') }) {
194-
String baseVersionName = artifactId.replaceAll('-', '.')
195-
String versionName = "${baseVersionName}.version" as String
196-
dep.version[0].value = "\${${versionName}}" as String
197-
pomProperties.put(versionName, inlineVersion)
194+
// For included builds (grails-gradle), also use grails.version
195+
if (gradle.includedBuilds.any { it.name == artifactId && groupId.startsWith('org.apache.grails') }) {
196+
dep.version[0].value = "\${${PropertyNameCalculator.GRAILS_VERSION_PROPERTY}}" as String
197+
pomProperties.put(PropertyNameCalculator.GRAILS_VERSION_PROPERTY, inlineVersion)
198198
}
199199
} else if (!inlineVersion) {
200200
throw new GradleException("Dependency $groupId:$artifactId does not have a version.")
201201
}
202202
}
203203

204-
for (Map.Entry<String, String> property : pomProperties.entrySet()) {
204+
for (Map.Entry<String, String> property : pomProperties.sort().entrySet()) {
205205
propertiesNode.appendNode(property.key, property.value)
206206
}
207207
}

0 commit comments

Comments
 (0)