Flutter Git操作插件gits_cli的使用

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

Flutter Git操作插件gits_cli的使用

1. 简介

gits_cli 是一个用于Gits Flutter项目的Dart命令行工具,它提供了多种命令来简化Flutter项目的开发、构建和测试过程。通过gits_cli,开发者可以更高效地管理项目依赖、运行项目、生成配置文件、执行代码分析等。

2. 安装

要安装gits_cli,请确保您的系统已安装Dart SDK 3.0.0或更高版本。推荐使用VSCode作为开发环境。

安装步骤如下:

# 安装 gits_cli
dart pub global activate gits_cli

# 检查是否安装成功
gits_cli -v

如果命令行中找不到gits_cli,请根据您的操作系统将以下路径添加到系统的PATH环境变量中:

  • macOS或Linux: HOME/.pub-cache/bin
  • Windows: %LOCALAPPDATA%\Pub\Cache\bin

3. 使用示例

3.1 初始化项目

在项目根目录下运行以下命令来初始化项目,生成gits.yaml配置文件:

gits_cli init

该命令仅在gits.yaml文件不存在时生效。

3.2 生成VSCode配置文件

如果您使用VSCode作为开发工具,可以通过以下命令生成.vscode/launch.json.vscode/tasks.json文件:

gits_cli config

VSCode Config

3.3 获取依赖

获取项目中的所有依赖项及其传递依赖:

gits_cli get
3.4 升级依赖

升级项目中的依赖项到最新版本:

# 升级所有依赖
gits_cli upgrade -a

# 升级特定依赖
gits_cli upgrade -d
3.5 运行项目

运行项目时,可以根据不同的环境和版本进行配置。默认情况下,项目会在dev环境中以release模式运行:

# 默认运行 dev 环境的 release 版本
gits_cli run

# 在 staging 环境中以 release 模式运行
gits_cli run --release -f stag

# 在 production 环境中以 debug 模式运行
gits_cli run --debug -f prod
3.6 代码分析

对项目中的所有包进行代码分析:

gits_cli analyze
3.7 运行单元测试

运行项目中的所有单元测试:

gits_cli test
3.8 运行集成测试

运行设备上的集成测试:

# 运行单个集成测试
gits_cli drive

# 运行所有集成测试
gits_cli test-drive
3.9 代码覆盖率

计算代码覆盖率(前提是所有测试均已通过):

gits_cli coverage
3.10 格式化代码

自动格式化Dart文件,移除未使用的导入并添加必要的修饰符:

gits_cli format
3.11 清理项目

删除l10nbuild/.dart_tool/目录中的文件:

gits_cli clean
3.12 Cucumber测试

首先需要下载gherkin可执行文件,并确保其已导出到系统路径中。设置完成后,可以运行Cucumber测试:

# 运行所有Cucumber测试
gits_cli cucumber

# 运行特定功能的Cucumber测试
gits_cli cucumber login

# 运行多个功能的Cucumber测试
gits_cli cucumber login,register,home

# 指定环境运行Cucumber测试
gits_cli cucumber --flavor stag

4. 构建项目

4.1 构建Android APK

构建Android APK文件,默认情况下会在staging环境中以release模式构建:

# 构建 dev 环境的 profile 模式 APK
gits_cli build apk --profile -f dev

# 构建 prod 环境的 release 模式 APK,并指定自定义名称
gits_cli build apk --release -f prod --build-name my_app
4.2 构建Android App Bundle

构建Android App Bundle文件,默认情况下会在staging环境中以release模式构建:

# 构建 dev 环境的 profile 模式 AAB
gits_cli build appbundle --profile -f dev

# 构建 prod 环境的 release 模式 AAB,并指定自定义名称
gits_cli build appbundle --release -f prod --build-name my_app
4.3 构建iOS IPA

构建iOS IPA文件,默认情况下会在staging环境中以release模式构建:

# 构建 dev 环境的 profile 模式 IPA
gits_cli build ipa --profile -f dev

# 构建 prod 环境的 release 模式 IPA,并指定自定义名称
gits_cli build ipa --release -f prod --build-name my_app
4.4 构建iOS App Bundle

构建iOS应用包,该命令仅在macOS上有效:

# 构建 dev 环境的 profile 模式 iOS 应用包
gits_cli build ios --profile -f dev

# 构建 prod 环境的 release 模式 iOS 应用包,并指定自定义名称
gits_cli build ios --release -f prod --build-name my_app

5. 生成命令

5.1 生成Firebase配置文件

生成Firebase配置文件到各个平台的文件夹中:

gits_cli firebase

确保firebase/文件夹中的google-services.jsonGoogleService-Info.plist文件与项目配置一致。

5.2 生成多语言文件

生成多语言文件(l10n),路径为assets/assets/l1on/

gits_cli l10n

更多关于Flutter Git操作插件gits_cli的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter Git操作插件gits_cli的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,下面是一个关于如何在Flutter项目中使用gits_cli插件进行Git操作的代码示例。gits_cli插件允许你在Flutter应用中执行Git命令。

首先,确保你已经在pubspec.yaml文件中添加了gits_cli依赖:

dependencies:
  flutter:
    sdk: flutter
  gits_cli: ^x.y.z  # 请替换为最新版本号

然后运行flutter pub get来安装依赖。

接下来,你可以在Flutter应用中通过gits_cli执行Git命令。以下是一个简单的示例,展示了如何使用gits_cli来检查Git版本和执行Git status命令:

import 'package:flutter/material.dart';
import 'package:gits_cli/gits_cli.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String gitVersion = '';
  String gitStatus = '';

  @override
  void initState() {
    super.initState();
    _checkGitVersion();
    _getGitStatus();
  }

  Future<void> _checkGitVersion() async {
    try {
      var result = await GitCli.run(['--version']);
      setState(() {
        gitVersion = result.stdout;
      });
    } catch (e) {
      setState(() {
        gitVersion = 'Error: ${e.message}';
      });
    }
  }

  Future<void> _getGitStatus() async {
    try {
      var result = await GitCli.run(['status']);
      setState(() {
        gitStatus = result.stdout;
      });
    } catch (e) {
      setState(() {
        gitStatus = 'Error: ${e.message}';
      });
    }
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Git CLI Example'),
        ),
        body: Padding(
          padding: const EdgeInsets.all(16.0),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            children: <Widget>[
              Text('Git Version:', style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold)),
              Text(gitVersion, style: TextStyle(fontSize: 16)),
              SizedBox(height: 20),
              Text('Git Status:', style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold)),
              Text(gitStatus, style: TextStyle(fontSize: 16)),
            ],
          ),
        ),
      ),
    );
  }
}

在这个示例中,我们做了以下几件事:

  1. pubspec.yaml中添加gits_cli依赖。
  2. MyAppinitState方法中调用_checkGitVersion_getGitStatus方法。
  3. _checkGitVersion方法使用GitCli.run(['--version'])来检查Git的版本,并将结果存储在gitVersion变量中。
  4. _getGitStatus方法使用GitCli.run(['status'])来获取Git的状态,并将结果存储在gitStatus变量中。
  5. 在UI中显示Git版本和Git状态。

请注意,这个示例假设你的Flutter项目在一个Git仓库中,否则git status命令可能不会返回有用的信息。另外,在实际应用中,你可能需要处理更多的错误情况和边界情况。

回到顶部