diff options
Diffstat (limited to 'src/tools/android/java/com/google/devtools/build/android/aapt2/PackagedResources.java')
-rw-r--r-- | src/tools/android/java/com/google/devtools/build/android/aapt2/PackagedResources.java | 45 |
1 files changed, 37 insertions, 8 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/aapt2/PackagedResources.java b/src/tools/android/java/com/google/devtools/build/android/aapt2/PackagedResources.java index faad2cd868..2d92b4e071 100644 --- a/src/tools/android/java/com/google/devtools/build/android/aapt2/PackagedResources.java +++ b/src/tools/android/java/com/google/devtools/build/android/aapt2/PackagedResources.java @@ -14,6 +14,7 @@ package com.google.devtools.build.android.aapt2; import com.google.devtools.build.android.AndroidResourceOutputs; +import com.google.devtools.build.android.ResourcesZip; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; @@ -23,47 +24,64 @@ import javax.annotation.Nullable; public class PackagedResources { private final Path apk; + private final Path proto; private final Path rTxt; private final Path proguardConfig; private final Path mainDexProguard; private final Path javaSourceDirectory; private final Path resourceIds; + private final Path attributes; private PackagedResources( Path apk, + Path proto, Path rTxt, Path proguardConfig, Path mainDexProguard, Path javaSourceDirectory, - Path resourceIds) { + Path resourceIds, + Path attributes) { this.apk = apk; + this.proto = proto; this.rTxt = rTxt; this.proguardConfig = proguardConfig; this.mainDexProguard = mainDexProguard; this.javaSourceDirectory = javaSourceDirectory; this.resourceIds = resourceIds; + this.attributes = attributes; } public static PackagedResources of( Path outPath, + Path protoPath, Path rTxt, Path proguardConfig, Path mainDexProguard, Path javaSourceDirectory, - Path resourceIds) + Path resourceIds, + Path attributes) throws IOException { return new PackagedResources( - outPath, rTxt, proguardConfig, mainDexProguard, javaSourceDirectory, resourceIds); + outPath, + protoPath, + rTxt, + proguardConfig, + mainDexProguard, + javaSourceDirectory, + resourceIds, + attributes); } public PackagedResources copyPackageTo(Path packagePath) throws IOException { return of( copy(apk, packagePath), + proto, rTxt, proguardConfig, mainDexProguard, javaSourceDirectory, - resourceIds); + resourceIds, + attributes); } public PackagedResources copyRTxtTo(Path rOutput) throws IOException { @@ -72,11 +90,13 @@ public class PackagedResources { } return new PackagedResources( apk, + proto, copy(rTxt, rOutput), proguardConfig, mainDexProguard, javaSourceDirectory, - resourceIds); + resourceIds, + attributes); } private Path copy(Path from, Path out) throws IOException { @@ -91,11 +111,13 @@ public class PackagedResources { } return of( apk, + proto, rTxt, copy(proguardConfig, proguardOut), mainDexProguard, javaSourceDirectory, - resourceIds); + resourceIds, + attributes); } public PackagedResources copyMainDexProguardTo(Path mainDexProguardOut) throws IOException { @@ -104,11 +126,13 @@ public class PackagedResources { } return of( apk, + proto, rTxt, proguardConfig, copy(mainDexProguard, mainDexProguardOut), javaSourceDirectory, - resourceIds); + resourceIds, + attributes); } public PackagedResources createSourceJar(@Nullable Path sourceJarPath) throws IOException { @@ -116,7 +140,12 @@ public class PackagedResources { return this; } AndroidResourceOutputs.createSrcJar(javaSourceDirectory, sourceJarPath, false); - return of(apk, rTxt, proguardConfig, mainDexProguard, sourceJarPath, resourceIds); + return of( + apk, proto, rTxt, proguardConfig, mainDexProguard, sourceJarPath, resourceIds, attributes); + } + + public ResourcesZip packageWith(Path resourceRoot) { + return ResourcesZip.fromApkWithProto(proto, attributes, resourceRoot, apk, resourceIds); } public Path getResourceIds() { |