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"/>
|
<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 -->
|
<!-- 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}"/>
|
<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>
|
||||||
|
|
||||||
<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"/>
|
||||||
<mkdir dir="dependencies/download"/>
|
<mkdir dir="dependencies/download"/>
|
||||||
|
|
||||||
@@ -839,6 +842,21 @@
|
|||||||
</exec>
|
</exec>
|
||||||
</target>
|
</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">
|
<target name="override-version">
|
||||||
<condition property="need.version.override">
|
<condition property="need.version.override">
|
||||||
<and>
|
<and>
|
||||||
|
|||||||
Reference in New Issue
Block a user