Skip to content

vslavik/bakefile

Repository files navigation

  1. Using Bakefile
=====================

If you obtained one of the prebuilt packages (MSI or ZIP file for windows or
the -bin.tar.bz2 tarball for Unix and OS X), then you can simply unpack it
somewhere and run the 'bkl' tool in its top directory.

On Windows, you don't need anything else, bkl.exe is self-contained executable.
On other systems, you must have Python 2.7 installed.

 Running with Docker or Podman
-------------------------------

As an alternative to installing Bakefile on your system, you can use Docker
or Podman to run Bakefile in a container. The following command will run
Bakefile in a container and mount the current directory as a volume:

    docker run --rm -v $(pwd):$(pwd) -w $(pwd) ghcr.io/vslavik/bakefile:1 foo.bkl

If your bakefiles depend on files in parent directories, you can mount a larger
part of local filesystem, even your entire home directory, like this:

    docker run --rm -v $HOME:$HOME -w $(pwd) ghcr.io/vslavik/bakefile:1 [...args...]



  2. Documentation
====================

Documentation is generated by scripts in the docs/ subdirectory. Up to date
version is always available from http://docs.bakefile.org



  3. Reporting bugs etc.
==========================

Source code repository, bug tracker, wiki:
https://github.com/vslavik/bakefile
https://github.com/vslavik/bakefile/issues
https://github.com/vslavik/bakefile/wiki



  4. Building from sources
============================

You'll need the following to compile Bakefile from sources obtained from
the git repository:

1. Python 2.7

2. Sphinx documentation tool. Install it with

       easy_install Sphinx

3. If you want to run the test suite, you'll need py.test too:

       easy_install pytest

4. Some additional modules are used if available, but are not required:

       easy_install clint    (for colorized output)


Once all tools are installed, you can build Bakefile by running `make`. This
generates the parser from ANTLR grammar and build the HTML documentation.