动作文件
动作文件为用户定义命令提供支持。这些文件采用 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 |
要生成的文件内容。 |