Muddler 0.7 released!

With the recent changes in package metadata there come new muddler releases. Muddler 0.6 was primarily concerned with adding support for the new package metadata items, and 0.7 added one I was missed in 0.6 (dependencies) as well as replacing the existing Ant output with my own. Also added error handling for situations I know may fail, such as parsing malformed json and the like. The result is a more unified output and more information for the package author at build time.

New metadata support

Mudlet 4.12 brought some big changes to packaging and what information you can bundle about your package. So naturally I had to make some changes to muddler to accommodate that!

The full list of keys supported in the mfile for filling out your package’s metadata are:

  • package
    • The name of the package. The original metadata. Same as it ever was
  • version
    • The version of the package. This was available previously, but now Mudlet displays it!
  • author
    • Your name in lights! Well, a text box in Mudlet’s Package Manager, but still it’s recognition
  • title
    • ‘Short description’ if using the Mudlet package exporter.
    • Shows up in the package manager next to your package name in the list of packages
    • as such best to keep it somewhat short
  • description
    • This is a longer description for your package which is shown only once your package is clicked on in the package manager
    • supports Markdown
    • if you have a README.md file in the project root then the contents of that will be used automatically
  • dependencies
    • Comma separated list of other packages which should be installed for yours to work
    • for example, “MDK,MMSolver”
    • no actual enforcement in Mudlet yet, but still a convenient way to include the information
  • icon
    • The name of the image file you want to use for your package’s icon
    • file should be in src/resources/<filename>
      • for example if you set “icon”: “computer.png” then the file should be in “src/resources/computer.png” in your project
    • file is copied into place for icon usage rather than moved, in case you want to use it for labels or such
    • Recommended size is 512×512 pixels, as this is what Mudlet will scale it to

More and better output!

Before, I did not really provide any of my own output. The things displayed in the terminal when muddler would run were mostly output by the AntBuilder it uses for moving and zipping files and such once it has transformed the filetree into a Mudlet xml file.

Now I provide all of the output, and attempt to do so in a consistent manner. I’ve also started handling errors for things like malformed JSON or file access errors, so that it will tell you where to look for the issue. This should aid greatly in troubleshooting failing builds.

Example of new output from a real package build

The GitHub action automatically selects the latest version unless you specify one, so there should be no need to explicitly upgrade if you’re already letting it handle that for you.

Always looking to improve

If you have any feature requests or find any bugs, please let us know by filing an issue. I won’t promise I’ll take every suggestion, but I do promise I’ll at least give each one serious consideration.