Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/volvo-cars/cargo-indicate
Run GraphQL Queries on Your Rust Dependency Tree
https://github.com/volvo-cars/cargo-indicate
Last synced: about 1 month ago
JSON representation
Run GraphQL Queries on Your Rust Dependency Tree
- Host: GitHub
- URL: https://github.com/volvo-cars/cargo-indicate
- Owner: volvo-cars
- License: apache-2.0
- Created: 2023-06-16T12:15:56.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-28T21:44:38.000Z (about 1 year ago)
- Last Synced: 2024-11-17T10:38:49.530Z (about 2 months ago)
- Language: Rust
- Size: 579 KB
- Stars: 28
- Watchers: 1
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
🚨 cargo-indicate 🚨
Run GraphQL Queries on Your Rust Dependency Tree
[![Crates.io (cargo-indicate)](https://img.shields.io/crates/v/cargo-indicate)](https://crates.io/crates/cvars)
This is the result of a [Master's thesis written at LTH](https://lup.lub.lu.se/student-papers/record/9133685) in collaboration with
Volvo Cars by [Emil Eriksson](https://github.com/ginger51011).To get started, install `cargo-indicate` using
```
cargo install cargo-indicate
```and check out [the `cargo-indicate` docs](./cargo-indicate/README.md).
While `cargo-indicate` allows for experimenting, it might be a good idea to read
the conclusions in this thesis, as they provide guidance and context on how to
interpret the results, and provides context. The thesis also includes
explanation of the code and design decisions.This project relies heavily on
[`trustfall`](https://github.com/obi1kenobi/trustfall), the query engine behind
[`cargo-semver-checks`](https://github.com/obi1kenobi/cargo-semver-checks).## Project Structure
- [`indicate`](./indicate) is the library providing central functionality
- [`cargo-indicate`](./cargo-indicate/) is the cargo add-on itself## Caching of HTTP requests
While `indicate` will cache already made requests during one run, it will also
use the GitHub HTTP cache system, where ETags are used to verify if an API
request has changed since it was last made (perhaps in another invocation of
`indicate`). If it receives a `304 Not Changed`, it will use the `~/.github/`
directory to retrieve a cached version.