Quill

Difference between version 10 and 11 - Previous - Next
Quill is a project automation system for Tcl projects.

Current Release: https://github.com/wduquette/tcl-quill/releases/tag/v0.4.0%|%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 https://www.virtualbox.org/wiki/Downloads%|%VirtualBox%|% on OS X and install Windows and Linux for testing purposes. - [RLH]

'''What is Quill?'''

Quill is patterned after the http://leiningen.org%|%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
===
<<categories>>EntDerv. CatTools | Degplory Hmerent