Taskwarrior - Command line Task Management taskwarrior.org https://taskwarrior.org
Find a file
Dustin J. Mitchell 889e1d1cdc
Merge pull request #342 from djmitche/clippy-warnings
fix some clippy warnings, and make them errors for taskchampion-lib
2022-03-10 15:35:12 -05:00
.cargo use codegen, instead of build.rs, to build header file 2022-02-16 00:28:07 +00:00
.changelogs Merge pull request #301 from djmitche/issue299 2021-10-26 22:05:59 -04:00
.github Update clippy toolchain to 1.57 2021-12-22 00:43:15 +00:00
cli 'ta import' -> 'ta import-tw' 2022-01-23 15:27:13 +00:00
docs Merge branch 'main' into issue327 2022-01-23 15:31:02 +00:00
integration-tests free replica in test 2022-03-02 20:58:36 -05:00
lib fix some clippy warnings, and make them errors for taskchampion-lib 2022-03-07 23:49:37 +00:00
scripts Store changelog snippets as .md 2021-09-05 17:02:48 +10:00
sync-server remove debug print 2021-10-24 21:41:41 -04:00
taskchampion fix bad test 2022-02-13 16:18:17 +00:00
xtask fix some clippy warnings, and make them errors for taskchampion-lib 2022-03-07 23:49:37 +00:00
.gitignore implement TextOperation 2019-12-25 10:51:44 -05:00
build-docs.sh update docs 2021-09-26 09:34:35 -04:00
Cargo.lock use TC_UUID_STRING_BYTES constant directly 2022-03-06 01:25:31 +00:00
Cargo.toml use codegen, instead of build.rs, to build header file 2022-02-16 00:28:07 +00:00
CHANGELOG.md v0.4.1 2021-09-26 09:26:38 -04:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2020-11-26 23:18:32 -05:00
CONTRIBUTING.md Store changelog snippets as .md 2021-09-05 17:02:48 +10:00
LICENSE Create LICENSE 2020-11-26 23:20:45 -05:00
POLICY.md Create SECURITY.md based on POLICY.md 2021-05-30 21:41:35 -04:00
README.md include BCrypt on Windows 2022-02-27 17:59:58 +00:00
RELEASING.md fix typo 2021-09-25 23:16:16 +00:00
SECURITY.md Create SECURITY.md based on POLICY.md 2021-05-30 21:41:35 -04:00

TaskChampion

TaskChampion is an open-source personal task-tracking application. Use it to keep track of what you need to do, with a quick command-line interface and flexible sorting and filtering. It is modeled on TaskWarrior, but not a drop-in replacement for that application.

See the documentation for more!

Status

TaskChampion currently functions as a "testbed" for new functionality that may later be incorporated into TaskWarrior. It can be developed without the requirements of compatibliity, allowing us to explore and fix edge-cases in things like the replica-synchronization model.

While you are welcome to help out, you should do so with the awareness that your work might never be used. But, if you just want to get some practice with Rust, we'd be happy to have you.

Structure

There are five crates here:

Code Generation

The taskchampion_lib crate uses a bit of code generation to create the lib/taskchampion.h header file. To regenerate this file, run cargo xtask codegen.

C libraries

The taskchampion-lib crate generates libraries suitable for use from C (or any C-compatible language).

The necessary bits are:

  • a shared object in target/$PROFILE/deps (e.g., target/debug/deps/libtaskchampion.so)
  • a static library in target/$PROFILE (e.g., target/debug/libtaskchampion.a)
  • a header file, lib/taskchampion.h.

Downstream consumers may use either the static or dynamic library, as they prefer.

NOTE: on Windows, the "BCrypt" library must be included when linking to taskchampion.

Documentation Generation

The mdbook configuration contains a "preprocessor" implemented in the taskchampion-cli crate in order to reflect CLI usage information into the generated book. Tihs preprocessor is not built by default. To (re)build it, run cargo build -p taskchampion-cli --features usage-docs --bin usage-docs.