Flutter更新日志展示插件changelog_bubbler的使用
Flutter 更新日志展示插件 changelog_bubbler 的使用
概览
changelog_bubbler
是一个用于自动化创建 Flutter 和 Dart 应用程序变更日志差异的包。此包旨在为每次发布生成主变更日志。它会生成一个文档,包含根包的更改以及每个子包的更改。
它如何工作
该包生成一个名为 CHANGELOG_BUBBLED.md
的文件,其中包含了应用程序及其依赖项的变更日志差异。构建过程如下:
- 读取传入的参数(例如,通过运行
dart pub run changelog_bubbler --help
查看参数) - 将源仓库复制到临时文件夹并检出指定的引用
- 收集当前状态和以前状态的仓库信息
- 运行
pub get
- 读取
pubspec.lock
- 基于
pubspec.lock
和pub_cache
构建依赖列表 - 将
pub_cache
路径存储在依赖类中以供后续引用
- 运行
- 构建已更改依赖项的列表
- 按主机 URL 分组(如
pub.dev
,git
或托管引用) - 只收集已更改的依赖项
- 打印:
- 包名称 1.0.0 -> 2.0.0
- 包的变更日志差异
- 按主机 URL 分组(如
- 根据以上收集的信息创建一个文件
使用方法
以下是使用 changelog_bubbler
的步骤:
- 在
pubspec.yaml
中添加changelog_bubbler
到dev_dependencies
name: example_cli
dev_dependencies:
changelog_bubbler: ^1.0.0
- 运行构建命令
> dart pub run changelog_bubbler
- 生成的
CHANGELOG_BUBBLED.md
文件内容如下
Example app
pub.dev
my_app_core 1.0.0 - 1.1.0
1.1.0
- chore: something changed
pub.dev - Transitive
analyzer 1.0.0 - 2.0.0
2.0.0
- chore: something changed
1.3.0
- chore: something changed
1.1.0
- chore: something changed
查看完整的输出示例:[示例应用输出](https://github.com/m-skolnick/changelog_bubbler/blob/main/example/my_output_file.md)
**注意** 如果你在 GitHub Actions 中使用此工具,需要将 `checkout` 命令的 `fetch-depth` 设置为 `0`,以便获取标签。
```yaml
steps:
- uses: actions/checkout[@v3](/user/v3)
with:
# Fetch depth 0 so that tags are fetched
fetch-depth: 0
高级功能
指定之前的引用
默认情况下,变更日志是基于当前 git 状态与上一个标签之间的差异生成的。要指定一个不同的引用进行比较,可以传递一个名为 previous-ref
的标志。
dart pub run changelog_bubbler --previous-ref 8762db
dart pub run changelog_bubbler --previous-ref v2.0.0
输出文件路径
可以通过传递一个名为 output
的标志来更改生成文件的路径。
dart pub run changelog_bubbler --output MY_COOL_CHANGELOG_NAME.md
模板
所有输出都基于位于 模板文件夹 中的模板构建。可以通过传递路径选项覆盖任何模板。
dart pub run changelog_bubbler --changelog-template-path '/Users/micaiah.skolnick/Repos/alkami/changelog_bubbler/asset_test/changelog_template.html'
更多关于Flutter更新日志展示插件changelog_bubbler的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter更新日志展示插件changelog_bubbler的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
changelog_bubbler
是一个用于在 Flutter 应用中展示更新日志的插件。它可以帮助开发者将应用的历史更新记录以美观的方式展示给用户。以下是使用 changelog_bubbler
的基本步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 changelog_bubbler
依赖:
dependencies:
flutter:
sdk: flutter
changelog_bubbler: ^1.0.0 # 请根据最新版本号进行替换
然后,运行 flutter pub get
来获取依赖。
2. 创建更新日志数据
你可以将更新日志数据存储在一个 JSON 文件中,或者在代码中直接定义。以下是直接在代码中定义的一个简单示例:
final List<Map<String, dynamic>> changelogData = [
{
'version': '1.1.0',
'date': '2023-10-01',
'changes': [
'Added new feature X',
'Improved performance of Y',
'Fixed bug Z',
],
},
{
'version': '1.0.0',
'date': '2023-09-15',
'changes': [
'Initial release',
],
},
];
3. 使用 ChangelogBubbler
展示更新日志
你可以在应用中的任何页面使用 ChangelogBubbler
来展示更新日志。以下是一个简单的示例:
import 'package:flutter/material.dart';
import 'package:changelog_bubbler/changelog_bubbler.dart';
class ChangelogPage extends StatelessWidget {
final List<Map<String, dynamic>> changelogData = [
{
'version': '1.1.0',
'date': '2023-10-01',
'changes': [
'Added new feature X',
'Improved performance of Y',
'Fixed bug Z',
],
},
{
'version': '1.0.0',
'date': '2023-09-15',
'changes': [
'Initial release',
],
},
];
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Changelog'),
),
body: ChangelogBubbler(
changelogData: changelogData,
// 可选的自定义样式
titleStyle: TextStyle(fontSize: 24, fontWeight: FontWeight.bold),
versionStyle: TextStyle(fontSize: 18, color: Colors.blue),
dateStyle: TextStyle(fontSize: 14, color: Colors.grey),
changeStyle: TextStyle(fontSize: 16),
),
);
}
}
4. 导航到更新日志页面
你可以在应用的任何地方通过导航来展示更新日志页面:
Navigator.push(
context,
MaterialPageRoute(builder: (context) => ChangelogPage()),
);