Flutter版本管理插件built_version的使用

Flutter版本管理插件built_version的使用

built_version简介

Provides Dart build systems for generating a package version string accessible at compile time.

该插件通过Dart构建系统在编译时生成一个包版本字符串。

The builder生成代码时会查找由package:built_version_annotation定义的类所注解的成员。

设置

要开始使用built_version,首先需要添加依赖项到项目的pubspec.yaml文件中:

dependencies:
  built_version_annotation: ^x.x.x  # 替换为最新版本号

dev_dependencies:
  build_runner: ^x.x.x            # 替换为最新版本号
  built_value_generator: ^x.x.x   # 替换为最新版本号

然后运行以下命令以获取依赖项:

flutter pub get

示例

示例代码

假设有一个名为example.dart的库,其中包含一个使用BuiltVersion注解的getter:

// 导入built_version_annotation包
import 'package:built_version_annotation/built_version_annotation.dart';

// 使用part声明生成的代码文件
part 'example.g.dart';

// 使用BuiltVersion注解标记getter
@BuiltVersion()
String get version => _$PackageVersion;

生成代码

运行以下命令以生成对应的example.g.dart文件:

dart run build_runner build

生成后的example.g.dart文件内容如下:

// 导入example.dart文件
part of 'example.dart';

// 定义_$PackageVersion函数,返回版本号
String get _$PackageVersion => '1.0.0';

_$PackageVersion的值将从项目的pubspec.yaml文件中的版本号获取。

运行代码生成器

在添加注解后,需要运行代码生成器来生成缺失的.g.dart文件。执行以下命令:

dart run build_runner build

注解

唯一可用的注解是[BuiltVersion]()。当应用于getter时,会在构建时生成_$PackageVersion代码。

动机

为什么选择package:built_version而不是package:package_info_plus?此包提供了在编译时可访问的值,该值来自pubspec.yaml中的版本代码。此值适用于单个插件/包,而package_info_plus则从当前运行的应用程序中获取值。


完整示例代码

pubspec.yaml

name: example_project
version: 1.0.0
description: A sample project using built_version.
dependencies:
  flutter:
    sdk: flutter

dev_dependencies:
  build_runner: ^2.1.7
  built_value_generator: ^8.1.0
  built_version_annotation: ^0.2.0

example.dart

import 'package:built_version_annotation/built_version_annotation.dart';

part 'example.g.dart';

@BuiltVersion()
String get version => _$PackageVersion;

example.g.dart

part of 'example.dart';

String get _$PackageVersion => '1.0.0';

更多关于Flutter版本管理插件built_version的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter版本管理插件built_version的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


built_version 是一个用于管理 Flutter 项目版本的插件。它可以帮助你自动生成版本号,并根据 Git 提交历史来更新版本信息。以下是如何使用 built_version 插件的步骤:

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 built_version 插件的依赖:

dev_dependencies:
  built_version: ^1.0.0

然后运行 flutter pub get 来获取依赖。

2. 创建 build.yaml 文件

在项目根目录下创建一个 build.yaml 文件,并配置 built_version 插件:

targets:
  $default:
    builders:
      built_version|built_version:
        enabled: true
        options:
          version: 1.0.0
          build_number: 1

3. 运行构建命令

运行以下命令来生成版本信息:

flutter pub run build_runner build

这将生成一个 lib/version.dart 文件,其中包含版本信息。

4. 使用生成的版本信息

你可以在项目中使用生成的版本信息。例如,在 pubspec.yaml 中引用生成的版本号:

version: 1.0.0+1

或者在 Dart 代码中使用生成的版本信息:

import 'package:your_project/version.dart';

void main() {
  print('Version: ${version.version}');
  print('Build number: ${version.buildNumber}');
}

5. 自动更新版本号

built_version 可以根据 Git 提交历史自动更新版本号。你可以在 build.yaml 中配置自动更新规则:

targets:
  $default:
    builders:
      built_version|built_version:
        enabled: true
        options:
          version: 1.0.0
          build_number: 1
          auto_increment: true

这将使 built_version 在每次构建时根据 Git 提交历史自动增加版本号。

6. 自定义版本信息

你可以根据需要自定义版本信息的生成方式。例如,你可以使用 Git 标签作为版本号:

targets:
  $default:
    builders:
      built_version|built_version:
        enabled: true
        options:
          version: git
          build_number: timestamp
回到顶部