99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Cargo 外部工具

2021-09-27 14:27 更新

外部工具

外部工具

Cargo 的目標(biāo)之一是與第三方工具(如 IDE 和其他構(gòu)建系統(tǒng))的簡單集成。為了簡化集成,Cargo 有幾個設(shè)施:

  • 一個cargo metadata命令,以 JSON 格式輸出包結(jié)構(gòu)和依賴關(guān)系信息,

  • 一個--message-format標(biāo)志,輸出有關(guān)特定構(gòu)建的信息,以及

  • 支持自定義子命令.

關(guān)于包結(jié)構(gòu)的信息

包結(jié)構(gòu)的資料

您可以使用cargo metadata命令,以獲取有關(guān)包結(jié)構(gòu)和依賴關(guān)系的信息。命令的輸出如下所示:

{
  // Integer 版本格式數(shù)字.
  "version": integer,

  // 工作區(qū)包的列表, 包括 依賴項.
  "packages": [
    {
      // 包 識別id 隊列.
      "id": PackageId,

      "name": string,

      "version": string,

      "source": SourceId,

      // 確認(rèn)依賴的一個列表, 可看 `resolve` 字段中的真實依賴.
      "dependencies": [ Dependency ],

      "targets: [ Target ],

      //  Cargo.toml 路徑
      "manifest_path": string,
    }
  ],

  "workspace_members": [ PackageId ],

  // 依賴 關(guān)系圖.
  "resolve": {
     "nodes": [
       {
         "id": PackageId,
         "dependencies": [ PackageId ]
       }
     ]
  }
}

格式穩(wěn)定且有版本化。調(diào)用cargo metadata時,你應(yīng)該通過--format-version明確標(biāo)記,以避免向前不兼容的危險。

如果你正在使用 Rust,這有個cargo_metadata箱.

構(gòu)建信息

關(guān)于構(gòu)建的資料

傳遞--message-format=json給,Cargo, 將在構(gòu)建期間輸出以下信息:

  • 編譯器錯誤和警告,

  • 制作的工件,

  • 構(gòu)建腳本的結(jié)果(例如,本機依賴項).

輸出以每行格式的 JSON 對象轉(zhuǎn)到 stdout。reason字段區(qū)分不同類型的消息.

有關(guān) Makefile 兼容格式的依賴關(guān)系的信息存儲在工件旁的.d文件中。

自定義子命令

自定義的子命令

Cargo 設(shè)計為,可以使用新的子命令進(jìn)行擴展,而無需修改 Cargo 本身。這是通過轉(zhuǎn)化一個 cargo (?<command>[^ ]+)的命令調(diào)用,變化為調(diào)用外部工具cargo-${command}來實現(xiàn)的。外部工具必須存在于用戶其中一個$PATH目錄中.

當(dāng) Cargo 調(diào)用自定義子命令時,子命令的第一個參數(shù)將像往常一樣是自定義子命令的文件名。第二個參數(shù)將是子命令名稱本身。例如,在調(diào)用cargo-${command}時,第二個參數(shù)是${command}。命令行上的其他所有參數(shù)將保持不變.

Cargo 還可以用cargo help ${command}顯示自定義子命令的幫助輸出。Cargo 假定子命令將在第三個參數(shù)出現(xiàn)時,打印幫助消息--help.所以,cargo help ${command}會調(diào)用cargo-${command} ${command} --help.

自定義子命令可以使用CARGO環(huán)境變量回調(diào) Cargo?;蛘?,它可以鏈接到作為一個庫的cargo箱,但這種方法有缺點:

  • Cargo 作為庫是不穩(wěn)定的:API 可能會更改,但不會棄用

  • 鏈接的 Cargo 庫的版本可能與 Cargo 二進(jìn)制文件不同



以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號