From a105d7f1e202d1b5808312a7858fd4b74365fb26 Mon Sep 17 00:00:00 2001 From: Ashkan Kiani Date: Tue, 26 Nov 2019 06:28:55 -0800 Subject: Add retry logic to docgen. (#54) --- scripts/docgen.lua | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) (limited to 'scripts/docgen.lua') diff --git a/scripts/docgen.lua b/scripts/docgen.lua index cf474075..6e2261d1 100644 --- a/scripts/docgen.lua +++ b/scripts/docgen.lua @@ -133,23 +133,27 @@ local function make_lsp_sections() docs.vspackage = util.format_vspackage_url(docs.vscode) end if docs.vspackage then - local script = [[ - curl -L -o {{vspackage_name}} {{vspackage_url}} - gzip -d {{vspackage_name}} - unzip -j {{vspackage_zip}} extension/package.json - mv package.json {{package_json_name}} - ]] - os.execute(template(script, { - package_json_name = package_json_name; - vspackage_name = util.path.join(tempdir, template_name..'.vspackage.zip.gz'); - vspackage_zip = util.path.join(tempdir, template_name..'.vspackage.zip'); - vspackage_url = docs.vspackage; - })) - if not util.path.is_file(package_json_name) then - print(string.format("Failed to download vspackage for %q at %q", template_name, docs.vspackage)) - return + for i = 1, 5 do + local script = [[ + curl -L -o {{vspackage_name}} {{vspackage_url}} + gzip -d {{vspackage_name}} + unzip -j {{vspackage_zip}} extension/package.json + mv package.json {{package_json_name}} + ]] + os.execute(template(script, { + package_json_name = package_json_name; + vspackage_name = util.path.join(tempdir, template_name..'.vspackage.zip.gz'); + vspackage_zip = util.path.join(tempdir, template_name..'.vspackage.zip'); + vspackage_url = docs.vspackage; + })) + if util.path.is_file(package_json_name) then + docs.package_json = true + break + else + print(string.format("Failed to download vspackage for %q at %q", template_name, docs.vspackage)) + vim.api.nvim_command("sleep "..math.random(0, i)) + end end - docs.package_json = true end if docs.package_json then if not util.path.is_file(package_json_name) then -- cgit v1.2.3-70-g09d2