mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-11-05 06:50:10 +01:00
Merge branch 'submodules_ucm' into 'master'
checkupdates: don't fail when we can't init submodules Closes #231 See merge request fdroid/fdroidserver!395
This commit is contained in:
commit
5ae14fab18
@ -33,7 +33,7 @@ import copy
|
||||
from . import _
|
||||
from . import common
|
||||
from . import metadata
|
||||
from .exception import VCSException, FDroidException, MetaDataException
|
||||
from .exception import VCSException, NoSubmodulesException, FDroidException, MetaDataException
|
||||
|
||||
|
||||
# Check for a new version by looking at a document retrieved via HTTP.
|
||||
@ -110,8 +110,7 @@ def check_tags(app, pattern):
|
||||
|
||||
last_build = app.get_last_build()
|
||||
|
||||
if last_build.submodules:
|
||||
vcs.initsubmodules()
|
||||
try_init_submodules(app, last_build, vcs)
|
||||
|
||||
hpak = None
|
||||
htag = None
|
||||
@ -207,8 +206,7 @@ def check_repomanifest(app, branch=None):
|
||||
if len(app.builds) > 0:
|
||||
last_build = app.builds[-1]
|
||||
|
||||
if last_build.submodules:
|
||||
vcs.initsubmodules()
|
||||
try_init_submodules(app, last_build, vcs)
|
||||
|
||||
hpak = None
|
||||
hver = None
|
||||
@ -300,6 +298,19 @@ def check_gplay(app):
|
||||
return (version.strip(), None)
|
||||
|
||||
|
||||
def try_init_submodules(app, last_build, vcs):
|
||||
"""Try to init submodules if the last build entry used them.
|
||||
They might have been removed from the app's repo in the meantime,
|
||||
so if we can't find any submodules we continue with the updates check.
|
||||
If there is any other error in initializing them then we stop the check.
|
||||
"""
|
||||
if last_build.submodules:
|
||||
try:
|
||||
vcs.initsubmodules()
|
||||
except NoSubmodulesException:
|
||||
logging.info("No submodules present for {}".format(app.Name))
|
||||
|
||||
|
||||
# Return all directories under startdir that contain any of the manifest
|
||||
# files, and thus are probably an Android project.
|
||||
def dirs_with_manifest(startdir):
|
||||
|
@ -53,7 +53,8 @@ from distutils.util import strtobool
|
||||
|
||||
import fdroidserver.metadata
|
||||
from fdroidserver import _
|
||||
from fdroidserver.exception import FDroidException, VCSException, BuildException, VerificationException
|
||||
from fdroidserver.exception import FDroidException, VCSException, NoSubmodulesException,\
|
||||
BuildException, VerificationException
|
||||
from .asynchronousfilereader import AsynchronousFileReader
|
||||
|
||||
|
||||
@ -883,7 +884,7 @@ class vcs_git(vcs):
|
||||
self.checkrepo()
|
||||
submfile = os.path.join(self.local, '.gitmodules')
|
||||
if not os.path.isfile(submfile):
|
||||
raise VCSException(_("No git submodules available"))
|
||||
raise NoSubmodulesException(_("No git submodules available"))
|
||||
|
||||
# fix submodules not accessible without an account and public key auth
|
||||
with open(submfile, 'r') as f:
|
||||
|
@ -39,6 +39,10 @@ class VCSException(FDroidException):
|
||||
pass
|
||||
|
||||
|
||||
class NoSubmodulesException(VCSException):
|
||||
pass
|
||||
|
||||
|
||||
class BuildException(FDroidException):
|
||||
pass
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user