taskwarrior/rust
dependabot[bot] 4d3c407db5 Bump serde from 1.0.139 to 1.0.140
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.139 to 1.0.140.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.139...v1.0.140)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-21 19:06:01 -04:00
..
.cargo move contents of taskchampion repo to tc/ 2022-05-08 19:39:02 +00:00
.changelogs move contents of taskchampion repo to tc/ 2022-05-08 19:39:02 +00:00
docs remove docs about taskchampion-cli 2022-05-25 20:55:18 -04:00
integration-tests Bump env_logger from 0.8.4 to 0.9.0 2022-05-29 21:00:27 -04:00
lib add missing unsafe block 2022-05-28 08:37:00 -04:00
scripts move contents of taskchampion repo to tc/ 2022-05-08 19:39:02 +00:00
sync-server Bump serde from 1.0.139 to 1.0.140 2022-07-21 19:06:01 -04:00
taskchampion Bump serde from 1.0.139 to 1.0.140 2022-07-21 19:06:01 -04:00
xtask Bump cbindgen from 0.23.0 to 0.24.3 2022-06-11 22:20:00 -04:00
.gitignore Update GitHub actions to work in Taskwarrior 2022-05-08 20:06:05 +00:00
build-docs.sh remove docs about taskchampion-cli 2022-05-25 20:55:18 -04:00
CHANGELOG.md move contents of taskchampion repo to tc/ 2022-05-08 19:39:02 +00:00
CODE_OF_CONDUCT.md move contents of taskchampion repo to tc/ 2022-05-08 19:39:02 +00:00
CONTRIBUTING.md move contents of taskchampion repo to tc/ 2022-05-08 19:39:02 +00:00
LICENSE move contents of taskchampion repo to tc/ 2022-05-08 19:39:02 +00:00
POLICY.md move contents of taskchampion repo to tc/ 2022-05-08 19:39:02 +00:00
README.md remove docs about taskchampion-cli 2022-05-25 20:55:18 -04:00
RELEASING.md move contents of taskchampion repo to tc/ 2022-05-08 19:39:02 +00:00
SECURITY.md move contents of taskchampion repo to tc/ 2022-05-08 19:39:02 +00: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

NOTE: support for linking against taskchampion is a work in progress. Contributions and pointers to best practices are appreciated!

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.

As a Rust dependency

If you would prefer to build Taskchampion directly into your project, and have a build system capable of building Rust libraries (such as CMake), the taskchampion-lib crate can be referenced as an rlib dependency.