From 3bea7e841b83ed0f225ce577a2a69aeff55255d5 Mon Sep 17 00:00:00 2001 From: TheBrokenRail Date: Sat, 30 May 2020 22:15:53 -0400 Subject: [PATCH] Fix Gradle --- buildSrc/src/main/kotlin/JNIPlugin.kt | 14 +++++++++----- buildSrc/src/main/kotlin/TypeScriptPlugin.kt | 13 ++++++++----- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/buildSrc/src/main/kotlin/JNIPlugin.kt b/buildSrc/src/main/kotlin/JNIPlugin.kt index 0bf47d8..4b1454c 100644 --- a/buildSrc/src/main/kotlin/JNIPlugin.kt +++ b/buildSrc/src/main/kotlin/JNIPlugin.kt @@ -5,18 +5,22 @@ import org.gradle.api.tasks.Delete import org.gradle.api.tasks.Exec import org.gradle.kotlin.dsl.* import java.io.File +import java.util.concurrent.Callable class JNIPlugin : Plugin { open class JNIConfig(private val project: Project) { - fun addPlatform(name: String, libExtension: String) = project.run { - val cDir = File(projectDir.absolutePath, "src/main/c") + var root: File = File(project.rootDir, "src/main/c") - val buildDir = File(cDir, "build-${name}") + fun addPlatform(name: String, libExtension: String) = project.run { + val buildDir = Callable { + File(root, "build-${name}") + } tasks.register("cmake-${name}") { doFirst { - if (!buildDir.exists()) { - buildDir.mkdir() + val file = buildDir.call() + if (!file.exists()) { + file.mkdir() } } diff --git a/buildSrc/src/main/kotlin/TypeScriptPlugin.kt b/buildSrc/src/main/kotlin/TypeScriptPlugin.kt index ab804b5..0ae59ac 100644 --- a/buildSrc/src/main/kotlin/TypeScriptPlugin.kt +++ b/buildSrc/src/main/kotlin/TypeScriptPlugin.kt @@ -15,8 +15,9 @@ class TypeScriptPlugin : Plugin { open class NPMTask : DefaultTask() { @get:Input lateinit var taskName: String + @get:Optional @get:Input - lateinit var outputDir: String + var outputDir: String? = null @TaskAction fun exec() { @@ -39,14 +40,16 @@ class TypeScriptPlugin : Plugin { } } + @Optional @OutputDirectory fun getOutput(): Callable? { - return if (this::outputDir.isInitialized) { + val dir = outputDir + return if (dir != null) { Callable { - if (File(outputDir).isAbsolute) { - File(outputDir) + if (File(dir).isAbsolute) { + File(dir) } else { - File(project.the().root, outputDir) + File(project.the().root, dir) } } } else {