You are reading a single comment by @adaschma and its replies.
Click here to read the full conversation.
-
In https://github.com/espruino/BangleApps/pull/1323 I added an easy way for using a restricted apps.json. It still requires changing the apps.json-template. So you still need to ensure that it doesn't get commed. Merge errors should be less of a problem as upstream won't be changing apps.json often, anymore.
Hi Gordon,
this is a great idea! I already thought about this, too, but did not come up with a suggestion as I also saw the problem of the apps.json file creation. github magic and shell script would be perfect.
I also host my own app loader with the small subset of apps I actively work on. Currently, I've stripped down apps.json manually and solve merge conflicts on rebasing my own app loader branch manually.
I think that the use case "local app loader with app subset" is quite common. May I suggest to add a "restrictedapplist.json" (or whatever name it gets) in the main app loader directory. If it does not exist, the apps.json builder behaves exactly as proposed and includes the metadata of all apps into the apps.json. If however, restricedapplist.json exists and contains a ['list','of','app','ids'], only those apps are added to apps.json. This would allow to have that restrictedapplist in pesonal app loaders, it would not create merge conflicts (as the official loader of course does not have it) and make continuous integration of the official app loader into personal copies a charm.
One could even think about moving the restrictedapplist.json evaluation alternatively into the loader code. It could work like this (pseudo-code):
Small development-only app loader could leave out the apps.json creation altogether this way. Loader with more traffic would create it by script or jekyll and had no performance loss. I must admit that my time and my Javascript skills are too restricted so that I have not tried to implement this myself so far.
Best regards,
Dirk
(who just created parts of the footage about a Bangle.js GPS video)