diff --git a/apps/backswipe/metadata.json b/apps/backswipe/metadata.json index 0274ec8d7..c7cb2185f 100644 --- a/apps/backswipe/metadata.json +++ b/apps/backswipe/metadata.json @@ -6,6 +6,7 @@ "icon": "app.png", "tags": "back,gesture,swipe", "supports" : ["BANGLEJS2"], + "readme":"README.md", "type": "bootloader", "storage": [ {"name":"backswipe.boot.js","url":"boot.js"}, diff --git a/apps/btadv/metadata.json b/apps/btadv/metadata.json index 29ee65286..7028b2a95 100644 --- a/apps/btadv/metadata.json +++ b/apps/btadv/metadata.json @@ -7,6 +7,7 @@ "icon": "icon.png", "tags": "health,tool,sensors,bluetooth", "supports": ["BANGLEJS2"], + "readme":"README.md", "storage": [ {"name":"btadv.app.js","url":"app.js"}, {"name":"btadv.img","url":"icon.js","evaluate":true} diff --git a/apps/clkinfostopw/metadata.json b/apps/clkinfostopw/metadata.json index c0821b8be..2cdf69495 100644 --- a/apps/clkinfostopw/metadata.json +++ b/apps/clkinfostopw/metadata.json @@ -7,6 +7,7 @@ "type": "clkinfo", "tags": "clkinfo,timer", "supports" : ["BANGLEJS2"], + "readme":"README.md", "allow_emulator": true, "storage": [ {"name":"stopw.clkinfo.js","url":"clkinfo.js"} diff --git a/apps/torch/metadata.json b/apps/torch/metadata.json index 4e8794663..6837dc904 100644 --- a/apps/torch/metadata.json +++ b/apps/torch/metadata.json @@ -7,6 +7,7 @@ "icon": "app.png", "tags": "tool,torch", "supports": ["BANGLEJS","BANGLEJS2"], + "readme":"README.md", "storage": [ {"name":"torch.app.js","url":"app.js"}, {"name":"torch.wid.js","url":"widget.js","supports": ["BANGLEJS"]}, diff --git a/apps/widChargingStatus/metadata.json b/apps/widChargingStatus/metadata.json index 573c594e7..63a59fe41 100644 --- a/apps/widChargingStatus/metadata.json +++ b/apps/widChargingStatus/metadata.json @@ -6,7 +6,8 @@ "type": "widget", "description": "A simple widget that shows a yellow lightning icon to indicate whenever the watch is charging. This way one can see the charging status at a glance, no matter which battery widget is being used.", "tags": "widget", - "supports": ["BANGLEJS","BANGLEJS2"], + "supports": ["BANGLEJS","BANGLEJS2"], + "readme":"README.md", "storage": [ {"name":"widChargingStatus.wid.js","url":"widget.js"} ] diff --git a/bin/sanitycheck.js b/bin/sanitycheck.js index 82b2896b8..b27e4e26d 100755 --- a/bin/sanitycheck.js +++ b/bin/sanitycheck.js @@ -162,7 +162,14 @@ apps.forEach((app,appIdx) => { ERROR(`App ${app.id} screenshot file ${screenshot.url} not found`, {file:metadataFile}); }); } - if (app.readme && !fs.existsSync(appDir+app.readme)) ERROR(`App ${app.id} README file doesn't exist`, {file:metadataFile}); + if (app.readme) { + if (!fs.existsSync(appDir+app.readme)) + ERROR(`App ${app.id} README file doesn't exist`, {file:metadataFile}); + } else { + let readme = fs.readdirSync(appDir).find(f => f.toLowerCase().includes("readme")); + if (readme) + ERROR(`App ${app.id} has a README in the directory (${readme}) but it's not linked`, {file:metadataFile}); + } if (app.custom && !fs.existsSync(appDir+app.custom)) ERROR(`App ${app.id} custom HTML doesn't exist`, {file:metadataFile}); if (app.customConnect && !app.custom) ERROR(`App ${app.id} has customConnect but no customn HTML`, {file:metadataFile}); if (app.interface && !fs.existsSync(appDir+app.interface)) ERROR(`App ${app.id} interface HTML doesn't exist`, {file:metadataFile});