conditional compilation
optional `autoupdate` feature
use feature instead of cfg to avoid recompiling everything
wip
fix include
models/spec wip
generate models.rs
store generated rust in git
update autogen feature deps
grab specs from online
fixes
route
everything except endpoints now
cleanup codegen
preserve schema map order
cleanup meta.rs
final codegen in build.rs
cleanup endpoints codegen
build and docs tidying
document build info
for clippy
cfgs actually working now, oops
cleanup bare urls for rustdoc
newtype enum fix
rephrase docs
- Set `RUST_BACKTRACE = "full"`, `RUST_LOG = "info,riven=debug"` in
`.cargo/config.toml` instead of everywhere
- Remove unmaintained `actions-rs` from CI
- Use `#[doc = include_str!(...)]` for including README.md in lib.rs,
instead of awkward codegen
- Update README.md features: `metrics`, clarify `log`/`tracing`,
development testing note
- `Cargo.toml` add `[target.'cfg(docsrs_deps)'.dependencies]` for
doc-linked deps.
- `Cargo.toml` do not include example proxy in publish
- Cleanup `.vscode/settings.json`
- Regen for `crate::consts::TournamentRegion` back in use
Using [`eserde`](https://github.com/mainmatter/eserde) at least for
testing makes it much, much easier to find all the schema changes Riot
makes every other Wednesday, and therefore makes this and
https://github.com/MingweiSamuel/riotapi-schema easier to maintain.
Example of error output:
```rust
Failed to get match JP1_498473890: Riot API request failed after 0 retries with status code Some(200).
Deserialization error: Something went wrong during deserialization:
- info.participants[0].PlayerScore2: invalid type: floating point `732.5479125976562`, expected i32 at line 1 column 1795
- info.participants[0].PlayerScore3: invalid type: floating point `0.3532763719558716`, expected i32 at line 1 column 1829
- info.participants[0].PlayerScore4: invalid type: floating point `-0.8999999761581421`, expected i32 at line 1 column 1864
- info.participants[0].PlayerScore5: invalid type: floating point `1428.712158203125`, expected i32 at line 1 column 1897
- info.participants[0].PlayerScore6: invalid type: floating point `3546.9150390625`, expected i32 at line 1 column 1928
- info.participants[0].PlayerScore7: invalid type: floating point `848.3316650390625`, expected i32 at line 1 column 1961
- info.participants[0].PlayerScore8: invalid type: floating point `23.0013484954834`, expected i32 at line 1 column 1993
- info.participants[0].missions.playerScore2: invalid type: floating point `732.5479125976562`, expected i32 at line 1 column 6427
- info.participants[0].missions.playerScore3: invalid type: floating point `0.3532763719558716`, expected i32 at line 1 column 6461
- info.participants[0].missions.playerScore4: invalid type: floating point `-0.8999999761581421`, expected i32 at line 1 column 6496
- info.participants[0].missions.playerScore5: invalid type: floating point `1428.712158203125`, expected i32 at line 1 column 6529
- info.participants[0].missions.playerScore6: invalid type: floating point `3546.9150390625`, expected i32 at line 1 column 6560
- info.participants[0].missions.playerScore7: invalid type: floating point `848.3316650390625`, expected i32 at line 1 column 6593
- info.participants[0].missions.playerScore8: invalid type: floating point `23.0013484954834`, expected i32 at line 1 column 6625
```
Fix#77
* Check MSRV in CI
* Lower MSRV to 1.71.1 by gating `allow(..., reason = "...")`
* Sets all min dependency crate versions needed by riven, via `-Z
direct-minimal-versions`
* Adds `test-min-deps.bash` script to run `-Z direct-minimal-versions`
* Removes underutilized `scan_fmt` dependency, replaces with simple
string manipulation code