首页 > 其他分享 >自动化清理你的Flutter项目

自动化清理你的Flutter项目

时间:2024-06-04 10:22:48浏览次数:14  
标签:文件 清理 Flutter sh clean 自动化 flutter projects

Flutter是一个流行的跨平台应用框架,但随着项目的增长,构建文件和缓存可能会占用大量空间。手动运行flutter clean可以解决这个问题,但当处理多个项目时,这个过程可能会变得繁琐且易于遗忘。因此我们可以使用脚本来批量清理Flutter 构建文件

PS:掘金上发布人也是我

思路

  1. 首先,你需要一个能够识别Flutter项目的标准。通常,Flutter项目目录中会包含pubspec.yaml文件。
  2. 接着,使用脚本遍历目录,查找含有pubspec.yaml文件的文件夹。
  3. 最后,对每个找到的Flutter项目执行flutter clean命令。

Windows 批处理脚本:

创建一个 clean_flutter_projects.bat 文件输入如下内容

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION

:: 设置脚本所在目录为搜索起点
SET START_DIR=%~dp0

:: 遍历目录寻找pubspec.yaml文件
FOR /R "%START_DIR%" %%D IN (.) DO (
    IF EXIST "%%~fD\pubspec.yaml" (
        ECHO Found Flutter project at %%D
        :: 进入项目目录
        PUSHD "%%D"
        :: 执行flutter clean
        CALL flutter clean
        :: 返回之前的目录
        POPD
    )
)

ECHO All Flutter projects cleaned.
ENDLOCAL

如何运行?

如下图,将批处理文件复制到项目根目录下,然后双击即可运行

image

执行效果
image

Mac Shell脚本:
打开终端,使用nanovim创建一个新的脚本文件,例如clean_flutter_projects.sh

#!/bin/bash

# 获取脚本所在的目录
START_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

# 遍历目录寻找pubspec.yaml文件,并执行flutter clean
find "$START_DIR" -name 'pubspec.yaml' | while read -r file; do
    # 获取Flutter项目的目录路径
    project_dir=$(dirname "$file")
    echo "Found Flutter project at $project_dir"
    # 进入项目目录
    cd "$project_dir" || exit
    # 执行flutter clean
    flutter clean
    # 返回到脚本开始的目录,以继续搜索
    cd "$START_DIR" || exit
done

echo "All Flutter projects cleaned."

确保给这个脚本文件执行权限:

chmod +x clean_flutter_projects.sh

和上面win做法一样,复制到项目根目录下,在终端执行

./clean_flutter_projects.sh

2024-02-23 更新

今天发现一个奇怪的问题,在mac运行时会出现如下错误zsh: ./clean_flutter_projects.sh: bad interpreter: /bin/bash^M: no such file or directory,经过一番搜索,发现这个错误通常表明脚本文件的格式问题,而不是权限问题。错误消息中的^M提示了一个问题,它通常是由于 Windows 系统的行尾符 \r\n 而不是 Unix/Linux 系统的行尾符 \n 所引起的。

可以使用 dos2unix 命令或者 tr 命令将文件的格式转换为 Unix 格式。如果您的系统上没有 dos2unix,可以尝试使用 tr 命令,如下所示

tr -d '\r' < clean_flutter_projects.sh > new_clean_flutter_projects.sh

这个操作将删除脚本文件中的回车符并将其写入新的脚本文件中。然后,你可以尝试运行新的脚本文件。
1、

chmod +x new_clean_flutter_projects.sh

2、

./new_clean_flutter_projects.sh

标签:文件,清理,Flutter,sh,clean,自动化,flutter,projects
From: https://www.cnblogs.com/inthecloud/p/18230274

相关文章

  • Python使用selenium库实现网页自动化登陆以及数据抓取(爬虫)教程
      相比于传统的网络请求实现爬虫,Selenium可以模拟用户在浏览器上的操作,处理由JavaScript生成的动态内容,以执行点击、滚动、表单提交等操作,模拟真实用户访问,绕过一些反爬机制,更方便的获取动态生成的网站数据。  本篇教程将采取环境搭建、自动化操作、使用cookie自动化登陆、实......
  • 在Linux中,如何在Linux中进行配置管理和自动化部署?
    在Linux环境中,配置管理和自动化部署是提升运维效率、确保环境一致性及加速软件交付的关键实践。以下是进行配置管理和自动化部署的一般步骤和常用工具介绍:1.配置管理工具选择首先,你需要选择合适的配置管理工具。一些流行的配置管理工具有:Ansible:基于Python,使用YAML编写剧本......
  • ELK日志定期清理 ES索引数据
    ELK清理ES索引数据 这个是清理前十天的索引信息,只保留十天的索引日志 目前我是手动执行的脚本、如有需要可以自行添加定时任务#!/bin/bash#sticsearch的基本信息ES_HOST="127.0.0.1"ES_PORT="9200"ES_USER="elastic"ES_PASS="slastic"#获取当前日期......
  • 利用PlugLink平台实现Python自动化办公
    利用PlugLink平台实现Python自动化办公自动化技术已经成为提升效率和减少人力成本的关键。特别是利用AI和Python语言的强大功能,企业可以实现高度定制化的自动化工作流程。PlugLink作为一个开源的办公自动化平台,正是为了满足这一需求而生。本文将通过一个具体的Python案例,介......
  • 自动化办公02 用openpyxl库操作excel.xlsx文件(新版本)
    目录一、文件读操作二、文件写操作三、修改单元格样式openpyxl是一个处理Excel表格的第三方库。openpyxl库可以处理Excel2010以后的电子表格格式,包括:xlsx/xlsm/xltx/xltm。openpyxl教程一、文件读操作工作簿(workbook):excel文件工作表(worksheet):工作簿中的每......
  • Aqua 专为自动化测试打造的IDE
    JetBrains是一家全球知名的软件开发公司,他们公司推出的IDE几乎是编程语言的首选,IntelliJIDEA之于Java,PyCharm之于Python,以及GoLand之于go等。5月24号JetBrains官方宣布Aqua正式公开发布,这是一款专门针对自动化测试打造的IDE。对于一名自动化测试的工程师,对于这些语言和工具再......
  • 自动化测试意义
    自动化测试意义,更现实的来说把我们的自动化测试应用到项目中去,在保证质量的前提下让项目的测试成本低于纯手工测试。自动化测试关注的一些指标:1、自动化测试用例的覆盖率=自动化测试用例数/所有用例总数,这个比例越高,测试反馈越快,成本节约越多。2、节省的时间成本=手工测试所花的......
  • 什么项目适合做自动化测试?
    什么项目适合做自动化测试?1.需求稳定,不会频繁变更2.研发和维护周期长,需要频繁执行回归测试3.需要在多种平台上重复运行相同测试的场景4.某些测试项目通过手工测试无法实现,或者手工成本太高5.被测软件的开发较为规范,能够保证系统的可测试性6.测试人员已经具备一定的编程能力......
  • 自动化测试的认识误区
    误区一:自动化测试是一种比人工测试更先进,更高级的测试手段。自动化测试既有自身的优点,也有其局限性。例如对于需求不明确,或者界面经常发生变动的产品就不适合使用自动化测试。自动化测试与手工测试的关系应该是相辅相成,互相弥补各自的局限性,相互促进。误区二:自动化测试能够发现......
  • 自动化测试的优势&劣势
    自动化测试的优势:1.可复用性一旦编写好自动化测试脚本或者测试工具,便可以重复使用,使得我们可以避免繁琐重复的手工测试。2.可靠性手工测试在一定条件下存在不确定性,偶尔会出现漏测或者误判的情况,但是自动化测试的预期输入和输出的确定性,可以弥补此类缺陷。3.速度快,时间......