#rules #review #dsl #json #running #js #version

bin+lib danger

使用 Rust 创建 Danger 规则

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2018年12月18日

#20 in #review

自定义许可证

26KB
312

Rust 中的 Danger

Build Status

这是在 Rust 中运行 Danger 的最小版本。它是一个 cargo 模块,它期望使用来自 Danger JS 的 JSON DSL,并提供了从应用程序内部与其交互的类型安全方式。

screenshots/wip1.png

下一步

  • 确定在其他人 CI 上运行的方法
  • 编译 Rust dangerfile danger.rs 并将其注入额外的运行时工作(传递数据输入/输出)
  • 创建 ciprlocal 的命令
  • 错误处理

我从零开始学习,所以,其中一些可能需要相当长的时间。

贡献

构建 Danger

cargo run --bin danger-rust

在开发中运行 Danger

这是测试事物如何工作的方法

# Pipe the JSON in and potentially compile + exec
cat fixtures/danger-js-697.json | cargo run --bin danger-rust

# Or, build then compile

# build the binary
cargo build --bin danger-rust
# Run it and pipe in the JSON to STDIN
cat fixtures/danger-js-697.json | ./target/debug/danger-rust

脚本

从 Danger 的 DSL 的 JSON 模式中更新 Rust 类型

cargo run --bin update_types

获取一个 Danger JS 进入 JSON 示例

# uses danger-js the `--dangerfile xxyy` is a bug
danger pr https://github.com/danger/danger-js/pull/697 --json > fixtures/danger-js-697.json --dangerfile LICENSE

依赖关系

~4–15MB
~220K SLoC