跳转到主要内容

colcon的清理包工作空间的扩展。

项目描述

colcon-clean

GitHub Workflow Status Codecov

colcon-core 的扩展,用于清理包工作区。允许清理各种 colcon 路径,如构建或安装文件夹,可以是整个工作区或具有高级路径通配符选项的选定包。与 colcon-package-selection 结合使用,此扩展可以帮助维护卫生的构建环境,同时利用持久的工作区进行缓存,允许用户精细地删除过时的工件,保留在软件开发期间可以缓存的工件。例如,当将各种更改拉入本地工作区以审查拉取请求时,此扩展可以用于仅清除受影响包的构建和安装路径,确保后续构建不会受到先前作业的交叉污染。

该扩展通过提供文件系统删除的便捷包装来实现,允许用户指定要清理的基本路径(buildinstalllogtest_result),要进行的清理级别(全局工作区或按包),以及如果指定,要删除的确切文件。

快速入门

设置、构建和测试示例 colcon 工作区

mkdir -p ~/ws/src && cd ~/ws
wget https://raw.githubusercontent.com/colcon/colcon.readthedocs.org/main/colcon.repos
vcs import src < colcon.repos
colcon build
colcon test

清理选定包的构建和安装路径

colcon clean packages \
    --base-select \
        build \
        install \
    --packages-select \
        colcon-cmake \
        colcon-package-information

清理整个工作区的 gcov 计数数据文件

colcon clean workspace \
    --base-select \
        build \
    --clean-match \
      "*.gcda"

子命令

workspace - 清理工作区路径

workspace 子命令提供了一种全局清理整个工作区顶级基本路径的方法。

packages - 清理包路径

packages 子命令提供了一种使用包选择本地清理包级基本路径的方法。

清理子命令参数

默认情况下,此扩展将提供一个交互式确认提示,打印要删除的文件。此对话框可以自动跳过;这些删除事件仍可以通过命令生成的 colcon 日志文件进行观察。

  • -y--yes
    • 自动回答提示

基本处理器参数

所有子命令支持的所有附加参数提供了选择要清理哪些基本路径以及它们可以移动到何处的选项

  • --base-select
    • 选择要清理的工作区中的基本名称(默认:[build, install, log, test_result])
  • --base-ignore
    • 忽略要清理的工作区中的基本名称(默认:[])
  • --build-base
    • 所有构建目录的基本路径(默认:build)
  • --install-base
    • 所有安装目录的基本路径(默认:install)
  • --log-base
    • 所有日志目录的基本路径(默认:log)
  • --test-result-base
    • 所有 test_result 目录的基本路径(默认:build)

清理过滤器参数

指定要包含的文件和目录。默认情况下,包括所有文件和目录(包括符号链接)。--clean-match/--clean-ignore 参数允许使用 glob/wildcard(".gitignore 风格”)路径匹配进行选择。与根 directory 相关的路径(即不包括根目录本身的名称)与提供的模式进行匹配。例如,仅包括 Gcov 数据文件,请使用:colcon clean workspace --clean-match "*.gcda" 或要排除隐藏文件和目录,请使用:colcon clean workspace --clean-ignore ".*" ".*/",这相当于 colcon clean workspace --clean-match "*" "!.*" "!.*/"

  • --clean-match
    • 一个或多个要包含的路径模式。注意:带星号的模式必须用引号("*")括起来,或者星号前有转义字符 (*)。
  • --clean-ignore
    • 一个或多个要排除的路径模式。注意:带星号的模式必须用引号("*")括起来,或者星号前有转义字符 (*)。
  • --clean-no-linked-dirs
    • 不包含指向其他目录的符号链接。
  • --clean-no-linked-files
    • 请不要包含文件的符号链接。

扩展点

此扩展利用了多个colcon-core扩展点来注册colcon CLI的动词和子动词。此扩展还提供了自己的扩展点以支持额外的清理策略。

BaseHandlerExtensionPoint

此扩展点确定可用于清理的基本路径类型。默认提供的基处理扩展包括

  • build
    • 注意:默认情况下,此扩展不会跟随符号链接
  • install
    • 注意:默认情况下,此扩展不会跟随符号链接
  • log
    • 注意:日志按时间存储,因此不适用包选择
  • test_result
    • 注意:默认情况下,colcon使用build路径来存储测试结果

项目详情


下载文件

下载适用于您平台的应用程序。如果您不确定选择哪一个,请了解更多关于安装包的信息。

源分布

colcon-clean-0.2.1.tar.gz (18.6 kB 查看哈希值)

上传时间

构建分布

colcon_clean-0.2.1-py3-none-any.whl (19.0 kB 查看哈希值)

上传时间 Python 3

由以下支持