M.U.D. or Mod Update Detector is a "new" mod that I am currently (re)developing*. The basic Idea of the mod is that it will search through your currently installed compatible mods and notify you when a new version is ready to download. Not only will it notify you, but it will also give you the ability to download the new version of the mod in game.
Furthermore I plan for this mod to be a little bit of a proof of concept for a process for bringing continuous integration to the minecraft modding community. The plan is to set up a process where after a single push to github, a open source tool will build the mod and deploy each snapshot. Optionally a release can also be deployed. This process coupled with itself MUD should automate the entire process of building, deploying, releasing and downloading mods.
* I have actually had a similar system used in Mine & Blade Battlegear for quite a while.
About the Mod (what I plan for it at least)
For mod users
MUD will run in the background and check for updates of all compatible mods. If out of date mods are found, MUD will notify the player. At this point the player will be able to bring up the MUD display, read the changelog of the mod and download the new release. After minecraft has been restarted the new version of the mod will be loaded.
For mod developers
After vyou have made some changes to the source code of your mod and pushed a commit, the following process should occur
A CI tool (such as Snap CI) will detect the new commit
The CI tool will then automatically run the Forge build scripts, creating a new jar
The CI tool will deploy the newly built mod to a hosting site (likely dropbox or CurseForge)
The CI tool will run a script (which I will provide) which will notify a server that a new mod is ready, its version and it's download url
Any user using your mod will then be notified the next time they run minecraft
The idea is to make deployment as easy as possible after the process has been set up.
Build a mod on Snap CI as a proof of concept [done]
Deploy the built artifact to dropbox using a simple shell script [done]
Create a "Minimum Viable Release" that will ONLY notify players of an outdated mod via a mod update file hosted by the modder (eg on github)
Add changelog viewing functionality (both for the server and mod)
Add download functionality
Find some modders who would like to be geneia pigs
Further down the track
Create the server that will allow users to notify when new versions have been released and deploy it to heroku
Migrate scripts to gradle
Migrate server to AWS (If it is well received and more server power is required)
Finally here are a couple of images of the current MUD in battlegear to give you an idea of what I am going for