【问题标题】:Flutter project taking up too much space on CIFlutter 项目占用 CI 太多空间
【发布时间】:2021-11-20 18:05:18
【问题描述】:

我有一个私有 C++ 存储库,其中包含一个为其生成 Dart 绑定的脚本。所以我在 pubsec.yaml 文件中添加了 git 依赖项的 repo,如下所示:

my_package_name:
git:
  url: my.git.repo.url
  path: path/to/the/folder/containing/dart/bindings

问题是当我运行flutter pub get 时,它会检查整个项目(非常大),然后使用项目中的指定文件夹。

由于这种行为,我在 CI 上遇到了与存储相关的问题。

所以我的问题是 - 有没有更好的方法来添加仅获取指定文件夹而不是整个 repo 的依赖项?

【问题讨论】:

    标签: android ios flutter dart mobile


    【解决方案1】:

    根据您的 CI 设置,git clone --depth=1 ${repo} 是否可行?

    https://git-scm.com/docs/git-clone#Documentation/git-clone.txt---depthltdepthgt

    【讨论】:

    • 因此,对于 pubspec 依赖项,我们不会自己执行 git clone。 Flutter/Dart 为我们做这件事,这是这里的主要问题
    • 您是否尝试过使用ref 属性?我不确定它是否克隆了更少的历史:
    • 你能ref 到一个文件夹吗?我试过 reftagbranch 但它仍然拉动整个项目
    • 哦,不,我不知道。它只是对特定提交的引用,希望克隆更少的历史,而不是回购的一部分。这是一个棘手的问题......
    • 也许是优化它以将您的部门分解为较小项目的最佳方法,但是我猜这是一个相当大的工作量,并且不会满足您的迫切需求
    猜你喜欢
    • 2016-12-08
    • 2012-05-15
    • 1970-01-01
    • 2011-09-08
    • 1970-01-01
    • 2022-07-13
    • 2020-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多