Skip to content

mefyl/drake

Folders and files

NameName
Last commit message
Last commit date
Aug 25, 2019
Aug 25, 2019
Nov 9, 2019
Nov 17, 2019
Aug 25, 2019
Sep 21, 2013
Jan 26, 2018
Aug 25, 2019
Aug 25, 2019
Jan 26, 2018
Jul 28, 2019
Aug 25, 2019
Apr 25, 2019
Jul 28, 2019
Jul 28, 2019
Feb 24, 2011
Jan 29, 2018
Aug 25, 2019
Feb 21, 2018
Aug 4, 2019
Aug 25, 2019
Aug 23, 2017
Jun 12, 2017
Sep 16, 2022

Repository files navigation

Drake

The well-formed build system.

pipeline status coverage report

About drake

Drake is a build system written in Python aiming at expressivity, consistency and extensibility.

In a nutshell:

  • The declaration of the dependency graph is enforced and separated from the build command, creating a streamlined build process.
  • Build files are plain Python, enabling you to stay declarative or leverage the full power of the language if needed.
  • Support for new build processes can easily be added, no matter how complex.
  • Nested projects are merged in a single graph, enabling rich dependency exploration.

Project status

Drake is a one man few people project, initially used as an internal tool. The core itself is still designed in a clean and extensible well suited for collaboration. What can be lacking is language support, which need to be implemented. So far the main supported languages are:

  • C++
  • OCaml
  • Python
  • Go
  • GNU autotools projects

Several convenience tools also have good support, such as Mako templating, Debian packaging or Docker.

Is drake for me ?

If you want a streamlined experience with a widely used, well supported build system, then drake might not (yet) be for you.

If existing solution do not satisfy you, and you are ready or need to implement the build steps you need, then drake might be the perfect base to build upon. More so if the technology you use is one of the already well supported one.

Requirements

Drake requires Python3 along with the following modules:

Installation

Drake is bootstrapped. From the root of the repository, simply run:

src/bin/drake --prefix=/usr/local //install

Getting starting

Refer to the quickstart for a fast functional setup of Drake.

About

The well-formed build system.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages