Updated 2017-03-15 13:19:01 by SEH

Quill is a project automation system for Tcl projects.

Current Release: Quill v0.4.0

  • Quill has a new template architecture for project trees and other project elements.
  • There are now two project tree templates, "app" and "lib".
  • There is now a 'quill add' command, for adding skeleton project elements (libs, apps, etc.) to existing projects.

Quill is hosted at http://github.com/wduquette/tcl-quill; please leave any bug reports in the Issue tracker on the repository home page.

Quill releases are built for Linux, OS X, and Windows; however, all development is done on OS X; please report any bugs found on other platforms so that I can fix them ASAP. - WHD

You can install VirtualBox on OS X and install Windows and Linux for testing purposes. - RLH

What is Quill?

Quill is patterned after the Leiningen build tool for the Clojure language. It is intended to handle the following tasks, and to make them as easy as possible:

  • Build project trees with skeleton apps, libraries, documentation, and test suites.
  • Manage external dependencies, pulling external packages in from a teapot server.
  • Run tests
  • Format HTML documentation
  • Build applications and libraries
  • Install applications and libraries for local use
  • Build distribution .zip files
  • Work with the project code in Tkcon

Automating Tasks with Quill:

Create a new project tree:
$ quill new app my-project myapp
...
$ cd my-project
$ ./bin/myapp.tcl 
my-project 0.0a0

Args: <>
$

Run the project tests:
$ quill test
... (runs tcltests; they'll fail until you add some real ones)

Build an executable, a starkit or a standalone executable
$ quill build
$ ./bin/myapp-0.0a0-tcl.kit

or

$ ./bin/myapp-0.0a0-win32_ix86.exe

Install the application for local use:
$ quill install
$ ls ~/bin
myapp
$ myapp
my-project 0.0a0