動作檔案
動作檔案為使用者定義命令提供支援。這些檔案採用 YAML 格式編寫,儲存在定義命令的目錄中。
有關使用者定義命令的目錄結構的更多資訊,請參閱動作檔案結構文件。
每個檔案包含一系列動作,這些動作按照檔案中定義的順序執行。動作執行開發者通常需要的任務,以幫助向當前專案新增或修改程式碼和配置。動作可以執行另一個可執行應用程式,這有助於自動化開發任務,例如使用供應商的 CLI 應用程式進行部署。
一個目錄中可以有多個動作檔案,它們按字母順序評估。
評估順序可能在未來版本中改變。 |
目前,只有少數動作可用,但許多原型動作很快就會推出。
動作列表如下:
-
generate - 建立一個新檔案。
-
inject - 將文字注入現有檔案中的特定位置。
-
inject-maven-dependency - 將依賴項條目附加到當前的 pom.xml 檔案。
-
inject-maven-plugin - 將 Maven 外掛條目附加到當前的 pom.xml 檔案
-
inject-maven-dependency-management - 將依賴項管理條目附加到當前的 pom.xml 檔案。
-
inject-maven-repository - 將倉庫條目附加到當前的 pom.xml 檔案
-
inject-properties - 將屬性附加到 Java 屬性檔案。
-
exec - 執行另一個程式。
入門示例
CLI 命令 command new
建立一個簡單的使用者定義命令,我們可以用它來演示動作檔案的組成部分。
spring command new --commandName hello --subCommandName create
Created user defined command /home/testing/rest-service/.spring/commands/hello/create
目錄結構如下:
$ tree .spring
.spring
└── commands
└── hello
└── create
├── command.yaml
└── hello.yaml
下面展示的 command.yaml
內容定義了一個名為 greeting
的命令列引數。此引數在 hello.yaml
動作檔案中使用。
command:
description: Generate a new file with a hello message
options:
#
- name: greeting
description: who or what to say hello to
dataType: string
defaultValue: World
inputType: text # TEXT
```
hello.yaml
的內容如下:
actions:
- generate:
to: hello.txt
text: Hello {{greeting}} on {{os-name}}.
理解動作檔案
為了幫助您理解如何使用 YAML 語法建立動作檔案,本節解釋了入門示例中的每一行。
程式碼 | 說明。 |
---|---|
actions |
將所有動作分組。 |
generate |
要執行的動作型別。例如,這種動作型別用於生成檔案。 |
to |
在檔案系統中生成檔案的位置。 |
text |
要生成的檔案內容。 |