15 个版本 (9 个破坏性更新)
0.10.4 | 2024 年 1 月 6 日 |
---|---|
0.10.3 | 2023 年 10 月 22 日 |
0.10.0 | 2023 年 6 月 29 日 |
0.7.3 | 2023 年 2 月 8 日 |
0.4.0 | 2022 年 7 月 20 日 |
#135 在 压缩
每月 97 次下载
用于 ts-cli
42KB
917 行
timestudy
弗雷德里克·W·泰勒是个混蛋,但如果是为了自己的利益而做某事,跟踪你在活动上花费的时间还是很有帮助的。timestudy
为应用(例如,我一直在开发的CLI)提供了一个基础,以帮助你在这一过程中。它深受 Timewarrior 的启发。
有关组件文档,请参阅 docs.rs/timestudy。
存储
活动存储在用户数据目录中的文件中,在名为 "timestudy" 的新创建的子目录中。有关各种操作系统的数据目录位置,请参阅 dirs 组件。(在 Linux 上,文件位于 ~/.local/share/timestudy/activities
。)此外,还会存储与此文件相邻的备份("activities.bk")以及用于存档标签的文件("archived_tags")。
开发
请参阅 变更日志 了解每个版本所做的更改。功能、增强、错误、问题等都在 问题 中跟踪。然后这些被提炼成 里程碑。我打算定期更新下一个两个里程碑,作为思考并计划接下来要立即做的事情的方式。
测试
测试依赖于创建临时文件以及从该文件写入和读取。它位于运行测试的 OS 的临时目录中(例如 Linux 上的 /tmp)。单元测试通过具有 #[test]
属性来使用它,而集成测试则使用一个功能来访问此功能。
使用此库构建的客户端应在 Cargo.toml 文件的 dev-dependencies 部分指定此功能(test-utils
),并将可能更改存储活动的任何测试作为集成测试运行(即在 tests/ 目录中的文件,以终端用户的方式与客户端交互),以便它们使用临时文件来存储(以及可能更改或删除)活动,而不是用于存储用户活动的真实文件。否则,您可能在运行测试后发现您已经清除了您辛勤记录的活动。 是的,我一度就犯了这个错误。以下是 Cargo.toml 文件的有关部分。
[dependencies]
timestudy = "0.7" # or whatever the latest version is
[dev-dependencies]
timestudy = { version = "0.7", features = ["test-utils"] }
请注意,还有一个包含一些测试便利函数的模块,即 test_utils
(使用下划线,而不是像功能那样使用连字符)。
最后,测试必须连续运行而不是并行运行,因为在测试过程中临时数据文件会被反复创建和删除。这已在 .cargo/config.toml 文件中配置,客户端也应进行相同的设置。
依赖项
~1.3–2.4MB
~40K SLoC