[Build] Migrate most of the build logic from Project.buildDir usage

It's going to be deprecated in Gradle 8.3

There's currently no way to pass a `org.gradle.api.provider.Provider` to the JavaExec.systemProperty or Test.systemProperty. There's a workaround using `org.gradle.process.CommandLineArgumentProvider`, but I intentionally don't rework these calls as Gradle is going to allow passing providers to configure system properties: https://github.com/gradle/gradle/issues/12247#issuecomment-1568427242
^KTI-1473 In Progress
This commit is contained in:
Alexander.Likhachev
2023-10-11 22:42:51 +02:00
committed by Space Team
parent b784544f8d
commit a19bd2ed2e
69 changed files with 328 additions and 306 deletions
+7 -5
View File
@@ -2,23 +2,25 @@
import java.io.File
val buildVersionFilePath = "$buildDir/build.txt"
val buildVersionFilePath = layout.buildDirectory.file("build.txt")
val buildVersion by configurations.creating
val buildNumber: String by rootProject.extra
val kotlinVersion: String by rootProject.extra
val writeBuildNumber by tasks.registering {
val versionFile = File(buildVersionFilePath)
val versionFile = buildVersionFilePath
val buildNumber = buildNumber
inputs.property("version", buildNumber)
outputs.file(versionFile)
doLast {
versionFile.parentFile.mkdirs()
versionFile.writeText(buildNumber)
with(versionFile.get().asFile) {
parentFile.mkdirs()
writeText(buildNumber)
}
}
}
artifacts.add(buildVersion.name, file(buildVersionFilePath)) {
artifacts.add(buildVersion.name, buildVersionFilePath) {
builtBy(writeBuildNumber)
}