From 3bc211bd8086a64d5e7e5d46a3a83e149d1ee898 Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Sun, 22 Nov 2015 10:36:52 -0800 Subject: [PATCH] Refactor. --- .../kobalt/plugin/android/AndroidCommand.kt | 33 +++++++++++++++++++ .../kobalt/plugin/android/AndroidPlugin.kt | 24 +------------- 2 files changed, 34 insertions(+), 23 deletions(-) create mode 100644 src/main/kotlin/com/beust/kobalt/plugin/android/AndroidCommand.kt diff --git a/src/main/kotlin/com/beust/kobalt/plugin/android/AndroidCommand.kt b/src/main/kotlin/com/beust/kobalt/plugin/android/AndroidCommand.kt new file mode 100644 index 00000000..d9218675 --- /dev/null +++ b/src/main/kotlin/com/beust/kobalt/plugin/android/AndroidCommand.kt @@ -0,0 +1,33 @@ +package com.beust.kobalt.plugin.android + +import com.beust.kobalt.api.Project +import com.beust.kobalt.misc.RunCommand +import com.beust.kobalt.misc.log +import java.io.File + +open class AndroidCommand(project: Project, androidHome: String, command: String, cwd: File = File(project.directory)) +: RunCommand(command) { + init { + env.put("ANDROID_HOME", androidHome) + directory = cwd + } + + open fun call(args: List) = run(args, + successCallback = { output -> + log(1, "$command succeeded:") + output.forEach { + log(1, " $it") + } + }, + errorCallback = { output -> + with(StringBuilder()) { + append("Error running $command:") + output.forEach { + append(" $it") + } + error(this.toString()) + } + }) +} + + diff --git a/src/main/kotlin/com/beust/kobalt/plugin/android/AndroidPlugin.kt b/src/main/kotlin/com/beust/kobalt/plugin/android/AndroidPlugin.kt index 6289b628..f2884f16 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/android/AndroidPlugin.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/android/AndroidPlugin.kt @@ -128,7 +128,7 @@ public class AndroidPlugin @Inject constructor(val javaCompiler: JavaCompiler) inner class AaptCommand(project: Project, aapt: String, val aaptCommand: String, useErrorStream: Boolean = false, - cwd: File = File(project.directory)) : AndroidCommand(project, aapt) { + cwd: File = File(project.directory)) : AndroidCommand(project, androidHome(project), aapt) { init { directory = cwd useErrorStreamAsErrorIndicator = useErrorStream @@ -169,28 +169,6 @@ public class AndroidPlugin @Inject constructor(val javaCompiler: JavaCompiler) } } - inner open class AndroidCommand(project: Project, command: String, cwd: File = File(project.directory)) - : RunCommand(command) { - init { - env.put("ANDROID_HOME", androidHome(project)) - directory = cwd - } - - open fun call(args: List) = run(args, - successCallback = { output -> - log(1, "$command succeeded:") - output.forEach { - log(1, " $it") - } - }, - errorCallback = { output -> - error("Error running $command:") - output.forEach { - error(" $it") - } - }) - } - private fun generateR(project: Project, generated: String, aapt: String) { mergeAndroidManifest(project, context.variant)