Introducing muddler, the build tool for Mudlet packages

Post Reply
User avatar
demonnic
Posts: 559
Joined: Sat Dec 05, 2009 3:19 pm

Introducing muddler, the build tool for Mudlet packages

Post by demonnic » Wed Jul 17, 2019 7:11 am

tl;dr
Requires Java 1.8 or higher. It's built using Groovy. This makes it cross platform as long as you have java.
Releases for muddler can be found HERE
Wiki where the documentation will hopefully improve can be found HERE
Report any issues or feature requests HERE

Hello fine people. I've been quietly working on a project since about March, though the birth of my most recent child at the beginning of May did put a pause on it. I have written a build tool to (hopefully) make collaborating and source versioning Mudlet package projects a little bit easier. The tool is still kind of rough, it doesn't take any command line arguments, it just takes a project structure and assembles it into a mudlet package, both .xml and he zipped .mpackage.

The specifics are gone into in a bit more detail at the wiki, but I completely favor convention over configuration. The basic structure is a src directory with "triggers", "aliases", "timers", "scripts", and "resources" folders in them. Within these folders you describe the mudlet objects, with a .json file to describe the objects and .lua files matched to the name of the Mudlet object automatically read in for the script portion. The resources folder is where you place any additional files you want includes in the zipped mpackage. The filetree for recreating my animated timers package looks like this:

Code: Select all

C:\ANITIMERS
│   mfile
│
└───src
    ├───aliases
    │   └───AnimatedTimers
    │           aliases.json
    │           anitimer_demo.lua
    │
    ├───resources
    │       test1.jpg
    │       test5.jpg
    │
    ├───scripts
    │   └───AnimatedTimers
    │           code.lua
    │           scripts.json
    │
    └───timers
        └───AnimatedTimers
                animate.lua
                timers.json
I checked that and a nested prompt trigger using a gate, a filter, and does some highlighting in the repository under testmuddlers. Running muddle in the anitimers directory produces a mudlet package which will run the "anitimer demo" alias without throwing errors.

Right now it has the limitation of not working if you don't nest your items in a subdirectory, above I used AnimatedTimers. Having items directly in , for instance, /src/scripts causes an error and I haven't bothered to track it down yet. Also, you cannot add script to folders, nor can you have multiple items with the same name in the same folder, they'll get merged. At some point down the line perhaps I or someone else will work that bit out. I also have not yet done keybindings or buttons, as I use those least often and these were the Big 4 I felt like I had to have done to present it to the world.

I hope this helps some folks out. If you have issues with muddler, please file them on the github page.

User avatar
demonnic
Posts: 559
Joined: Sat Dec 05, 2009 3:19 pm

Re: Introducing the 0.1 beta release of muddler, the build tool for Mudlet packages

Post by demonnic » Wed Jul 17, 2019 7:18 am

A couple of examples created using muddler. These are in the git repo under testmuddlers if you want to look over what produced these files.
Attachments
TriggerTest.xml
(4.87 KiB) Downloaded 10 times
animatedtimers.mpackage
(2.42 KiB) Downloaded 14 times

User avatar
demonnic
Posts: 559
Joined: Sat Dec 05, 2009 3:19 pm

Re: Introducing the 0.1 beta release of muddler, the build tool for Mudlet packages

Post by demonnic » Sat Jul 20, 2019 12:40 am

Muddler 0.2 release, now with Keybinding support. This is new, but my limited testing has shown it to be functional. If you run into any bugs with it please let me know.

User avatar
demonnic
Posts: 559
Joined: Sat Dec 05, 2009 3:19 pm

Re: Introducing muddler, the build tool for Mudlet packages

Post by demonnic » Fri Aug 09, 2019 10:38 pm

I did a livestream and attempted to demonstrate muddler a bit: https://www.youtube.com/watch?v=LNKl0BZud5c

User avatar
demonnic
Posts: 559
Joined: Sat Dec 05, 2009 3:19 pm

Re: Introducing muddler, the build tool for Mudlet packages

Post by demonnic » Sat Aug 10, 2019 5:04 am

Muddler version 0.3 released https://github.com/demonnic/muddler/releases/tag/0.3

In this release, I add token filtering for @PKGNAME@ which will be replaced by $package-$version, which is what the package is named in the config.lua . Useful for pathing, as @PKGNAME@ will be replaced with the directory name inside the mudlet profile that the files will be dropped in. So with this if you bump your version or change your packagename, your source won't need to be changed, muddler will handle the change for you.

Post Reply

Who is online

Users browsing this forum: No registered users and 11 guests