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

时间:2016-02-25 18:44:45

标签: dart dart-pub

我有一个dart命令提示符文件,它是开发前需要的样板功能。我希望在用户运行pub get时运行它。

我看到了https://www.dartlang.org/tools/pub/pubspec.html#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文件中,或者如果这是我想要在我的脚本中配置的其他内容。

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

1 个答案:

答案 0 :(得分:1)

这不可能来自酒吧。它不支持任何类型的钩子。 This issue正在跟踪程序包提供在安装时运行的挂钩的能力,但我不认为本地程序包定义的挂钩存在问题。

现在最好的方法是使用像hop这样的任务运行器来定义一个运行pub get的任务,并执行您需要的任何其他代码。这样做的另一个好处是比隐式运行的钩子更明确。

顺便说一句,存储bin /并通过pubspec公开的可执行文件旨在面向公众:它们将由您的程序包用户执行。如果您想要一个仅在您的包中运行的可执行文件,那么该文件应该放在工具/目录中。有关详细信息,请参阅the package layout conventions