diff --git a/plugin/src/main/kotlin/com/nishtahir/CargoBuildTask.kt b/plugin/src/main/kotlin/com/nishtahir/CargoBuildTask.kt index 3add0bd..c3bb9fd 100644 --- a/plugin/src/main/kotlin/com/nishtahir/CargoBuildTask.kt +++ b/plugin/src/main/kotlin/com/nishtahir/CargoBuildTask.kt @@ -9,6 +9,8 @@ import org.gradle.api.logging.LogLevel import org.gradle.api.tasks.TaskAction import java.io.ByteArrayOutputStream import java.io.File +import java.nio.file.Files +import java.nio.file.Paths open class CargoBuildTask : DefaultTask() { var toolchain: Toolchain? = null @@ -42,6 +44,10 @@ open class CargoBuildTask : DefaultTask() { ?: targetDirectory ?: "${module!!}/target" + if (!Files.exists(Paths.get(targetDirectory))) { + throw GradleException("Cargo target directory (`${targetDirectory}`) does not exists. If you're using a Cargo Workspace, you need to specify the target directory in `build.gradle` or `local.properties` (see https://github.com/mozilla/rust-android-gradle#targetdirectory).") + } + val defaultTargetTriple = getDefaultTargetTriple(project, rustcCommand) val cargoOutputDir = if (toolchain.target == defaultTargetTriple) {