chiark / gitweb /
Don't try and xref-check descriptions on the build server
authorCiaran Gultnieks <ciaran@ciarang.com>
Fri, 28 Sep 2012 17:22:26 +0000 (18:22 +0100)
committerCiaran Gultnieks <ciaran@ciarang.com>
Fri, 28 Sep 2012 17:22:26 +0000 (18:22 +0100)
fdroidserver/build.py
fdroidserver/common.py

index 401490e1b1d082c150032aa9cfb35a8b66e2b933..70a27ee14a502cbdf8c4b7f089a52b4f67de2f9b 100644 (file)
@@ -467,7 +467,7 @@ def parse_commandline():
                       help="Use build server")
     parser.add_option("--resetserver", action="store_true", default=False,
                       help="Reset and create a brand new build server, even if the existing one appears to be ok.")
-    parser.add_option("--on-server", action="store_true", default=False,
+    parser.add_option("--on-server", dest="onserver", action="store_true", default=False,
                       help="Specify that we're running on the build server")
     parser.add_option("-f", "--force", action="store_true", default=False,
                       help="Force build of disabled apps, and carries on regardless of scan problems. Only allowed in test mode.")
@@ -517,7 +517,7 @@ def main():
         sys.exit(1)
 
     # Get all apps...
-    apps = common.read_metadata(options.verbose)
+    apps = common.read_metadata(options.verbose, xref=not options.onserver)
 
     log_dir = 'logs'
     if not os.path.isdir(log_dir):
index 964f0cf1370eeff89d1eeded9ccc07036e583e42..0e27ad4979dce7363e14e252bd7bdbaeff1c7818 100644 (file)
@@ -607,26 +607,27 @@ def write_metadata(dest, app):
 
 # Read all metadata. Returns a list of 'app' objects (which are dictionaries as
 # returned by the parse_metadata function.
-def read_metadata(verbose=False):
+def read_metadata(verbose=False, xref=True):
     apps = []
     for metafile in sorted(glob.glob(os.path.join('metadata', '*.txt'))):
         if verbose:
             print "Reading " + metafile
         apps.append(parse_metadata(metafile, verbose=verbose))
 
-    # Parse all descriptions at load time, just to ensure cross-referencing
-    # errors are caught early rather than when they hit the build server.
-    def linkres(link):
+    if xref:
+        # Parse all descriptions at load time, just to ensure cross-referencing
+        # errors are caught early rather than when they hit the build server.
+        def linkres(link):
+            for app in apps:
+                if app['id'] == link:
+                    return ("fdroid.app:" + link, "Dummy name - don't know yet")
+            raise MetaDataException("Cannot resolve app id " + link)
         for app in apps:
-            if app['id'] == link:
-                return ("fdroid.app:" + link, "Dummy name - don't know yet")
-        raise MetaDataException("Cannot resolve app id " + link)
-    for app in apps:
-        try:
-            description_html(app['Description'], linkres)
-        except Exception, e:
-            raise MetaDataException("Problem with description of " + app['id'] +
-                    " - " + str(e))
+            try:
+                description_html(app['Description'], linkres)
+            except Exception, e:
+                raise MetaDataException("Problem with description of " + app['id'] +
+                        " - " + str(e))
 
     return apps