am 1181564f: am 42fb3abd: DO NOT MERGE. cherrypick from I3653f67ee321eac37cb8a6d228b1ef6d104ff0be

* commit '1181564fc482171c4c9a84b3c7c1f06ca6eaf2b6':
  DO NOT MERGE. cherrypick from I3653f67ee321eac37cb8a6d228b1ef6d104ff0be
This commit is contained in:
Xavier Ducrohet
2013-05-07 16:05:58 -07:00
committed by Android Git Automerger
4 changed files with 47 additions and 8 deletions

View File

@ -38,6 +38,7 @@ typedef enum Command {
kCommandRemove,
kCommandPackage,
kCommandCrunch,
kCommandSingleCrunch,
} Command;
/*
@ -62,6 +63,7 @@ public:
mVersionCode(NULL), mVersionName(NULL), mCustomPackage(NULL), mExtraPackages(NULL),
mMaxResVersion(NULL), mDebugMode(false), mNonConstantId(false), mProduct(NULL),
mUseCrunchCache(false), mErrorOnFailedInsert(false), mOutputTextSymbols(NULL),
mSingleCrunchInputFile(NULL), mSingleCrunchOutputFile(NULL),
mArgc(0), mArgv(NULL)
{}
~Bundle(void) {}
@ -176,6 +178,10 @@ public:
bool getUseCrunchCache() const { return mUseCrunchCache; }
const char* getOutputTextSymbols() const { return mOutputTextSymbols; }
void setOutputTextSymbols(const char* val) { mOutputTextSymbols = val; }
const char* getSingleCrunchInputFile() const { return mSingleCrunchInputFile; }
void setSingleCrunchInputFile(const char* val) { mSingleCrunchInputFile = val; }
const char* getSingleCrunchOutputFile() const { return mSingleCrunchOutputFile; }
void setSingleCrunchOutputFile(const char* val) { mSingleCrunchOutputFile = val; }
/*
* Set and get the file specification.
@ -283,6 +289,8 @@ private:
bool mUseCrunchCache;
bool mErrorOnFailedInsert;
const char* mOutputTextSymbols;
const char* mSingleCrunchInputFile;
const char* mSingleCrunchOutputFile;
/* file specification */
int mArgc;

View File

@ -7,6 +7,7 @@
#include "Bundle.h"
#include "ResourceFilter.h"
#include "ResourceTable.h"
#include "Images.h"
#include "XMLNode.h"
#include <utils/Log.h>

View File

@ -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++;

View File

@ -29,6 +29,7 @@ extern int doAdd(Bundle* bundle);
extern int doRemove(Bundle* bundle);
extern int doPackage(Bundle* bundle);
extern int doCrunch(Bundle* bundle);
extern int doSingleCrunch(Bundle* bundle);
extern int calcPercent(long uncompressedLen, long compressedLen);