Skip to content

Commit 1640985

Browse files
author
Abduqodiri Qurbonzoda
authored
Provide an option to not override TeamCity buildNumber (#10)
1 parent e8e13ad commit 1640985

File tree

2 files changed

+21
-4
lines changed

2 files changed

+21
-4
lines changed

main/src/kotlinx/team/infra/InfraPlugin.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ class InfraPlugin : Plugin<Project> {
2929
configureTeamCityLogging()
3030
configureTeamCityConfigGenerator(extension.teamcity, extension.publishing)
3131

32+
afterEvaluate {
33+
configureTeamcityBuildNumber(extension.teamcity)
34+
}
3235
extension.afterPublishing {
3336
configurePublishing(it)
3437
}

main/src/kotlinx/team/infra/TeamCity.kt

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,34 @@ open class TeamCityConfiguration {
88
var libraryStagingRepoDescription: String? = null
99

1010
var jdk = "JDK_18_x64"
11+
12+
/**
13+
* Specifies whether to override the build number in TeamCity, `true` by default.
14+
*
15+
* If `true`, the TeamCity build number will be changed to `"${project.version} (%build.counter%)"`.
16+
* This value is overridden by `overrideTeamCityBuildNumber` gradle property when provided.
17+
*/
18+
var overrideBuildNumber = true
1119
}
1220

1321
fun Project.configureTeamCityLogging() {
14-
val teamcitySuffix = project.findProperty("teamcitySuffix")?.toString()
1522
if (project.hasProperty("teamcity")) {
16-
// Tell teamcity about version number
17-
println("##teamcity[buildNumber '${project.version}${teamcitySuffix?.let { " ($it)" } ?: ""}']")
18-
1923
gradle.taskGraph.beforeTask {
2024
println("##teamcity[progressMessage 'Gradle: ${this.project.path}:${this.name}']")
2125
}
2226
}
2327
}
2428

29+
fun Project.configureTeamcityBuildNumber(teamcity: TeamCityConfiguration) {
30+
val overrideTeamCityBuildNumber = project.findProperty("overrideTeamCityBuildNumber")?.toString()?.toBoolean()
31+
?: teamcity.overrideBuildNumber
32+
if (project.hasProperty("teamcity") && overrideTeamCityBuildNumber) {
33+
// Tell teamcity about version number
34+
val teamcitySuffix = project.findProperty("teamcitySuffix")?.toString()
35+
println("##teamcity[buildNumber '${project.version}${teamcitySuffix?.let { " ($it)" } ?: ""}']")
36+
}
37+
}
38+
2539
fun Project.configureTeamCityConfigGenerator(teamcity: TeamCityConfiguration, publishing: PublishingConfiguration) {
2640
task<DefaultTask>("setupTeamCity") {
2741
group = "build setup"

0 commit comments

Comments
 (0)