Add --source-path flag to AAPT2 compile

This added flag uses a given value to replace the default absolute resource
file path in the compiled resource file. This allows for relative file
paths to be used instead of absolute file paths.

Test: Compile_test.cpp
Bug: 159611599
Change-Id: I5f1c99cf40e5d31fc54cda819c91640285986d2a
diff --git a/tools/aapt2/cmd/Compile.h b/tools/aapt2/cmd/Compile.h
index 1752a1a..1bc1f66 100644
--- a/tools/aapt2/cmd/Compile.h
+++ b/tools/aapt2/cmd/Compile.h
@@ -28,6 +28,7 @@
 
 struct CompileOptions {
   std::string output_path;
+  Maybe<std::string> source_path;
   Maybe<std::string> res_dir;
   Maybe<std::string> res_zip;
   Maybe<std::string> generate_text_symbols_path;
@@ -69,6 +70,9 @@
     AddOptionalSwitch("-v", "Enables verbose logging", &options_.verbose);
     AddOptionalFlag("--trace-folder", "Generate systrace json trace fragment to specified folder.",
                     &trace_folder_);
+    AddOptionalFlag("--source-path",
+                      "Sets the compiled resource file source file path to the given string.",
+                      &options_.source_path);
   }
 
   int Action(const std::vector<std::string>& args) override;