我们使用机器学习技术将英文博客翻译为简体中文。您可以点击导航栏中的“中文(简体)”切换到英文版本。
使用 Smithy Init 创建 Smithy 项目
Smithy 团队很高兴地宣布在 Sm
初始化
命令。 此命令使开发人员能够快速轻松地创建新的 Smithy 项目。
在引入 Smithy init
命令之前,开发人员必须仔细遵循开发者指南或博客文章来设置他们的 Smithy 项目。这包括复制和粘贴代码片段,以及创建各种文件和目录。随着 初
始化 命令的引入,开发人员可以使用单个命令来创建包含所有必要的 Smithy 文件、配置文件和目录的项目,所有这些文件都是根据他们的用例量身定制的。新的 初始
化 命令简化了开发者开始使用 Smithy 的体验,而且由于它基于模板创建项目,因此不易出错。 ini
t 命令提供的模板可以满足不同的项目需求,也可以作为很好的示例。开发人员可以使用这些模板来探索不同的项目设置并了解 Smithy 的各种功能。
什么是史密斯?
什么是 Smithy CLI?
入门
如果你之前没有安装过 Smithy CLI,请按照
mithy--version 来验证版本
是否为 1.
36.0 或更高版本。如果使用 Homebrew 来安装 Smithy CLI,则可以通过在终端中运行 brew upgrade smithy-cli
将其更新到最新版本。否则,请参阅
安装了 Smithy CLI 后,你可以使用 --
help 标志查看 初始化
命令的帮助信息:
$ smithy init --help
Usage: smithy init [--help | -h] [--debug]
[--quiet] [--no-color]
[--force-color] [--stacktrace]
[--logging LOG_LEVEL]
[--template | -t quickstart-cli]
[--url https://github.com/smithy-lang/smithy-examples.git]
[--output | -o new-smithy-project]
[--list | -l]
Initialize a smithy project using a template
接下来,我们将演示如何使用 init
命令来创建新的 Smithy 项目。
创建一个新的 Smithy 项目
让我们通过调用 init 命令来
创建一个新项目:
$ smithy init --output ./new-smithy-project
Smithy project created in directory: new-smithy-project
这将在 news mithy-project 目录中创建一个新
项目:
$ tree ./new-smithy-project
./new-smithy-project
├── README.md
├── models
│ └── weather.smithy
└── smithy-build.json
默认情况下,初 始化
命令行工具将使用 quickstart
-cli 模板创建一个新项目。在下一节中,我们将查看可用的模板以及如何访问它们。
利用项目模板
init
命令提供了一系列满足不同需求的项目模板。每个模板都有自己的 s
要查看可用的模板及其各自的用例,可以运行带有 --lis
t 标志的 ini
t 命令:
$ smithy init --list
──────────────────────────── ──────────────────────────────────────────────────────────────────────
NAME DOCUMENTATION
──────────────────────────── ──────────────────────────────────────────────────────────────────────
common-linting-configuration Gradle project to create a package to define a common set of model
validations.
custom-annotation-trait Gradle project for creating a package for a custom annotation trait.
custom-linter Gradle project to create a custom, configurable model linter.
custom-string-trait Gradle project for creating a package for a custom string trait.
custom-structure-trait Gradle project for creating a package for a custom structure trait.
custom-validator Gradle project to create a custom model validator.
decorators Gradle project to create a custom decorator for validation events.
filter-internal-projection Projection that filters out internal shapes and traits.
quickstart-cli Smithy Quick Start example weather service using the Smithy CLI.
quickstart-gradle Smithy Quick Start example weather service using the
Smithy-Gradle-Plugin.
shared-model-package Gradle project to create a shared package of common Smithy models.
smithy-to-openapi Generate an OpenAPI spec from a Smithy model
quickstart-gradle
模板为气象服务创建一个项目。
--tem
pl ate 标志
调用初始化 命令:
$ smithy init --template quickstart-gradle --output ./my-new-service
Smithy project created in directory: my-new-service
这将在 my-new-service 目录中创建一个由 Smithy 模型文件、sm
ithy-build.json
文件和各种 Gradle 配置文件组成的项目:
$ tree ./my-new-service
./my-new-service
├── README.md
├── build.gradle.kts
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── models
│ └── weather.smithy
├── settings.gradle.kts
└── smithy-build.json
如你所见,初 始
化 命令简化了新 Smithy 项目的启动。我们鼓励您尝试其他模板,以了解有关不同项目设置和 Smithy 功能的更多信息!
模板存储库
初始化 命令会
检查 Smithy 的 smithy 示例 G it 存储库中提供的最新模板列表。
开发人员可以灵活地使用替代存储库来覆盖默认存储库。开发人员可能想要设置自己的模板存储库来共享特定于其产品或用例的 Smithy 模型。或者,他们可能想要创建一组私有模板以在组织内共享。
--url
参数指定自定义存储库:
$ smithy init --template some-common-package --url https://github.com/user/repo.git
Smithy project created in directory: some-common-package
初始化 命令需要
在存储库的根级别上有一 个 smithy-templates.json
文件。以下是史密斯
下一步是什么?
随着 Smithy init
命令现已可用,开发人员可以从一组精选的项目模板快速轻松地启动 Smithy 项目。开发人员还可以利用这些模板来探索不同的项目设置并了解 Smithy 的各种功能。
init 命令,
并在 GitHub 上 联系我们,告诉我们你的想法。
作者简介: