#terraform #version #syntax #constraint #calculator #compiler-version #match

terraform-version

用于 terraform 版本约束语法的解析器和匹配计算器

4 个版本 (重大更新)

0.4.0 2023年3月20日
0.3.0 2023年3月20日
0.2.0 2023年3月14日
0.1.0 2023年2月28日

开发工具 中排名第 822

Download history 4/week @ 2024-04-02 55/week @ 2024-04-09

每月下载量 130

MIT 许可证

15KB
215 代码行

terraform-version

pipeline status MIT licensed Crates.io

terraform-version 是一个用于 terraform 版本约束语法的简短解析器和匹配计算器。

它遵循 terraform 语义约束

[dependencies]
terraform-version = "0.4"

编译器支持:需要 rustc 1.67+

示例

use terraform_version::{Version, VersionRequirement, NumericIdentifiers};

fn main() {

    let version_req = VersionRequirement::parse("< 5.4.3, >= 1.2.3").unwrap();

    let version = Version::parse("1.2.3").unwrap();
    assert!(version.matches(&version_req));

    let version = Version::parse("5.4.4").unwrap();
    assert!(!version.matches(&version_req));


    let version_req = VersionRequirement::parse("= 1.2.3-beta").unwrap();

    let version = Version::parse("1.2.3-beta").unwrap();
    assert!(version.matches(&version_req));

    let version = Version {
        numeric_identifiers: NumericIdentifiers::new(vec![1, 2, 3]),
        suffix: None
    };
    assert!(!version.matches(&version_req));

}

许可证

terraform-version 在 MIT 许可证下提供。请参阅 LICENSE

依赖项

约 1-1.5MB
约 26K SLoC