summaryrefslogtreecommitdiffstats
path: root/tools/aapt/Main.cpp
diff options
context:
space:
mode:
authorXavier Ducrohet <xav@android.com>2012-12-21 09:54:02 -0800
committerXavier Ducrohet <xav@android.com>2013-01-02 15:41:52 -0800
commit22d7cf239d8a9b009ea7adf86d8826a8a8116d03 (patch)
tree80b4db57378fff41d163e2980dd9ff0a7b6e6840 /tools/aapt/Main.cpp
parent0dae634b06f5dc6039a5aaa9c0f00250e10c6547 (diff)
downloadframeworks_base-22d7cf239d8a9b009ea7adf86d8826a8a8116d03.zip
frameworks_base-22d7cf239d8a9b009ea7adf86d8826a8a8116d03.tar.gz
frameworks_base-22d7cf239d8a9b009ea7adf86d8826a8a8116d03.tar.bz2
Add single crunch command to aapt. do not merge.
Previously the crunch command would work on a full res folder and output a full res folder (with only the drawables). This was only used in the SDK. The incremental logic is moved to the SDK build system so we change the crunch command (or rather add a new one) to only crunch a single file. (cherry picked from commit b1f6ad82dd8d1702617a757a88430604b3131fac) Change-Id: I3653f67ee321eac37cb8a6d228b1ef6d104ff0be
Diffstat (limited to 'tools/aapt/Main.cpp')
-rw-r--r--tools/aapt/Main.cpp45
1 files changed, 37 insertions, 8 deletions
diff --git a/tools/aapt/Main.cpp b/tools/aapt/Main.cpp
index f398de0..32fecb2 100644
--- a/tools/aapt/Main.cpp
+++ b/tools/aapt/Main.cpp
@@ -85,7 +85,11 @@ void usage(void)
" Add specified files to Zip-compatible archive.\n\n", gProgName);
fprintf(stderr,
" %s c[runch] [-v] -S resource-sources ... -C output-folder ...\n"
- " Do PNG preprocessing and store the results in output folder.\n\n", gProgName);
+ " Do PNG preprocessing on one or several resource folders\n"
+ " and store the results in the output folder.\n\n", gProgName);
+ fprintf(stderr,
+ " %s s[ingleCrunch] [-v] -i input-file -o outputfile\n"
+ " Do PNG preprocessing on a single file.\n\n", gProgName);
fprintf(stderr,
" %s v[ersion]\n"
" Print program version.\n\n", gProgName);
@@ -203,13 +207,14 @@ int handleCommand(Bundle* bundle)
// printf(" %d: '%s'\n", i, bundle->getFileSpecEntry(i));
switch (bundle->getCommand()) {
- case kCommandVersion: return doVersion(bundle);
- case kCommandList: return doList(bundle);
- case kCommandDump: return doDump(bundle);
- case kCommandAdd: return doAdd(bundle);
- case kCommandRemove: return doRemove(bundle);
- case kCommandPackage: return doPackage(bundle);
- case kCommandCrunch: return doCrunch(bundle);
+ case kCommandVersion: return doVersion(bundle);
+ case kCommandList: return doList(bundle);
+ case kCommandDump: return doDump(bundle);
+ case kCommandAdd: return doAdd(bundle);
+ case kCommandRemove: return doRemove(bundle);
+ case kCommandPackage: return doPackage(bundle);
+ case kCommandCrunch: return doCrunch(bundle);
+ case kCommandSingleCrunch: return doSingleCrunch(bundle);
default:
fprintf(stderr, "%s: requested command not yet supported\n", gProgName);
return 1;
@@ -249,6 +254,8 @@ int main(int argc, char* const argv[])
bundle.setCommand(kCommandPackage);
else if (argv[1][0] == 'c')
bundle.setCommand(kCommandCrunch);
+ else if (argv[1][0] == 's')
+ bundle.setCommand(kCommandSingleCrunch);
else {
fprintf(stderr, "ERROR: Unknown command '%s'\n", argv[1]);
wantUsage = true;
@@ -427,6 +434,28 @@ int main(int argc, char* const argv[])
convertPath(argv[0]);
bundle.setCrunchedOutputDir(argv[0]);
break;
+ case 'i':
+ argc--;
+ argv++;
+ if (!argc) {
+ fprintf(stderr, "ERROR: No argument supplied for '-i' option\n");
+ wantUsage = true;
+ goto bail;
+ }
+ convertPath(argv[0]);
+ bundle.setSingleCrunchInputFile(argv[0]);
+ break;
+ case 'o':
+ argc--;
+ argv++;
+ if (!argc) {
+ fprintf(stderr, "ERROR: No argument supplied for '-o' option\n");
+ wantUsage = true;
+ goto bail;
+ }
+ convertPath(argv[0]);
+ bundle.setSingleCrunchOutputFile(argv[0]);
+ break;
case '0':
argc--;
argv++;