From 297288e98484ddf21a7a1444ad17d7268bb026bd Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Fri, 29 Jan 2021 16:29:26 +0300 Subject: [PATCH] [Test] Don't generate new files in GeneratorsFileUtil in teamcity mode --- generators/main/GeneratorsFileUtil.kt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/generators/main/GeneratorsFileUtil.kt b/generators/main/GeneratorsFileUtil.kt index cf45f05a5e7..454c51c9b28 100644 --- a/generators/main/GeneratorsFileUtil.kt +++ b/generators/main/GeneratorsFileUtil.kt @@ -11,6 +11,8 @@ import java.io.IOException import kotlin.io.path.* object GeneratorsFileUtil { + private val isTeamCityBuild: Boolean = System.getProperty("TEAMCITY_VERSION") != null + @OptIn(ExperimentalPathApi::class) @JvmStatic @JvmOverloads @@ -18,6 +20,7 @@ object GeneratorsFileUtil { fun writeFileIfContentChanged(file: File, newText: String, logNotChanged: Boolean = true) { val parentFile = file.parentFile if (!parentFile.exists()) { + if (isTeamCityBuild) assertTeamCityMode() if (parentFile.mkdirs()) { println("Directory created: " + parentFile.absolutePath) } else { @@ -30,6 +33,7 @@ object GeneratorsFileUtil { } return } + if (isTeamCityBuild) assertTeamCityMode() val useTempFile = !SystemInfo.isWindows val targetFile = file.toPath() val tempFile = @@ -43,6 +47,10 @@ object GeneratorsFileUtil { println() } + private fun assertTeamCityMode(): Nothing { + throw IllegalStateException("You should commit all newly generated files before pushing them to TeamCity") + } + fun isFileContentChangedIgnoringLineSeparators(file: File, content: String): Boolean { val currentContent: String = try { StringUtil.convertLineSeparators(file.readText(Charsets.UTF_8)) @@ -51,4 +59,4 @@ object GeneratorsFileUtil { } return StringUtil.convertLineSeparators(content) != currentContent } -} \ No newline at end of file +}