diff options
| author | 2014-10-10 19:21:48 +0000 | |
|---|---|---|
| committer | 2014-10-10 19:21:49 +0000 | |
| commit | f47f8855175213b4bf1014593f97bc81c042dfd1 (patch) | |
| tree | 85fae38b2aabaaa64b89679744b6b81cf8519a43 /tools/aapt/Command.cpp | |
| parent | 3e683b6a0f40e176ba9ffce652939ecef23b9dc2 (diff) | |
| parent | 6f1280cf170b358a57ff70341a9f2ad224e5a662 (diff) | |
Merge "Added a daemon mode to aapt to receive streams of commands from gradle." into lmp-dev
Diffstat (limited to 'tools/aapt/Command.cpp')
| -rw-r--r-- | tools/aapt/Command.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tools/aapt/Command.cpp b/tools/aapt/Command.cpp index 41d8502c5331..1e9e3e20ddf8 100644 --- a/tools/aapt/Command.cpp +++ b/tools/aapt/Command.cpp @@ -23,6 +23,10 @@ #include <errno.h> #include <fcntl.h> +#include <iostream> +#include <string> +#include <sstream> + using namespace android; #ifndef AAPT_VERSION @@ -2506,6 +2510,37 @@ int doSingleCrunch(Bundle* bundle) return NO_ERROR; } +int runInDaemonMode(Bundle* bundle) { + std::cout << "Ready" << std::endl; + for (std::string line; std::getline(std::cin, line);) { + if (line == "quit") { + return NO_ERROR; + } + std::stringstream ss; + ss << line; + std::string s; + + std::string command, parameterOne, parameterTwo; + std::getline(ss, command, ' '); + std::getline(ss, parameterOne, ' '); + std::getline(ss, parameterTwo, ' '); + if (command[0] == 's') { + bundle->setSingleCrunchInputFile(parameterOne.c_str()); + bundle->setSingleCrunchOutputFile(parameterTwo.c_str()); + std::cout << "Crunching " << parameterOne << std::endl; + if (doSingleCrunch(bundle) != NO_ERROR) { + std::cout << "Error" << std::endl; + } + std::cout << "Done" << std::endl; + } else { + // in case of invalid command, just bail out. + std::cerr << "Unknown command" << std::endl; + return -1; + } + } + return -1; +} + char CONSOLE_DATA[2925] = { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 95, 46, 32, 32, 32, 32, 32, 32, 32, 32, 32, |