CARVIEW |
Jott to Build - use voice commands to build software
10:35 AM PST, December 16, 2007
How do you combine the need to perform on-demand builds with Continuous Integration using voice commands? For about six months now, I’ve been an ardent user of Jott. Jott transcribes voice to text and is an extremely useful utility for creating items on my todo list (especially as I commute in the DC area ). Recently, I linked this useful tool to something else I do quite often, running on-demand deployments. The solution is part useful tool and, quite frankly, part gimmick. I came up with the idea after watching an episode of the television show 24. Here’s how it works:
Here are the tools to make it all work: Sign up with Jott Go to Jott.com and register to use this free service. Download Cygwin See the instructions on how to use Cygwin, fetchmail and pop-enabled GMail to read your email via the command line. These instructions describe how to create backups of your GMail using the fetchmail utility. You can follow the same instructions, however the reason we’re doing this is to create a text file that is readable by a headless process via Ant so that we don’t need to open a browser or email client to have Ant read the email contents. Although the instructions are for GMail, the point is to pop-enable your email so you should be able to use other email services that provide POP capabilities. You should also run fetchmail as a daemon process so that it gets your email as soon as it’s sent. Create an Ant target to parse your fetchmail email Using Ant, load the fetchmail file (which contains your email text) and parse the file using regular expressions to search for keywords. If the keyword is found, set a property. Then, use this property to conditionally run a target that executes a build. … <target name=”parse-email”> <loadfile srcfile=”C:/cygwin/var/spool/mail/[your email file]” property=”stageBuild”> </target> … Schedule to execute your Ant script periodically Call the Ant script above from your CI server (like Hudson or CruiseControl). Run it on a frequent basis, such as every minute or so, so that soon thereafter your voice command is transcribed, the build is executed.
I came up with this idea in the past week and I know there are more robust ways of implementing it. Also, I glossed over some of the details. For instance, instead of using a CI server, you could simply run a scheduled task to run the Ant script that parses your email. Further, in a *nix environment, you obviously wouldn’t need to use Cygwin at all and, instead, use the native utilities. Also, the regular expressions can be further refined so that there are no false build executions. In any case, I hope this gets your creative juices flowing and you come up with ideas that extend this any further. Please let me know what you discover and share it with the community.
This is syndicated from Integrate Button Blog, and written by Paul.
|
Bio![]() I work for Stelligent Incorporated, a consulting firm and thought leader in helping development teams optimize Agile software production. I am the author of the IBM developerWorks "Automation for the people" series, a co-author of "No Fluff Just Stuff Anthology", a contributing author to the "UML 2 Toolkit". I blog at https://integratebutton.com/, https://testearly.com, and here on Amazon.
|
| ||
| ||
| ||
|