运行 调用 pub get 时(或之后)定义的维护 dart 文件

Running a defined maintainence dart file when (or after) you call pub get

我有一个 dart 命令提示文件,它是开发前所需的样板函数。我想 运行 在用户 运行 发布时 运行 它。

我看到 https://www.dartlang.org/tools/pub/pubspec.html#executables "executables" 可能正是我想要的。我注意到它必须在垃圾箱中,所以如果我设置:

executables:
  admin_script:

它将公开 admin_script 以便能够执行并调用:bin/admin_script.dart.

问题是 1) 我希望此脚本暂时位于 lib/commmon/ 中 运行... 以及 2) 可执行文件公开它,但不一定执行它.

我是否遗漏了一些可以让我做类似事情的东西:

pub get

然后它会在 get 调用结束时,lib/common/admin_script.dart

编辑

作为编辑,我试图查看是否有办法 运行 在 pub get 之后立即执行此维护脚本。不确定这是否被认为是在 pubspec.yaml 文件中,或者这是否是我想在我的脚本的其他地方配置的东西。

当您打开项目时,我认为这将是 运行 的一个很好的脚本,但我不确定这是否也是一个适用的选项。

这在 pub 中是不可能的。它不支持任何类型的挂钩。 This issue 正在跟踪包在安装时提供 运行 挂钩的能力,但我认为本地包定义的挂钩没有问题。

现在执行此操作的最佳方法可能是使用 运行 像 hop 这样的任务来定义 运行 和 pub get 的任务执行您需要的任何其他代码。与 运行 隐含的挂钩相比,这具有更明确的额外好处。

顺便说一句,存储在 bin/ 中并通过 pubspec 公开的可执行文件旨在 public-facing:它们供您的包的用户执行.如果你想要一个在你的包中只有 运行 的可执行文件,它应该放在 tool/ 目录中。有关详细信息,请参阅 the package layout conventions