fixup! KT-63592 Create setupLLDBScript task
This commit is contained in:
committed by
Space Team
parent
82f80a4899
commit
db27e29c08
+7
-8
@@ -13,18 +13,20 @@ import org.gradle.api.file.RegularFileProperty
|
|||||||
import org.gradle.api.model.ObjectFactory
|
import org.gradle.api.model.ObjectFactory
|
||||||
import org.gradle.api.provider.Property
|
import org.gradle.api.provider.Property
|
||||||
import org.gradle.api.tasks.*
|
import org.gradle.api.tasks.*
|
||||||
|
import org.gradle.work.DisableCachingByDefault
|
||||||
import org.jetbrains.kotlin.commonizer.toolsDir
|
import org.jetbrains.kotlin.commonizer.toolsDir
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinProjectSetupCoroutine
|
import org.jetbrains.kotlin.gradle.plugin.KotlinProjectSetupCoroutine
|
||||||
import org.jetbrains.kotlin.gradle.targets.native.internal.konanDistribution
|
import org.jetbrains.kotlin.gradle.targets.native.internal.konanDistribution
|
||||||
import org.jetbrains.kotlin.gradle.tasks.locateOrRegisterTask
|
import org.jetbrains.kotlin.gradle.tasks.locateOrRegisterTask
|
||||||
import org.jetbrains.kotlin.gradle.utils.getFile
|
import org.jetbrains.kotlin.gradle.utils.getFile
|
||||||
|
import org.jetbrains.kotlin.gradle.utils.property
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
internal val KotlinLLDBScriptSetupAction = KotlinProjectSetupCoroutine {
|
internal val KotlinLLDBScriptSetupAction = KotlinProjectSetupCoroutine {
|
||||||
locateOrRegisterLLDBScriptTask()
|
locateOrRegisterLLDBScriptTask()
|
||||||
}
|
}
|
||||||
|
|
||||||
@CacheableTask
|
@DisableCachingByDefault(because = "The task is just writing to the file, so no need to cache")
|
||||||
internal abstract class LLDBInitTask
|
internal abstract class LLDBInitTask
|
||||||
@Inject constructor(
|
@Inject constructor(
|
||||||
objects: ObjectFactory,
|
objects: ObjectFactory,
|
||||||
@@ -32,18 +34,16 @@ internal abstract class LLDBInitTask
|
|||||||
) : DefaultTask() {
|
) : DefaultTask() {
|
||||||
|
|
||||||
@get:Input
|
@get:Input
|
||||||
internal abstract val fileName: Property<String>
|
internal val fileName: Property<String> = objects.property(initialValue = "lldbinit")
|
||||||
|
|
||||||
@get:InputDirectory
|
@get:InputDirectory
|
||||||
@get:PathSensitive(PathSensitivity.RELATIVE)
|
@get:PathSensitive(PathSensitivity.RELATIVE)
|
||||||
internal abstract val konanToolsDir: DirectoryProperty
|
internal abstract val konanToolsDir: DirectoryProperty
|
||||||
|
|
||||||
@get:OutputFile
|
@get:OutputFile
|
||||||
protected val outputFile: RegularFileProperty by lazy {
|
protected val outputFile: RegularFileProperty = objects.fileProperty().convention(
|
||||||
objects.fileProperty().convention(
|
projectLayout.buildDirectory.file(fileName)
|
||||||
projectLayout.buildDirectory.file(fileName)
|
)
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
@TaskAction
|
@TaskAction
|
||||||
fun createScript() {
|
fun createScript() {
|
||||||
@@ -56,7 +56,6 @@ internal abstract class LLDBInitTask
|
|||||||
internal fun Project.locateOrRegisterLLDBScriptTask(): TaskProvider<LLDBInitTask> {
|
internal fun Project.locateOrRegisterLLDBScriptTask(): TaskProvider<LLDBInitTask> {
|
||||||
return locateOrRegisterTask("setupLldbScript") { task ->
|
return locateOrRegisterTask("setupLldbScript") { task ->
|
||||||
task.description = "Generate lldbinit file with imported konan_lldb.py script"
|
task.description = "Generate lldbinit file with imported konan_lldb.py script"
|
||||||
task.fileName.set("lldbinit")
|
|
||||||
task.konanToolsDir.set(konanDistribution.toolsDir)
|
task.konanToolsDir.set(konanDistribution.toolsDir)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user