可以基于子项目ID生成构建ID 而不是根项目ID?
我收到验证错误:
BuildType 'RootProjectId_build': id 'RootProjectId_build' is already used
in BuildType(uuid='', id='RootProjectId_build', name='buildA')
对于以下具有2个子项目和内部版本的项目,它们具有相同的类名(但在不同的程序包中)
RootTestProject.kt
package _Self
import A.SubProjectA
import B.SubProjectB
import jetbrains.buildServer.configs.kotlin.v2018_1.Project
object RootTestProject : Project({
subProject(SubProjectA)
subProject(SubProjectB)
})
SubProjectA.kt:
package A
import jetbrains.buildServer.configs.kotlin.v2018_1.BuildType
import jetbrains.buildServer.configs.kotlin.v2018_1.Project
object build : BuildType({name = "buildA"})
object SubProjectA : Project({
name = "SubProjectNameA"
buildType(build)
})
SubProjectB.kt:
package B
import jetbrains.buildServer.configs.kotlin.v2018_1.BuildType
import jetbrains.buildServer.configs.kotlin.v2018_1.Project
object build : BuildType({name = "buildB"})
object SubProjectB : Project({
name = "SubProjectNameB"
buildType(build)
})
出于某种原因,我需要使用相同的类名进行构建,因此我不会简单地将“对象构建”更改为“对象构建A”和“对象构建B”
答案 0 :(得分:0)
假设包名称与子项目等效 解决方法是:
object build : BuildType({name = "buildB"
id(this.javaClass.`package`.name +"_"+id.toString().split("_")[1])
})
这种构建ID的方式是:RootProjectId_B_build