Skip to content

Commit bfd13b0

Browse files
committed
build even if some images failed
1 parent d63dbac commit bfd13b0

File tree

1 file changed

+24
-6
lines changed

1 file changed

+24
-6
lines changed

scripts/copy_output.lua

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,20 +44,31 @@ local function clean(image, name)
4444
lib.exec {'rm', '-f', dir..'/'..file}
4545
end
4646

47+
local missing_images = {}
48+
4749
for _, images in pairs(lib.images) do
4850
for _, image in ipairs(images) do
51+
-- Clean first
52+
4953
clean(image, image.image)
5054

55+
for _, alias in ipairs(image.aliases) do
56+
clean(image, alias)
57+
end
58+
5159
local destdir, destname = image:dest_name(image.image)
5260
local source = image_source(image)
5361

54-
lib.exec {'cp', source, destdir..'/'..destname}
62+
if not pcall(function()
63+
lib.exec {'cp', source, destdir..'/'..destname}
5564

56-
for _, alias in ipairs(image.aliases) do
57-
clean(image, alias)
58-
59-
local _, aliasname = image:dest_name(alias)
60-
lib.exec {'ln', '-s', destname, destdir..'/'..aliasname}
65+
for _, alias in ipairs(image.aliases) do
66+
local _, aliasname = image:dest_name(alias)
67+
lib.exec {'ln', '-s', destname, destdir..'/'..aliasname}
68+
end
69+
end) then
70+
print(string.format('Failed to copy (%s) %s, assuming it\'s missing', image.subdir, image.image))
71+
table.insert(missing_images, image)
6172
end
6273
end
6374

@@ -94,3 +105,10 @@ if (env.GLUON_DEVICES or '') == '' then
94105
mkdir(dest_dir(package_prefix))
95106
lib.exec {'cp', 'openwrt/bin/targets/'..bindir..'/packages/\0', dest_dir(package_prefix)}
96107
end
108+
109+
if #missing_images > 0 then
110+
print('The following images were missing:')
111+
for _, image in ipairs(missing_images) do
112+
print(string.format(' - (%s) %s', image.subdir, image.image))
113+
end
114+
end

0 commit comments

Comments
 (0)