acyclic_steps 是一個 Dart 套件,提供了一個明確的無環步驟依賴框架,專為管理具有清晰依賴關係的複雜工作流程而設計。它支援獨立步驟的並行評估,同時確保不存在循環依賴,促進可預測的執行順序。該框架支援依賴注入,非常適合測試和模組化應用設計。由 Google 建立,可無縫整合至所有主要平台的 Flutter 專案中。
適用情境
測試複雜的工作流程
在CI/CD中管理任務依賴關係
構建模組化應用流水線
模擬狀態轉換
實現可配置的建構流程
主要特色
無環依賴圖強制
併發步驟執行
內建依賴注入
顯式步驟定義
支援跨平台工作流程
適合對象
測試自動化框架
CI/CD 流水線建構器
模組化應用架構
複雜的狀態機實作
需要確定性執行順序的開發者
使用建議
需要仔細定義步驟以避免循環
最適合結構化、順序性的工作流程
可能為簡單任務增加開銷
除了基本範例之外,文件內容有限
依賴於正確的相依性管理實踐
原始 README
以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。
Dart Neats
A collection of a small neat packages for dart.
Disclaimer: This is not an officially supported Google product.
This repository is meant as a playground where small neat packages are
cultivated. If package grows too large and complex and needs a dedicated issue
tracker it should be moved to a dedicated repository.
Each folder in this repository contains a neatpub package. This project
aims to use a separate package whenever it makes sense to have an independent
major version. This often means splitting functionality into separate packages,
which can be reused independently.
Utility for vendoring packages into a project and rewriting import/export statements.
Repository Management
Packages in this repository uses pub workspaces
a single dart pub get will resolve dependencies for all of them.
Configuration of Github Actions, issue templates, issue labels, etc is automated
with scripts in tool/.
Contributing
We love patches and contributions, please refer to CONTRIBUTING.md for
technicalities on CLA and community guidelines. As this project aims to
build neat packages using other neat packages we might also accept proposals
for new neat packages, though it's often easier to publish independently.
License
Unless stated otherwise contents in this repository is licensed under
Apache License 2.0, see LICENSE.