[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:
committed by
Space Team
parent
b784544f8d
commit
a19bd2ed2e
@@ -94,11 +94,12 @@ run {
|
||||
implicitDependencies("com.google.protobuf:protoc:3.21.9:windows-x86_64@exe")
|
||||
}
|
||||
|
||||
val protocExecutable = buildDir.resolve("protoc/bin")
|
||||
val protocExecutable = layout.buildDirectory.file("protoc/bin")
|
||||
val setupProtoc = tasks.register("setupProtoc") {
|
||||
doFirst {
|
||||
protoc.files.single().copyTo(protocExecutable, overwrite = true)
|
||||
protocExecutable.setExecutable(true)
|
||||
val protocFile = protocExecutable.get().asFile
|
||||
protoc.files.single().copyTo(protocFile, overwrite = true)
|
||||
protocFile.setExecutable(true)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -122,16 +123,16 @@ run {
|
||||
|
||||
workingDir(project.projectDir)
|
||||
|
||||
commandLine(
|
||||
*arrayOf(
|
||||
protocExecutable.absolutePath,
|
||||
argumentProviders.add {
|
||||
listOf(
|
||||
protocExecutable.get().asFile.absolutePath,
|
||||
"-I=$protoSources",
|
||||
"--java_out=${javaOutput.absolutePath}",
|
||||
"--kotlin_out=${kotlinOutput.absolutePath}"
|
||||
) + protoSources.listFiles().orEmpty()
|
||||
.filter { it.extension == "proto" }
|
||||
.map { it.path },
|
||||
)
|
||||
.map { it.path }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user