From 09b49ae21cd77fb6af395597dce3757d9f9a9764 Mon Sep 17 00:00:00 2001 From: Adam <897017+aSemy@users.noreply.github.com> Date: Sun, 17 Jul 2022 12:12:06 +0200 Subject: [PATCH] add 'Projects must be configuring' workaround script --- build.gradle.kts | 5 ++++- gradle.properties | 4 ++-- kt52647.gradle.kts | 31 +++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 kt52647.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts index 96f5ecd..62e7b62 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,7 +7,7 @@ plugins { `project-report` `build-dashboard` - kotlin("multiplatform") apply false // try to stop error 'Projects must be configuring' +// kotlin("multiplatform") apply false // try to stop error 'Projects must be configuring' // kotlin("js") apply false // try to stop error 'Projects must be configuring' } @@ -101,3 +101,6 @@ val runFactorioClient by tasks.registering { ":modules:infra-factorio-client:processRun", ) } + + +apply(from = "$projectDir/kt52647.gradle.kts") diff --git a/gradle.properties b/gradle.properties index e4be207..7acfe41 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,7 +10,7 @@ org.gradle.unsafe.configuration-cache-problems=warn org.gradle.kotlin.dsl.precompiled.accessors.strict=true -#org.gradle.parallel=true # helps with pRoJeCtS mUsT bE cOnFiGuRiNg +org.gradle.parallel=true # pRoJeCtS mUsT bE cOnFiGuRiNg -org.gradle.configureondemand=false +#org.gradle.configureondemand=false diff --git a/kt52647.gradle.kts b/kt52647.gradle.kts new file mode 100644 index 0000000..f610b1e --- /dev/null +++ b/kt52647.gradle.kts @@ -0,0 +1,31 @@ + + +val projectsMustBeConfiguringBuster by tasks.registering { + val buildFile = layout.projectDirectory.file("kt52647.gradle.kts").asFile + doLast { + logger.warn("Applying 'Projects must be configuring' workaround - https://youtrack.jetbrains.com/issue/KT-52647") + + val newLines = buildFile.readText().lines().joinToString("\n") { line -> + if (line.startsWith("// projects must be configuring buster")) { + "// projects must be configuring buster ${System.currentTimeMillis()}" + } else { + line + } + } + + buildFile.writeText(newLines) + } +} + + +allprojects { + tasks + .matching { it.name != projectsMustBeConfiguringBuster.name } + .configureEach { + finalizedBy(projectsMustBeConfiguringBuster) + } +} + + +// projects must be configuring buster +// ^ this line will be edited by projectsMustBeConfiguringBuster