From ff472f4309a7eee4fdb32288c588e56ef64738e3 Mon Sep 17 00:00:00 2001 From: Adam Barth Date: Tue, 8 Sep 2015 09:24:03 -0700 Subject: [PATCH] The skyx tool shouldn't crash if an icon variant doesn't exist Fixes #1077 --- engine/src/flutter/sky/tools/skyx/bin/skyx.dart | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/engine/src/flutter/sky/tools/skyx/bin/skyx.dart b/engine/src/flutter/sky/tools/skyx/bin/skyx.dart index 9239a2736f2..ca20c4b05da 100644 --- a/engine/src/flutter/sky/tools/skyx/bin/skyx.dart +++ b/engine/src/flutter/sky/tools/skyx/bin/skyx.dart @@ -88,6 +88,8 @@ Future loadManifest(String manifestPath) async { Future createFile(String key, String assetBase) async { File file = new File('${assetBase}/${key}'); + if (!await file.exists()) + return null; List content = await file.readAsBytes(); return new ArchiveFile.noCompress(key, content.length, content); } @@ -126,8 +128,11 @@ main(List argv) async { for (Asset asset in assets) archive.addFile(await createFile(asset.key, asset.base)); - for (MaterialAsset asset in materialAssets) - archive.addFile(await createFile(asset.key, args['asset-base'])); + for (MaterialAsset asset in materialAssets) { + ArchiveFile file = await createFile(asset.key, args['asset-base']); + if (file != null) + archive.addFile(file); + } File outputFile = new File(args['output-file']); await outputFile.writeAsBytes(new ZipEncoder().encode(archive));