Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Overlord

Overlord is a build system written in Common Lisp.

It has the features you would expect of any reasonably modern build system: rules with multiple outputs, parallel builds, immunity to clock issues, and dynamic dependencies.

It also solves certain problems specific to Lisp programming (namely, it lets you you reproducibly specify the desired state of a Lisp system which is to be saved as an image).

Overlord is designed to be used from the Lisp REPL. A command line interface is available in a separate repository.

For more discussion, consult the wiki. If you are a Lisper, you might want to jump straight to the tutorial for Lispers.

Advice for users

Note that, to run the test suite, you will need to download Core Lisp, and, if not on Windows, you must have the touch program in your search path. (On Windows, Powershell is used instead).

Overlord stores its persistent data structures in a cache directory. On Linux, this is $XDG_CACHE_HOME/overlord. The data structures stored there are versioned. It might worth checking the cache directory from time to time to delete obsolete files.

Overlord is developed and tested on Clozure and SBCL. In the future it may officially support other Lisp implementations, but that is not a priority.

Examples

Here are some projects that make direct use of Overlord:

  1. cl-https-everywhere. In-process HTTPS Everywhere rulesets, automatically fetched from the HTTPS Everywhere repository and compiled into Lisp code.

  2. Proctor. Proctor treats tests as build targets, allowing you to precisely specify their dependencies and re-run tests only when necessary.

  3. Vernacular. Provides a module system for embedding languages, with arbitrary syntaxes, into Common Lisp systems.

About

Build system in Common Lisp

Resources

License

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.