Skip to content

lastfm/python-mirbuild

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

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

mirbuild

mirbuild is the build system used for almost all projects in Last.fm's MIR team. It makes it extremely easy to build, test, install and package

  • C++ libraries and services,
  • Thrift interfaces and
  • Python libraries.

It takes care of

  • handling dependencies between projects,
  • doing debug, release and code-coverage builds,
  • running code coverage tools and
  • creating debian packages.

Installation

mirbuild is written in Python and needs the setuptools, dateutil, debian and pytest libraries. It also needs cmake for building C++ projects and for running the test suite.

You can build and test mirbuild with

./build.py test

and install it using:

sudo ./build.py install

Usage

Have a look at mirbuild/init.py for some usage examples. There's no need to install mirbuild to be able to use it,

export PYTHONPATH=/path/to/python-mirbuild

is sufficient.

It helps to stick to a certain structure when building projects with dependencies. Ideally, all projects are either in the same directory or at least below a certain common directory. To automatically build a project and its dependencies, you can run:

python -m mirbuild.walk -p project build

To build a single project when you know that all dependencies are up-to-date and in the directory above, run:

./build.py --with-deps=.. build

About

The Last.fm MIR meta-build-system

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages