Add script to do padding for teamcity version

This commit is contained in:
Nikolay Krasko
2015-10-19 19:41:23 +03:00
parent 4a9cd95d1d
commit 8fce102212
2 changed files with 82 additions and 1 deletions
@@ -0,0 +1,63 @@
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* Copyright 2010-2015 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import java.io.File
fun main(args: Array<String>) {
val filePathDefault = "padded-version.txt"
if (args.isEmpty() || args.size > 2) {
error("Usage: kotlinc -script counter-padding.kts" +
" <version>" +
" <file-path='$filePathDefault'>")
}
var versionStr = args[0]
println("Version string: " + versionStr)
val incrementPartStr = versionStr.takeLastWhile { it.isDigit() }
val versionPrefix = versionStr.take(versionStr.length - incrementPartStr.length)
val incrementPart = incrementPartStr.toInt()
val padded = java.lang.String.format("%03d", incrementPart)
var filePath = args.getOrNull(1) ?: filePathDefault
val result = "${versionPrefix}$padded"
println("prefix=$versionPrefix incrementPart=$incrementPart result=$padded filePath=$filePath")
File("$filePath").writeText("$result")
}
main(args)
+19 -1
View File
@@ -13,6 +13,9 @@
<property name="bootstrap.build.no.tests" value="false"/>
<!-- To enable counter padding, set parameter "need.counter.padding" to true on buildserver -->
<!-- Uncomment to enable force version increment in branch. Set override.version.disabled to temporary disable feature without commits -->
<!--
<property name="override.version.url" value="https://teamcity.jetbrains.com/guestAuth/app/rest/builds/?locator=buildType:bt345,status:SUCCESS,count:1${kotlin.bootstrap.branch.locator}"/>
@@ -165,7 +168,7 @@
</target>
<target name="fetch-third-party" depends="override-version,make-native-platform-uberjar">
<target name="fetch-third-party" depends="do-version-padding,override-version,make-native-platform-uberjar">
<mkdir dir="dependencies"/>
<mkdir dir="dependencies/download"/>
@@ -839,6 +842,21 @@
</exec>
</target>
<target name="do-version-padding" if="need.counter.padding">
<exec executable="dependencies/bootstrap-compiler/Kotlin/kotlinc/bin/${kotlinc.executable.path}" failonerror="false">
<arg value="-cp"/>
<arg value="dependencies/bootstrap-compiler/Kotlin/kotlinc/lib/kotlin-compiler.jar"/>
<arg value="-script"/>
<arg value="generators/infrastructure/counter-padding.kts"/>
<arg value="${teamcity.version}"/>
<arg value="${basedir}/dependencies/padded-version.txt"/>
</exec>
<loadfile property="padded.version.number" srcFile="${basedir}/dependencies/padded-version.txt"/>
<echo message="##teamcity[buildNumber '${padded.version.number}']"/>
</target>
<target name="override-version">
<condition property="need.version.override">
<and>