]> git.saurik.com Git - android/aapt.git/commitdiff
am 9139868b: am ba6c98db: am 82943ecf: am d40c93f6: Merge "Add dependency generation...
authorXavier Ducrohet <xav@android.com>
Tue, 19 Jul 2011 17:23:19 +0000 (10:23 -0700)
committerAndroid Git Automerger <android-git-automerger@android.com>
Tue, 19 Jul 2011 17:23:19 +0000 (10:23 -0700)
* commit '9139868b6c5cb29b3665984225dceb0193fec31d':
  Add dependency generation to Aapt for R.java

1  2 
Resource.cpp

diff --combined Resource.cpp
index b4ac92987d6ead86ae44028d16a1519c68d9ad75,ae4bdc80c31459cc5985362e6d9f81cf28092fef..99e781dc5a52feba2d9a9833a3c7fd0cfb3cb52a
@@@ -51,6 -51,12 +51,12 @@@ ResourceTypeSet::ResourceTypeSet(
  {
  }
  
+ FilePathStore::FilePathStore()
+     :RefBase(),
+      Vector<String8>()
+ {
+ }
  class ResourceDirIterator
  {
  public:
@@@ -1917,6 -1923,16 +1923,16 @@@ status_t writeResourceSymbols(Bundle* b
              return err;
          }
          fclose(fp);
+         if (bundle->getGenDependencies()) {
+             // Add this R.java to the dependency file
+             String8 dependencyFile(bundle->getRClassDir());
+             dependencyFile.appendPath("R.d");
+             fp = fopen(dependencyFile.string(), "a");
+             fprintf(fp,"%s \\\n", dest.string());
+             fclose(fp);
+         }
      }
  
      return NO_ERROR;
@@@ -2194,11 -2210,6 +2210,11 @@@ writeProguardForLayouts(ProguardKeepSet
              }
          }
      }
 +    // Handle the overlays
 +    sp<AaptAssets> overlay = assets->getOverlay();
 +    if (overlay.get()) {
 +        return writeProguardForLayouts(keep, overlay);
 +    }
      return NO_ERROR;
  }
  
@@@ -2244,3 -2255,16 +2260,16 @@@ writeProguardFile(Bundle* bundle, cons
  
      return err;
  }
+ status_t
+ writeDependencyPreReqs(Bundle* bundle, const sp<AaptAssets>& assets, FILE* fp)
+ {
+     status_t deps = -1;
+     sp<FilePathStore> files = assets->getFullResPaths();
+     for (size_t file_i = 0; file_i < files->size(); ++file_i) {
+         // Add the full file path to the dependency file
+         fprintf(fp, "%s \\\n", files->itemAt(file_i).string());
+         deps++;
+     }
+     return deps;
+ }