mirror of
				https://github.com/f-droid/fdroidserver.git
				synced 2025-11-04 06:30:27 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
#!/usr/bin/env python3
 | 
						|
#
 | 
						|
# an fdroid plugin for setting up srclibs
 | 
						|
#
 | 
						|
# The 'fdroid build' gitlab-ci job uses --on-server, which does not
 | 
						|
# set up the srclibs.  This plugin does the missing setup.
 | 
						|
 | 
						|
import argparse
 | 
						|
import os
 | 
						|
import pprint
 | 
						|
 | 
						|
from fdroidserver import _, common, metadata
 | 
						|
 | 
						|
fdroid_summary = 'prepare the srclibs for `fdroid build --on-server`'
 | 
						|
 | 
						|
 | 
						|
def main():
 | 
						|
    parser = argparse.ArgumentParser(usage="%(prog)s [options] [APPID[:VERCODE] [APPID[:VERCODE] ...]]")
 | 
						|
    common.setup_global_opts(parser)
 | 
						|
    parser.add_argument("appid", nargs='*', help=_("applicationId with optional versionCode in the form APPID[:VERCODE]"))
 | 
						|
    metadata.add_metadata_arguments(parser)
 | 
						|
    options = common.parse_args(parser)
 | 
						|
    apps = common.read_app_args(options.appid, allow_version_codes=True, sort_by_time=True)
 | 
						|
    common.read_config()
 | 
						|
    srclib_dir = os.path.join('build', 'srclib')
 | 
						|
    os.makedirs(srclib_dir, exist_ok=True)
 | 
						|
    srclibpaths = []
 | 
						|
    for appid, app in apps.items():
 | 
						|
        vcs, _ignored = common.setup_vcs(app)
 | 
						|
        for build in app.get('Builds', []):
 | 
						|
            vcs.gotorevision(build.commit, refresh=False)
 | 
						|
            if build.submodules:
 | 
						|
                vcs.initsubmodules()
 | 
						|
            else:
 | 
						|
                vcs.deinitsubmodules()
 | 
						|
            for lib in build.srclibs:
 | 
						|
                srclibpaths.append(common.getsrclib(lib, srclib_dir, prepare=False, build=build))
 | 
						|
    print('Set up srclibs:')
 | 
						|
    pprint.pprint(srclibpaths)
 | 
						|
 | 
						|
 | 
						|
if __name__ == "__main__":
 | 
						|
    main()
 |