使用Rust实现systemd配置文件解析工具
Gitee Issue
开发指导
参考:https://gitee.com/openeuler/open-source-summer/issues/I6XKVU?from=project-issue
当前rust支持toml格式,systemd与toml格式有不少异同,例如,
- systemd的所有值不需要添加引号,
- 对于特定的值解析方式不同,date、time、bool等类型
因此该题目详细的实现要求如下:
- 能够识别解析.service,.socket, .target, .mount等systemd支持的后缀
- 将配置文件中的键值对,加载并解析成对应的数据结构,可直接使用,参赛者无须关心使用者如何定义该struct。譬如
1 |
|
- 该题目重点是提供类似如下宏的使用方式,
#[derive(Config)]
, 可参考confique的实现。 - 对于不支持的键和值类型,给出告警信息,如不符合systemd date类型的值。
- 可选的提供一个简单的命令行界面,让用户可以输入配置文件路径并查看解析结果。便于调试和用户校验。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 The Coding Odyssey | Chronicles of a Software Developer!