aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/android
diff options
context:
space:
mode:
authorGravatar ajmichael <ajmichael@google.com>2018-01-18 12:03:18 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-01-18 12:06:20 -0800
commit56567bbb56ab2f0d1423121abea4af2373acc8aa (patch)
treec2196a7404d827a2f8d3f2b494edc7a43c36cd42 /tools/android
parentbe21cb6f2946c1bd0545359b291167d0690c7e2d (diff)
aar_resources_extractor ignore empty res/ and assets/ dirs.
RELNOTES: None PiperOrigin-RevId: 182416060
Diffstat (limited to 'tools/android')
-rw-r--r--tools/android/aar_resources_extractor.py4
-rw-r--r--tools/android/aar_resources_extractor_test.py2
2 files changed, 4 insertions, 2 deletions
diff --git a/tools/android/aar_resources_extractor.py b/tools/android/aar_resources_extractor.py
index 1a18e24402..5ade3e7be4 100644
--- a/tools/android/aar_resources_extractor.py
+++ b/tools/android/aar_resources_extractor.py
@@ -43,7 +43,7 @@ def ExtractResources(aar, output_res_dir):
aar_contains_no_resources = True
output_res_dir_abs = os.path.abspath(output_res_dir)
for name in aar.namelist():
- if name.startswith("res/"):
+ if name.startswith("res/") and not name.endswith("/"):
ExtractOneFile(aar, name, output_res_dir_abs)
aar_contains_no_resources = False
if aar_contains_no_resources:
@@ -56,7 +56,7 @@ def ExtractAssets(aar, output_assets_dir):
aar_contains_no_assets = True
output_assets_dir_abs = os.path.abspath(output_assets_dir)
for name in aar.namelist():
- if name.startswith("assets/"):
+ if name.startswith("assets/") and not name.endswith("/"):
ExtractOneFile(aar, name, output_assets_dir_abs)
aar_contains_no_assets = False
if aar_contains_no_assets:
diff --git a/tools/android/aar_resources_extractor_test.py b/tools/android/aar_resources_extractor_test.py
index 18bb5b1daa..bce4a3dbee 100644
--- a/tools/android/aar_resources_extractor_test.py
+++ b/tools/android/aar_resources_extractor_test.py
@@ -50,6 +50,7 @@ class AarResourcesExtractorTest(unittest.TestCase):
def testNoResources(self):
aar = zipfile.ZipFile(io.BytesIO(), "w")
+ aar.writestr("res/", "")
os.makedirs("out_dir")
aar_resources_extractor.ExtractResources(aar, "out_dir")
self.assertEqual([_HostPath("out_dir/res/values/empty.xml")],
@@ -76,6 +77,7 @@ class AarResourcesExtractorTest(unittest.TestCase):
def testNoAssets(self):
aar = zipfile.ZipFile(io.BytesIO(), "w")
+ aar.writestr("assets/", "")
os.makedirs("out_dir")
aar_resources_extractor.ExtractAssets(aar, "out_dir")
expected_assets = [