Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6a396c1a authored by Adam Lesinski's avatar Adam Lesinski
Browse files

AAPT2: Error on uncompiled XML or PNG files in link phase

Incorrectly passing text XML and unprocessed PNG files to
the AAPT2 link phase should raise an error.

Test: manual incorrect invocation of aapt2
Change-Id: Iab47f99bc378b5d1c4f4d87098f08243b9a4dc6a
parent 011cef54
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -1299,6 +1299,17 @@ class LinkCommand {
        }
      }
      return true;
    } else if (util::stringEndsWith(src.path, ".xml") ||
               util::stringEndsWith(src.path, ".png")) {
      // Since AAPT compiles these file types and appends .flat to them, seeing
      // their raw extensions is a sign that they weren't compiled.
      const StringPiece fileType =
          util::stringEndsWith(src.path, ".xml") ? "XML" : "PNG";
      mContext->getDiagnostics()->error(DiagMessage(src)
                                        << "uncompiled " << fileType
                                        << " file passed as argument. Must be "
                                           "compiled first into .flat file.");
      return false;
    }

    // Ignore non .flat files. This could be classes.dex or something else that