5 个稳定版本
2.1.0 | 2019年11月23日 |
---|---|
2.0.0 | 2019年9月27日 |
1.0.2 | 2019年9月20日 |
在 命令行工具 中排名 #1967
每月下载次数:31
105KB
539 行(不包括注释)
licensor
将许可证写入标准输出
关于
给定其 SPDX ID,将许可证写入标准输出。对于包含版权持有者名称的许可证,可以提供可选的名称。如果找不到提供的 ID,将建议类似的 ID。许可证全部编译到二进制文件中。
功能
- 简单
- 许可证直接来自 SPDX,没有稍作编辑的模板
- 单个二进制文件,许可证在编译时包含在内
- 支持
WHERE
异常表达式 - 可以跳过版权声明,这是伯尔尼公约允许的
- 添加新的许可证只需编辑一个 JSON 文件
原因
我厌倦了为新项目寻找许可证文件浪费时间。
用法
以下是一些用法示例,以获得对整个工作的总体了解。对于详细用法,只需传递 --help
标志。
将 MIT 许可证和版权声明写入 LICENSE
$ licensor MIT "Raphaël Thériault" > LICENSE
将 Apache 2.0 许可证和 LLVM 异常写入 LICENSE
,跳过可选部分
$ licensor "Apache-2.0 WITH LLVM-exception" --skip-optional > LICENSE
打印无版权声明的 BSD 3 条款许可证
$ licensor BSD-3-Clause
列出可用的许可证
$ licensor --licenses
安装
有几种安装选项。
欢迎您在其他平台上分发此软件,如果您这样做,请不要犹豫,提出一个 PR 来更新本节!
版本
Crates.io
$ cargo install licensor
AUR
$ yay -S licensor-git
可用的许可证和异常
见 列表。
贡献
欢迎贡献者。如果您看到任何可以修复/改进的内容或有一个新功能想法,只需打开一个 issue 或 PR!
然而,尽量保持主 CLI 简单和轻量。如运行时添加许可证/异常或验证许可证等功能目前未计划,也不会添加。
添加许可证
如果您想将许可证添加到列表中,可以打开一个 issue 或自己添加,这相当简单。
要添加许可证,只需将其添加到 resources/licenses.json
,遵循resources/licenses-schema.json
中提供的模式。要将更改应用到主CLI,您还需要按顺序运行cargo run -p licensor_fetch
和cargo run - licensor_codegen
。要获取所需信息,请参考SPDX许可证列表。
异常情况也是如此。
工作原理
首先,从SPDX许可证列表中解析出资源文件中指定的许可证和异常,然后使用licensor_fetch子crates进行gzip压缩。然后,根据解析出的许可证自动生成codegen.rs文件,使用licensor_codegen子crates,并将其包含在CLI中。
最后,独立构建主CLI,这使得最终用户构建时间相对较快,并且只需要主CLI的依赖项,而不需要辅助子crates的依赖项。
鸣谢
感谢在/r/rust subreddits上提供宝贵反馈和提示的出色的人们,他们表现出了比预期更多的热情。
许可证
licensor
遵循MIT许可证。
依赖项
~4.5MB
~78K SLoC