github.com/joey-fossa/fossa-cli@v0.7.34-0.20190708193710-569f1e8679f0/docs/integrations/rust.md (about)

     1  # Rust
     2  
     3  ## Support
     4  
     5  Rust support relies on the presence of the `Cargo.lock` and `Cargo.toml` files.
     6  
     7  ## Configuration
     8  
     9  ### Automatic
    10  
    11  Run `fossa init` to detect all directories that contain `Cargo.lock`.
    12  
    13  ### Manual
    14  
    15  Add a module with `type: cargo`, and `target` and `dir` set to the directory where `Cargo.lock` is.
    16  
    17  ```yaml
    18  analyze:
    19    modules:
    20      - name: cargo-project
    21        type: cargo
    22        target: rust/root
    23        dir:  rust/root
    24  ```
    25  
    26  ## Analysis
    27  
    28  Rust analysis is a simple three step process:
    29  
    30  1. Parse `Cargo.lock` and retrieve information about the full dependency tree and each dependency's resolved version.
    31  2. Read the [root crate](https://doc.rust-lang.org/cargo/reference/manifest.html#the-workspace-section)'s `Cargo.toml` and detect if any "member" crates exist.
    32  3. Parse all `Cargo.toml` files to retrieve information about which dependencies are declared.