chiark / gitweb /
build: fix --no-refresh
authorMarcus Hoffmann <bubu@bubu1.eu>
Mon, 25 Dec 2017 23:20:17 +0000 (00:20 +0100)
committerMarcus Hoffmann <bubu@bubu1.eu>
Mon, 25 Dec 2017 23:20:17 +0000 (00:20 +0100)
This was broken by the in-source-tree .fdroid.yml file support.
Also support this for building on the buildserver.

fdroidserver/build.py
fdroidserver/metadata.py

index 9497747b120ca46a8971da72687902116b3ed6e1..82f72c9ac9bf6747e010b15c33c4521e741c2a40 100644 (file)
@@ -962,7 +962,7 @@ def trybuild(app, build, build_dir, output_dir, log_dir, also_check_dir,
     if server:
         # When using server mode, still keep a local cache of the repo, by
         # grabbing the source now.
-        vcs.gotorevision(build.commit)
+        vcs.gotorevision(build.commit, refresh)
 
         build_server(app, build, vcs, build_dir, output_dir, log_dir, force)
     else:
@@ -1124,7 +1124,7 @@ def main():
 
     # Read all app and srclib metadata
     pkgs = common.read_pkg_args(options.appid, True)
-    allapps = metadata.read_metadata(not options.onserver, pkgs, sort_by_time=True)
+    allapps = metadata.read_metadata(not options.onserver, pkgs, options.refresh, sort_by_time=True)
     apps = common.read_app_args(options.appid, allapps, True)
 
     for appid, app in list(apps.items()):
index 3c03df728ff60cc17bfd99f8b641903aafc0806c..a67bf1520bcbcb6e1615e379445152891118fb7f 100644 (file)
@@ -710,7 +710,7 @@ def read_srclibs():
         srclibs[srclibname] = parse_srclib(metadatapath)
 
 
-def read_metadata(xref=True, check_vcs=[], sort_by_time=False):
+def read_metadata(xref=True, check_vcs=[], refresh=True, sort_by_time=False):
     """Return a list of App instances sorted newest first
 
     This reads all of the metadata files in a 'data' repository, then
@@ -760,7 +760,7 @@ def read_metadata(xref=True, check_vcs=[], sort_by_time=False):
         if packageName in apps:
             warn_or_exception(_("Found multiple metadata files for {appid}")
                               .format(path=packageName))
-        app = parse_metadata(metadatapath, packageName in check_vcs)
+        app = parse_metadata(metadatapath, packageName in check_vcs, refresh)
         check_metadata(app)
         apps[app.id] = app
 
@@ -944,7 +944,7 @@ def _decode_bool(s):
     warn_or_exception(_("Invalid boolean '%s'") % s)
 
 
-def parse_metadata(metadatapath, check_vcs=False):
+def parse_metadata(metadatapath, check_vcs=False, refresh=True):
     '''parse metadata file, optionally checking the git repo for metadata first'''
 
     _ignored, ext = fdroidserver.common.get_extension(metadatapath)
@@ -978,7 +978,7 @@ def parse_metadata(metadatapath, check_vcs=False):
         if not os.path.isfile(metadata_in_repo):
             vcs, build_dir = fdroidserver.common.setup_vcs(app)
             if isinstance(vcs, fdroidserver.common.vcs_git):
-                vcs.gotorevision('HEAD')  # HEAD since we can't know where else to go
+                vcs.gotorevision('HEAD', refresh)  # HEAD since we can't know where else to go
         if os.path.isfile(metadata_in_repo):
             logging.debug('Including metadata from ' + metadata_in_repo)
             # do not include fields already provided by main metadata file