如何拆分TeamCity的Kotlin配置的settings.kts文件?

时间:2019-09-03 00:48:50

标签: teamcity gradle-kotlin-dsl

我有一个TeamCity settings.kts文件,该文件由Root项目以及所有后续子项目组成。目前,这是一个很大的文件,我正在尝试根据项目拆分KTS文件。

拆分设置文件的最佳实践是什么?我应该为每个项目创建一个文件,如何从主设置文件中引用它们?

1 个答案:

答案 0 :(得分:-1)

TeamCity仅为小型项目生成singe settings.kts文件。

您可以尝试玩一些大型项目,并以Kotlin格式下载设置。

例如,TeamCity大项目设置的生成方式如下:

nadias-mbp:projectSettings 2 nburnasheva$ tree
.
├── README
├── ServiceMessages
│   ├── Project.kt
│   └── buildTypes
│       ├── ServiceMessagesChangeBuildStatus.kt
│       ├── ServiceMessages_BuildProgressServiceMessage.kt
│       ├── ServiceMessages_ErrorParsingServiceMessage.kt
│       ├── ServiceMessages_FailBuild.kt
│       └── ServiceMessages_ReportBuildParameterDoNotReport.kt
├── ServiceMessages_ReportBuildParametersChar
│   ├── Project.kt
│   └── buildTypes
│       ├── ServiceMessages_ReportBuildParametersChar_ReportBuildParameter.kt
│       ├── ServiceMessages_ReportBuildParametersChar_ReportBuildParameterWaitReasonWithTooLongValue.kt
│       └── ServiceMessages_ReportBuildParametersChar_ThreadSleep.kt
├── ServiceMessages_ReportBuildParametersChartCopy
│   ├── Project.kt
│   └── buildTypes
│       └── ServiceMessages_ReportBuildParametersChartCopy_ReportBuildPara.kt
├── _Self
│   ├── Project.kt
│   ├── buildTypes
│   │   ├── AnsiParseAnsiColorLoggerOutput.kt
│   │   ├── BuildStepsAutodetection.kt
│   │   ├── CheckPromptParameter.kt
│   │   ├── EchoBuildIdToFile.kt
│   │   ├── EchoParametersToConsole.kt
│   │   ├── EchoUmlaut.kt
│   │   ├── FailBuildOnTextInTheLogs.kt
│   │   ├── MpsQuottingTest.kt
│   │   ├── RunGitCommand.kt
│   │   ├── RunMavenFromCommandLine.kt
│   │   ├── SetPasswordParameterInServiceMessages.kt
│   │   ├── SimpleWindowsEcho.kt
│   │   ├── SparseFile.kt
│   │   └── StderrRunAsOnMacOS.kt
│   └── vcsRoots
│       ├── HttpsGithubComBanadigaPhotoBackupGitRefsHeadsMaster.kt
│       └── HttpsGithubComBurnashevaCommandLineRunnerGitRefsHeadsMaster.kt
├── pom.xml
└── settings.kts

9 directories, 32 files

这是settings.kts的内容:

import jetbrains.buildServer.configs.kotlin.v2018_2.*

version = "2019.1"
project(_Self.Project)