Skip to content

Latest commit

 

History

History
48 lines (40 loc) · 1.68 KB

development.md

File metadata and controls

48 lines (40 loc) · 1.68 KB

Developing Taskwarrior

Satisfy the Requirements:

  • CMake 3.0 or later
  • gcc 7.0 or later, clang 6.0 or later, or a compiler with full C++17 support
  • libuuid (if not on macOS)
  • python 3 (optional, for running the test suite)
  • Rust 1.64.0 or higher (hint: use https://rustup.rs/ instead of using your system's package manager)

Obtain and Build Code:

    $ git clone --recursive https://github.com/GothenburgBitFactory/taskwarrior taskwarrior.git
    $ cd taskwarrior.git
    $ git checkout develop               # Latest dev branch
    $ git submodule init                 # This is now done by cmake as a test
    $ git submodule update               # Update the libhsared.git submodule
    $ cmake -DCMAKE_BUILD_TYPE=debug .   # debug or release. Default: neither
    $ make VERBOSE=1 -j4                 # Shows details, builds using 4 jobs
                                         # Alternately 'export MAKEFLAGS=-j 4'

This will build several executables, but the one you want is probably src/task. When you make changes, just run the last line again.

Run the Test Suite:

First switch to the test directory:

    $ cd test

Then you can run all tests, showing details, with

    $ make VERBOSE=1

Alternately, run the tests with the details hidden in all.log:

    $ ./run_all

Either way, you can get a summary of any test failures with:

    $ ./problems

Note that any development should be performed using a git clone, and the current development branch. The source tarballs do not reflect HEAD, and do not contain the test suite. Follow the GitHub flow for creating a pull request.