pkglistgen: Add --no-checkout option to accelerate reruns
This commit is contained in:
parent
121cec768b
commit
c1177170d5
@ -1145,6 +1145,7 @@ class CommandLineInterface(ToolBase.CommandLineInterface):
|
|||||||
@cmdln.option('-f', '--force', action='store_true', help='continue even if build is in progress')
|
@cmdln.option('-f', '--force', action='store_true', help='continue even if build is in progress')
|
||||||
@cmdln.option('-p', '--project', help='target project')
|
@cmdln.option('-p', '--project', help='target project')
|
||||||
@cmdln.option('-s', '--scope', default='all', help='scope on which to operate ({})'.format(', '.join(SCOPES)))
|
@cmdln.option('-s', '--scope', default='all', help='scope on which to operate ({})'.format(', '.join(SCOPES)))
|
||||||
|
@cmdln.option('--no-checkout', action='store_true', help='reuse checkout in cache')
|
||||||
def do_update_and_solve(self, subcmd, opts):
|
def do_update_and_solve(self, subcmd, opts):
|
||||||
"""${cmd_name}: update and solve for given scope
|
"""${cmd_name}: update and solve for given scope
|
||||||
|
|
||||||
@ -1252,15 +1253,19 @@ class CommandLineInterface(ToolBase.CommandLineInterface):
|
|||||||
host = urlparse.urlparse(apiurl).hostname
|
host = urlparse.urlparse(apiurl).hostname
|
||||||
cache_dir = save_cache_path('opensuse-packagelists', host, opts.project)
|
cache_dir = save_cache_path('opensuse-packagelists', host, opts.project)
|
||||||
|
|
||||||
if os.path.exists(cache_dir):
|
if not opts.no_checkout:
|
||||||
shutil.rmtree(cache_dir)
|
if os.path.exists(cache_dir):
|
||||||
os.makedirs(cache_dir)
|
shutil.rmtree(cache_dir)
|
||||||
|
os.makedirs(cache_dir)
|
||||||
|
|
||||||
group_dir = os.path.join(cache_dir, group)
|
group_dir = os.path.join(cache_dir, group)
|
||||||
product_dir = os.path.join(cache_dir, product)
|
product_dir = os.path.join(cache_dir, product)
|
||||||
release_dir = os.path.join(cache_dir, release)
|
release_dir = os.path.join(cache_dir, release)
|
||||||
|
|
||||||
for package in checkout_list:
|
for package in checkout_list:
|
||||||
|
if opts.no_checkout:
|
||||||
|
print("Skipping checkout of {}/{}".format(opts.project, package))
|
||||||
|
continue
|
||||||
checkout_package(apiurl, opts.project, package, expand_link=True, prj_dir=cache_dir)
|
checkout_package(apiurl, opts.project, package, expand_link=True, prj_dir=cache_dir)
|
||||||
|
|
||||||
if not skip_release:
|
if not skip_release:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user