What is the best way to iterate on a plugin?

What is the best way to iterate on a plugin?
Right now my process is:

Make changes to plugin files.
Go to vera web page
Select MiOS developers->Luup Files
Upload file
Select restart luup after upload
press GO

I’d like a quicker way to iterate with less button presses.
Does anyone have a better way?

Thanks,
Richard

In the end I always end up at the development loop that you describe. I’ve got a couple of ways of speeding up the earlier stages, though.

Check the files for validity on a desktop. Download a Lua interpreter for your Real Computer and run it on your plugin code. It won’t run, but it will show any syntax errors you might have. Similarly, view the XML files in Firefox or some other XML-aware program, to catch any badly-formed XML.

I’ve also been known to use a Lua table dumper (lua-users wiki: Data Dumper is one) and luup.log() to show the values of variables during execution. I just paste the code into my plugin to do my testing and then take it out again when I’m done.

If you’re hoping for some kind of debugging environment, there isn’t one. Lua supposedly has one, but I couldn’t even compile it for my desktop, much less cross-compile it to Vera. Besides, Luup is a bit too real-time to be single-stepping through code.

Also, you can write scripts on the machine where you’re developing that can “copy over” (and then compress) the files you’re working on. This avoids the need to use the UI to upload each file.

I use a Mac, so there are two scripts, the first is a series of SCP commands to copy the stuff over, including copying another script that will compress the files on Vera, the second “executes” the compression script (directly on Vera).

The result is that you only have to force Vera to reload them, and you’re done.

Thanks for the tips!