Flutter命令行工具插件atmos_cli的使用

发布于 1周前 作者 phonegap100 来自 Flutter

Flutter命令行工具插件atmos_cli的使用

Avila Tek Mobile Open Source (ATMOS) CLI

CI Coverage Pub Version Analysis License


---

`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

1 回复

更多关于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 命令集成到你的自动化脚本中,例如使用 Makefileshell 脚本。下面是一个简单的 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 提供了 initdeploy 命令。实际使用时,你需要参考 atmos_cli 的官方文档来获取准确的命令和选项。

回到顶部