Flutter命令行工具插件atmos_cli的使用
Flutter命令行工具插件atmos_cli的使用
Avila Tek Mobile Open Source (ATMOS) CLI
---
`atmos_cli` 是一个基于 `very_good_cli` 的命令行工具,专门为 Avila Tek 移动项目提供了额外的功能。
### 特殊功能
截至目前,`atmos_cli` 几乎与 `very_good_cli` 相同,但具有以下额外功能:
1. **创建 Flutter 应用**:它使用 `atmos_core` 模板,这与 `very_good_core` 稍有不同。
2. **扩展设置过程**:
- 使用 FVM 设置最新稳定的 Flutter 版本。
- 运行 `mason get` 并生成在项目中使用的基础砖块:`avilatek_readme`、`avila_codemagic`、`bootstrap_go_routes` 和 `avila_themes`。
- 提示用户设置 Firebase。这是 `atmos` 中最方便的功能!它将为所有环境(开发、预发布和生产)设置 Firebase,并配置 Dart、Android 和 iOS 的 Firebase 配置文件。在 iOS 中,会创建一个包含每个 `GoogleService-Info.plist` 文件的配置文件夹,并添加一个构建阶段脚本来使用正确的文件。在 Dart 中,会创建一个 `firebase_config.dart` 文件,其中包含每个环境的正确配置。这对开发者来说是一个巨大的时间节省!
- 最后,添加必要的依赖项并修复 Dart 分析问题。
### 文档 📝
官方文档请访问 [https://cli.vgv.dev](https://cli.vgv.dev)。
### 快速开始 🚀
#### 安装 🧑💻
```sh
dart pub global activate atmos_cli
或者安装特定版本:
dart pub global activate atmos_cli <version>
如果尚未设置路径,可能需要 设置路径。
在无法设置路径的情况下(例如 CI 环境),可以通过以下方式运行 atmos
命令:
dart pub global run atmos_cli:atmos <command> <args>
命令 ✨
atmos create
创建基于提供的模板的非常良好的项目。每个模板都有一个对应的子命令(例如,atmos create flutter_app
将生成一个 Flutter 启动应用)。
# 创建一个新的 Flutter 应用名为 my_app
atmos create flutter_app my_app
# 创建一个新的 Flutter 应用名为 my_app,带有一个自定义组织
atmos create flutter_app my_app --desc "My new Flutter app" --org "com.custom.org"
# 创建一个新的 Flutter 应用名为 my_app,带有一个自定义应用 ID
atmos create flutter_app my_app --desc "My new Flutter app" --application-id "com.custom.app.id"
# 创建一个新的 Flame 游戏名为 my_game
atmos create flame_game my_game --desc "My new Flame game"
# 创建一个新的 Wear OS 应用名为 my_wear_app
atmos create flutter_app my_wear_app --desc "My new Wear OS app" --template wear
# 创建一个新的 Flutter 包名为 my_flutter_package
atmos create flutter_package my_flutter_package --desc "My new Flutter package"
# 创建一个新的 Dart 包名为 my_dart_package
atmos create dart_package my_dart_package --desc "My new Dart package"
# 创建一个新的 Dart 包名为 my_dart_package,可发布
atmos create dart_package my_dart_package --desc "My new Dart package" --publishable
# 创建一个新的 Dart CLI 应用名为 my_dart_cli
atmos create dart_cli my_dart_cli --desc "My new Dart CLI package"
# 创建一个新的 Dart CLI 应用名为 my_dart_cli,带有一个自定义可执行文件名
atmos create dart_cli my_dart_cli --desc "My new Dart CLI package" --executable-name my_executable_name
# 创建一个新的 Flutter 插件名为 my_flutter_plugin(所有平台启用)
atmos create flutter_plugin my_flutter_plugin --desc "My new Flutter plugin"
# 创建一个新的 Flutter 插件名为 my_flutter_plugin(仅某些平台)
atmos create flutter_plugin my_flutter_plugin --desc "My new Flutter plugin" --platforms android,ios,macos
# 创建一个新的文档站点名为 my_docs_site
atmos create docs_site my_docs_site
atmos test
在 Dart 或 Flutter 项目中运行测试。
# 运行所有测试
atmos test
# 运行所有测试并收集覆盖率
atmos test --coverage
# 运行所有测试并强制 100% 覆盖率
atmos test --coverage --min-coverage 100
# 仅运行位于 ./some/other/directory 的测试
atmos test ./some/other/directory
# 递归运行测试
atmos test --recursive
# 递归运行测试(快捷方式)
atmos test -r
atmos packages get
在 Dart 或 Flutter 项目中获取包。
# 在当前目录安装包
atmos packages get
# 在 ./some/other/directory 安装包
atmos packages get ./some/other/directory
# 递归安装包
atmos packages get --recursive
# 递归安装包(快捷方式)
atmos packages get -r
atmos packages check licenses
检查 Dart 或 Flutter 项目中的包许可证。
# 在当前目录检查许可证
atmos packages check licenses
# 仅允许使用某些许可证
atmos packages check licenses --allowed="MIT,BSD-3-Clause,BSD-2-Clause,Apache-2.0"
# 拒绝使用某些许可证
atmos packages check licenses --forbidden="unknown"
# 检查某些依赖类型的许可证
atmos packages check licenses --dependency-type="direct-main,transitive"
atmos --help
查看完整的命令列表和使用信息。
🦄 A Very Good Command-Line Interface
Usage: atmos <command> [arguments]
Global options:
-h, --help Print this usage information.
--version Print the current version.
--[no-]verbose Noisy logging, including all shell commands executed.
Available commands:
create atmos create <subcommand> <project-name> [arguments]
Creates a new very good project in the specified directory.
packages Command for managing packages.
test Run tests in a Dart or Flutter project.
update Update Very Good CLI.
Run "atmos help <command>" for more information about a command.
完整示例
以下是如何使用 atmos_cli
创建一个新的 Flutter 应用的完整示例:
# 激活 Very Good CLI
dart pub global activate atmos_cli
# 查看可用命令列表
atmos --help
# 创建一个新的 Flutter 应用名为 my_app
atmos create flutter_app my_app
# 运行所有测试
atmos test
更多关于Flutter命令行工具插件atmos_cli的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter命令行工具插件atmos_cli的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,下面是一个关于如何在Flutter项目中使用命令行工具插件 atmos_cli
的示例代码和步骤。这个示例假定你已经有一个Flutter开发环境,并且已经创建了一个Flutter项目。
安装 atmos_cli
首先,你需要在你的全局环境中安装 atmos_cli
。你可以通过Dart的包管理工具 pub
来安装它。
dart pub global activate atmos_cli
安装完成后,你可以通过以下命令验证是否安装成功:
atmos --version
配置 Flutter 项目以使用 atmos_cli
虽然 atmos_cli
是一个命令行工具,但它通常与Flutter项目一起使用,用于处理一些特定的构建、部署或其他自动化任务。因此,你可能需要在你的 pubspec.yaml
文件中添加一些依赖(如果 atmos_cli
需要它们),但通常情况下,atmos_cli
作为一个独立的命令行工具使用,不需要在 pubspec.yaml
中特别声明。
使用 atmos_cli
假设 atmos_cli
提供了一些命令来管理你的项目环境,例如 atmos init
来初始化项目配置,atmos deploy
来部署项目等。下面是如何在命令行中使用这些命令的示例。
初始化项目配置
cd path/to/your/flutter/project
atmos init
这个命令会根据你的项目需求生成一些配置文件,例如 .atmosconfig
。
部署项目
atmos deploy --environment production
这个命令会根据你在 .atmosconfig
文件中定义的配置,将你的项目部署到生产环境。
示例:自动化脚本
你可以将 atmos_cli
命令集成到你的自动化脚本中,例如使用 Makefile
或 shell
脚本。下面是一个简单的 Makefile
示例:
# Makefile
# Initialize atmos configuration
init:
atmos init
# Deploy to production environment
deploy:
atmos deploy --environment production
# Clean up any generated files or caches
clean:
# Add your clean-up commands here
然后你可以通过以下命令来执行这些任务:
make init
make deploy
make clean
集成到 CI/CD 管道
你也可以将 atmos_cli
命令集成到你的持续集成/持续部署(CI/CD)管道中。以下是一个使用 GitHub Actions 的示例工作流文件 .github/workflows/deploy.yml
:
name: Deploy to Production
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Dart
uses: dart-lang/setup-dart@v1
- name: Install atmos_cli
run: dart pub global activate atmos_cli
- name: Deploy to production
run: atmos deploy --environment production
env:
# Add any required environment variables here
# For example, you might need API keys or other credentials
这个工作流会在每次将代码推送到 main
分支时触发,并执行部署命令。
请注意,上述代码示例是基于假设 atmos_cli
提供了 init
和 deploy
命令。实际使用时,你需要参考 atmos_cli
的官方文档来获取准确的命令和选项。