

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# FreeRTOS 資訊清單檔案指示
<a name="afq-checklist-manifest-instr"></a>

需要資訊清單檔案 AWS IoT Device Tester ，才能識別正在使用的版本和程式庫。它可協助客戶描述版本、程式庫相依性和中繼資料。

檔案應符合下列要求：
+ 這個檔案必須命名為 `manifest.yml`。
+ 它必須位於程式庫或套件的基本資料夾中。
+ 它必須是 YAML 格式，並遵循 [YAML 1.2 規格。](https://yaml.org/spec/1.2/spec.html)

這些參數可以按任何順序排列，但我們建議您按照下列順序排列，以獲得最佳的可讀性。將註解新增至 檔案，協助客戶使用您的套件。

**檔案路徑**  
位於套件或程式庫的根目錄。每個套件只有一個資訊清單檔案。引入的相依性可能有自己的資訊清單檔案。

**Parameters**    
**name**  
套件的名稱。所有空格都應該以底線 (\$1) 取代。例如， `My project name - 2020`應該變更為 `My_project_name_-_2020`。  
+ 類型：字串
+ 必要： true
+ minLength：1
+ maxLength：40  
**version**  
套件的版本。版本可以是發行版本或版本標籤。  
+ 類型：字串
+ 必要： true
+ minLength：1
+ maxLength：30  
**description**  
套件的人類可讀描述。描述應該清楚描述什麼是套件及其提供的內容。  
+ 類型：字串
+ 必要： true
+ minLength：30
+ maxLength：255  
**dependencies**  
使用者成功建置此套件所需的所有第一級相依性清單，可由 Git、Subversion 或 Mercurial 原始程式碼主機擷取。請勿包含無法透過 Git、SVG 或 hg 取得的相依性。請勿包含用於測試、文件產生或開發的相依性。為了提升良好的體驗，我們建議您避免列出鎖定或私有的相依性。  
+ 類型：陣列
+ 必要：false
+ minLength：0  
**dependencies【】.name**  
相依性的套件名稱。這必須符合相依性`name`參數中找到的套件名稱。  
+ 類型：字串
+ 必要： true
+ minLength：1
+ maxLength：40  
**dependencies【】.version**  
相依性的版本。版本可以是發行版本或版本標籤。如果套件本身包含任何相依性，則版本必須與相依性中的資訊清單檔案相符。  
+ 類型：字串
+ 必要： true
+ minLength：1
+ maxLength：30  
**dependencies【】.repository**  
描述相依性原始碼的位置。  
+ 類型：字典
+ 必要： true  
**dependencies【】.repository.type**  
儲存庫的類型。  
+ 類型：字串
+ 必要： true
+ 列舉：【git、svn、hg】  
**dependencies【】.repository.url**  
儲存庫位置的 URL。這必須是具有通訊協定字首的完整 URL （例如，https://github.com/*ACCOUNT\$1NAME*/*REPO\$1NAME*)。  
+ 類型：字串
+ 必要： true  
**dependencies【】.repository.path**  
來自專案工作區的相依性相對路徑。  
+ 類型：字串
+ 必要： true  
**dependencies【】.repository.branch**  
使用的相依性分支。如果套件使用程式庫的發行分支，請勿包含此參數，以將資訊清單的長度保持在最短。  
+ 類型：字串
+ 必要：false  
**license**  
程式庫的 SPDX 授權識別符。如需完整清單，請參閱 https：//[https://spdx.org/licenses/](https://spdx.org/licenses/)。如果存在，它應該符合儲存庫根中包含`LICENSE`的檔案。  
+ 類型：字串
+ 必要： true

# manifest.yml 範例
<a name="afq-checklist-manifest-example"></a>

```
---
# This is an example of the manifest file that is included at the root of all FreeRTOS GitHub repositories.

name : "Project_Name"
version: "202012.00-LTS"
description: "Clear concise description of this project."         

dependencies:
  - name: "dependency_1"
    version: "v1.0.0"
    repository:
      type: "git"
      url: "https://github.com/account/dependency_1"
      path: "/relative/path/from/project/root/to/dependency_1"
      branch: "1.x"
  - name: "dependency_2"
    version: "v1.0.1_LTS"
    repository:
      type: "git"
      url: "https://github.com/account/dependency_1"
      path: "/relative/path/from/project/root/to/dependency_2"

license: "MIT"
```