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

Commit 7fd74b5a authored by Adam Lesinski's avatar Adam Lesinski Committed by Android (Google) Code Review
Browse files

Merge changes I1a4b3ce5,Id7216e5b

* changes:
  AAPT2: Enable building proto artifacts
  AAPT2: Define and Implement AAPT Container Format
parents 4bf7416a e59f0d80
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -84,17 +84,18 @@ cc_library_host_static {
        "filter/AbiFilter.cpp",
        "filter/ConfigFilter.cpp",
        "format/Archive.cpp",
        "format/Container.cpp",
        "format/binary/BinaryResourceParser.cpp",
        "format/binary/ResChunkPullParser.cpp",
        "format/binary/TableFlattener.cpp",
        "format/binary/XmlFlattener.cpp",
        "format/proto/ProtoDeserialize.cpp",
        "format/proto/ProtoSerialize.cpp",
        "io/BigBufferStreams.cpp",
        "io/BigBufferStream.cpp",
        "io/File.cpp",
        "io/FileInputStream.cpp",
        "io/FileStream.cpp",
        "io/FileSystem.cpp",
        "io/StringInputStream.cpp",
        "io/StringStream.cpp",
        "io/Util.cpp",
        "io/ZipArchive.cpp",
        "link/AutoVersioner.cpp",
+17 −17
Original line number Diff line number Diff line
@@ -35,11 +35,11 @@ namespace aapt {

namespace {

class PrintVisitor : public DescendingValueVisitor {
class PrintVisitor : public ConstValueVisitor {
 public:
  using DescendingValueVisitor::Visit;
  using ConstValueVisitor::Visit;

  void Visit(Attribute* attr) override {
  void Visit(const Attribute* attr) override {
    std::cout << "(attr) type=";
    attr->PrintMask(&std::cout);
    static constexpr uint32_t kMask =
@@ -55,7 +55,7 @@ class PrintVisitor : public DescendingValueVisitor {
    }
  }

  void Visit(Style* style) override {
  void Visit(const Style* style) override {
    std::cout << "(style)";
    if (style->parent) {
      const Reference& parent_ref = style->parent.value();
@@ -90,15 +90,15 @@ class PrintVisitor : public DescendingValueVisitor {
    }
  }

  void Visit(Array* array) override {
  void Visit(const Array* array) override {
    array->Print(&std::cout);
  }

  void Visit(Plural* plural) override {
  void Visit(const Plural* plural) override {
    plural->Print(&std::cout);
  }

  void Visit(Styleable* styleable) override {
  void Visit(const Styleable* styleable) override {
    std::cout << "(styleable)";
    for (const auto& attr : styleable->entries) {
      std::cout << "\n        ";
@@ -116,17 +116,17 @@ class PrintVisitor : public DescendingValueVisitor {
    }
  }

  void VisitItem(Item* item) override {
  void VisitItem(const Item* item) override {
    item->Print(&std::cout);
  }
};

}  // namespace

void Debug::PrintTable(ResourceTable* table, const DebugPrintTableOptions& options) {
void Debug::PrintTable(const ResourceTable& table, const DebugPrintTableOptions& options) {
  PrintVisitor visitor;

  for (auto& package : table->packages) {
  for (const auto& package : table.packages) {
    std::cout << "Package name=" << package->name;
    if (package->id) {
      std::cout << " id=" << std::hex << (int)package->id.value() << std::dec;
@@ -261,11 +261,11 @@ void Debug::DumpHex(const void* data, size_t len) {

namespace {

class XmlPrinter : public xml::Visitor {
class XmlPrinter : public xml::ConstVisitor {
 public:
  using xml::Visitor::Visit;
  using xml::ConstVisitor::Visit;

  void Visit(xml::Element* el) override {
  void Visit(const xml::Element* el) override {
    const size_t previous_size = prefix_.size();

    for (const xml::NamespaceDecl& decl : el->namespace_decls) {
@@ -301,11 +301,11 @@ class XmlPrinter : public xml::Visitor {
    }

    prefix_ += "  ";
    xml::Visitor::Visit(el);
    xml::ConstVisitor::Visit(el);
    prefix_.resize(previous_size);
  }

  void Visit(xml::Text* text) override {
  void Visit(const xml::Text* text) override {
    std::cerr << prefix_ << "T: '" << text->text << "'\n";
  }

@@ -315,9 +315,9 @@ class XmlPrinter : public xml::Visitor {

}  // namespace

void Debug::DumpXml(xml::XmlResource* doc) {
void Debug::DumpXml(const xml::XmlResource& doc) {
  XmlPrinter printer;
  doc->root->Accept(&printer);
  doc.root->Accept(&printer);
}

}  // namespace aapt
+2 −4
Original line number Diff line number Diff line
@@ -31,13 +31,11 @@ struct DebugPrintTableOptions {
};

struct Debug {
  static void PrintTable(ResourceTable* table,
                         const DebugPrintTableOptions& options = {});
  static void PrintTable(const ResourceTable& table, const DebugPrintTableOptions& options = {});
  static void PrintStyleGraph(ResourceTable* table,
                              const ResourceName& target_style);
  static void DumpHex(const void* data, size_t len);
  static void DumpXml(xml::XmlResource* doc);
  static std::string ToString(xml::XmlResource* doc);
  static void DumpXml(const xml::XmlResource& doc);
};

}  // namespace aapt
+1 −1
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@
#include "format/Archive.h"
#include "format/binary/TableFlattener.h"
#include "format/binary/XmlFlattener.h"
#include "io/BigBufferInputStream.h"
#include "io/BigBufferStream.h"
#include "io/Util.h"
#include "xml/XmlDom.h"

+10 −0
Original line number Diff line number Diff line
@@ -157,12 +157,22 @@ struct SourcedResourceName {
};

struct ResourceFile {
  enum class Type {
    kUnknown,
    kPng,
    kBinaryXml,
    kProtoXml,
  };

  // Name
  ResourceName name;

  // Configuration
  ConfigDescription config;

  // Type
  Type type;

  // Source
  Source source;

Loading