chiark / gitweb /
Try and use new gradle AM.xml path
authorDaniel Martí <mvdan@mvdan.cc>
Sat, 3 Aug 2013 14:44:14 +0000 (16:44 +0200)
committerDaniel Martí <mvdan@mvdan.cc>
Sat, 3 Aug 2013 14:44:14 +0000 (16:44 +0200)
fdroidserver/common.py

index 229fd42fd2b23fea2a22fed2183e49d62d7057d4..a363ffb504e125e5c286c712651f7f1c6b11e14f 100644 (file)
@@ -874,13 +874,22 @@ def retrieve_string(app_dir, string_id):
                 return s.replace("\\'","'")
     return ''
 
+# Find the AM.xml - try the new gradle method first.
+def manifest_path(app_dir):
+    gradlepath = os.path.join(app_dir, 'source', 'main', 'AndroidManifest.xml')
+    if os.path.exists(gradlepath):
+        return gradlepath
+    rootpath = os.path.join(app_dir, 'AndroidManifest.xml')
+    return rootpath
+
+
 # Retrieve the package name
 def fetch_real_name(app_dir):
     app_search = re.compile(r'.*<application.*').search
     name_search = re.compile(r'.*android:label="([^"]+)".*').search
     app_found = False
     name = None
-    for line in file(os.path.join(app_dir, 'AndroidManifest.xml')):
+    for line in file(manifest_path(app_dir)):
         if not app_found:
             if app_search(line):
                 app_found = True
@@ -907,7 +916,7 @@ def parse_androidmanifest(app_dir):
     version = None
     vercode = None
     package = None
-    for line in file(os.path.join(app_dir, 'AndroidManifest.xml')):
+    for line in file(manifest_path(app_dir)):
         if not package:
             matches = psearch(line)
             if matches: