 
         try [beforeTask, CommandTask(name: verb, commands: commands), afterTask].flatMap { $0 }.forEach(execute)
     }
-
-    // TODO: Consider passing android home into all paths that need it
-    // We could extract this all out to a android command builder
-    func adbToolCommand() throws -> String {
-        return try androidHome()
-            .pathByAdding(component: SDKPaths.platformTools.rawValue)
-            .pathByAdding(component: SDKPaths.adbTool.rawValue)
-    }
 }

import Commandant
import Result

fileprivate enum SDKPaths: String {
    case android = "tools/android"
    case emulator = "tools/emulator"
    case buildTools = "build-tools"
    case platformTools = "platform-tools"
    case platforms = "platforms"
    case platformIncludeName = "android.jar"
    case packageTool = "aapt" // TODO: Need to come up with a better format for paths and tools
    case jackTool = "jack.jar"
    case zipAlignTool = "zipalign"
    case adbTool = "adb"
}

protocol AndroidCommand: CommandProtocol {

    }

    private func buildToolsBaseDir() throws -> String {
        return (try androidHome()).pathByAdding(component: Paths.buildTools.rawValue)
    }

    func androidToolPath() throws -> String {
        return try androidHome()
            .pathByAdding(component: Paths.tools.rawValue)
            .pathByAdding(component: Tools.android.rawValue)
    }

    // TODO: Should provide an option to supply build tools via configuration file
