I’m hoping to release version 0.2.0 of Quill sometime before the end of the three-day weekend. (N.B. My family might have other ideas.) A great deal has happened since I released version 0.1.0 of Quill one month ago.
First, to recap. Quill is a project build system for the TCL/TK programming language. Quill will set up a project directory for you with all of the needful things (a code skeleton, a test suite skeleton, stub documents, and so forth). It will run your tests, format your documents, manage your external dependencies, build your application for release, and build your distribution .zip files.
I’ve made the following improvements over the last month.
Support for any Tcl Interpreter: Quill 0.1.0 piggybacked on the version of TCL/TK installed on your computer, and required that it be ActiveTcl 8.6. Quill 0.2.0 is delivered as a stand-alone executable, and will work with whatever version of TCL/TK it finds installed on your machine. And if Quill can’t find TCL/TK, or if you’ve got multiple versions installed, Quill 0.2.0 has a configuration interface so that you can tell it precisely which version to use.
Certain functions assume that you’re using ActiveTcl rather than your own build of TCL, and if you’re building standalone applications you currently have to be using Tcl 8.5 or Tcl 8.6.
Better support for Windows: Thanks to Stephan Effelsberg, who pointed out a number of Windows-related bugs, Quill should now work much better on Windows. (I can still only test on Mac OS X, so testing on Linux and Windows would be a real help to me.)
Quill can run arbitrary scripts in the project’s context. Often while working on a project you’d like to write some test scripts and have them load the project’s libraries; and setting this up is a small pain. But Quill makes it easy:
$ quill myscript.tcl
will run “myscript.tcl” in the context of your program: that is, it will run it using the Tcl Interpreter in use by your project, and it will configure that interpreter to see your project’s libraries.
Quill makes it clear what it’s using: The new “quill env” subcommand lists all of the helper tools that Quill plans to use: the Tcl Interpreter, “teacup” tool, “tclapp”, basekits, and so forth. It finds these automatically, or you can configure them using the new “quill config” subcommand.
Quill can now build standalone executables “cross-platform”: Quill still requires the “tclapp” tool from TclDevKit to build executables for deployment…but Quill can now build standalone executables for Linux, Mac OS X, and Windows on any of those three platforms. (I needed this, so that I could build distributions for Linux and Windows on my Mac.)
Quill can now build distribution .zip files: Once you’ve got your project working, you want to share it with people. The new “quill dist” command will build one or more distribution “.zip” files, containing your application and/or any provided libraries and also the project documentation. You can tailor the content of these distribution files as you like. If you pull down Quill from the Quill page at GitHub when 0.2.0 is officially, released, the file you get will have been built by Quill.
Quill is still a very new project; and like any program that interacts heavily with the environment, it’s likely to run into lots of environment-specific problems. If you try it, please leave any bug reports on the Quill Issue Tracker!