Add script to do padding for teamcity version
This commit is contained in:
@@ -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
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user