Fix --dalvik-cache
If we passed "--dalvik-cache=foo", then the artifact directory was
being set to /data/misc/apexdata/com.android.art/foo/foo instead of
/data/misc/apexdata/com.android.art/foo. This actually only affects
the cache-info.xml which I think is why I didn't notice before.
While I'm here, updated & tidied the usage info a bit.
Bug: 200020887
Test: composd_cmd forced-odrefresh
Change-Id: I6c74a54ebb4cd93506f0184016d6e1b04052db85
diff --git a/odrefresh/odrefresh_main.cc b/odrefresh/odrefresh_main.cc
index 4fe9565..0798ade 100644
--- a/odrefresh/odrefresh_main.cc
+++ b/odrefresh/odrefresh_main.cc
@@ -223,8 +223,7 @@
config->SetCompilationOsAddress(cid);
} else if (ArgumentMatches(arg, "--dalvik-cache=", &value)) {
art::OverrideDalvikCacheSubDirectory(value);
- config->SetArtifactDirectory(Concatenate(
- {GetApexDataDalvikCacheDirectory(art::InstructionSet::kNone), "/", value}));
+ config->SetArtifactDirectory(GetApexDataDalvikCacheDirectory(art::InstructionSet::kNone));
} else if (ArgumentMatches(arg, "--max-execution-seconds=", &value)) {
int seconds;
if (!android::base::ParseInt(value, &seconds)) {
@@ -262,10 +261,12 @@
void TargetOptionsHelp() {
UsageError("--use-compilation-os=<CID> Run compilation in the VM with the given CID.");
UsageError(" (0 = do not use VM, -1 = use composd's VM)");
- UsageError(
- "--dalvik-cache=<DIR> Write artifacts to .../<DIR> rather than .../dalvik-cache");
+ UsageError("--dalvik-cache=<DIR> Write artifacts to .../<DIR> rather than");
+ UsageError(" .../dalvik-cache");
UsageError("--max-execution-seconds=<N> Maximum timeout of all compilation combined");
UsageError("--max-child-process-seconds=<N> Maximum timeout of each compilation task");
+ UsageError("--staging-dir=<DIR> Write temporary artifacts to <DIR> rather than");
+ UsageError(" .../staging");
UsageError("--zygote-arch=<STRING> Zygote kind that overrides ro.zygote");
}