Merge "AAPT2: Allow the ';' separator on Windows for split args" into oc-dev am: b97d51a0d2

am: 48d5b68815

Change-Id: Ic6422832379d008311c7727f99090251d73bba6b
This commit is contained in:
Adam Lesinski
2017-04-14 16:59:07 +00:00
committed by android-build-merger
3 changed files with 13 additions and 4 deletions

View File

@@ -1873,7 +1873,8 @@ int Link(const std::vector<StringPiece>& args) {
&options.extensions_to_not_compress)
.OptionalFlagList("--split",
"Split resources matching a set of configs out to a Split APK.\n"
"Syntax: path/to/output.apk:<config>[,<config>[...]].",
"Syntax: path/to/output.apk:<config>[,<config>[...]].\n"
"On Windows, use a semicolon ';' separator instead.",
&split_args)
.OptionalSwitch("-v", "Enables verbose logging.", &verbose);

View File

@@ -302,7 +302,8 @@ int Optimize(const std::vector<StringPiece>& args) {
&configs)
.OptionalFlagList("--split",
"Split resources matching a set of configs out to a "
"Split APK.\nSyntax: path/to/output.apk:<config>[,<config>[...]].",
"Split APK.\nSyntax: path/to/output.apk;<config>[,<config>[...]].\n"
"On Windows, use a semicolon ';' separator instead.",
&split_args)
.OptionalSwitch("--enable-sparse-encoding",
"Enables encoding sparse entries using a binary search tree.\n"

View File

@@ -57,10 +57,17 @@ bool ParseSplitParameter(const StringPiece& arg, IDiagnostics* diag, std::string
CHECK(out_path != nullptr);
CHECK(out_split != nullptr);
std::vector<std::string> parts = util::Split(arg, ':');
#ifdef _WIN32
const char sSeparator = ';';
#else
const char sSeparator = ':';
#endif
std::vector<std::string> parts = util::Split(arg, sSeparator);
if (parts.size() != 2) {
diag->Error(DiagMessage() << "invalid split parameter '" << arg << "'");
diag->Note(DiagMessage() << "should be --split path/to/output.apk:<config>[,<config>...]");
diag->Note(DiagMessage() << "should be --split path/to/output.apk" << sSeparator
<< "<config>[,<config>...].");
return false;
}