GSoC 2019: Plugin Manager (Week 0)
There's still a week before the official coding period begins, but I'd like to share the progress.
What I've done
I'm not coding full time recently and do have other engagements these days. However, I just keep adding small code snippets regularly.
Implement the checking update routine for plugins stored on GitHub.
The auto-updater is now able to keep GitHub release ID numbers or commit hashes in a file named "pluginpackages.xml" in the data directory. And the routine will return true if there's new releases or new commit hashes found from the web, and in turn enable the "Update" buttons.
However, the routine can only be triggered by a button currently. Future work will be integrating the routine into the background.
Searching and filtering facilities.
- Clickable plugin names, which direct to the plugin detail page.
- Some bug fixes.
Test for all 3.x-compatible plugins in the repository. (See here for the detailed result)
There're about a half of 3.x plugins that the store fails to download. The most common reason is that download procedure for links from musescore.com is not implemented.
As written in the result, there are also problems sometimes even for GitHub plugins:
- there are GitHub repos that contain multiple plugins, or the same plugin with multiple versions.
Ideas on how to treat them are welcomed:) Personally, for 1, I would prefer to ignore those non-qml plugins in store; and for 2, I would encourage developers to make separate repos for each plugin, and make separate branches for each plugin version.
What to do next
If everything related to plugins from GitHub goes well and nothing controversial happens, I plan to work on the download routine for plugins stored on musescore.org. I'll probably start by implement for plugins stored as attachments first.
As before, any feedback is welcomed!