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

调用pub get时(或之后)运行定义的维护dart文件,dart,dart-pub,Dart,Dart Pub,我有一个dart命令提示符文件,它是开发之前需要的锅炉板函数。我想在用户运行pub get时运行它 我看到“可执行文件”可能正是我想要的。我注意到它必须在垃圾箱里,所以如果我设置: executables: admin_script: 它将公开admin_脚本,以便能够执行并调用:bin/admin_script.dart 问题是1)我希望这个脚本暂时在lib/commmon/中运行。。。。可执行文件公开它,但不一定执行它 我是否缺少一些可以让我做以下事情的东西: pub get 然后在

我有一个dart命令提示符文件,它是开发之前需要的锅炉板函数。我想在用户运行pub get时运行它

我看到“可执行文件”可能正是我想要的。我注意到它必须在垃圾箱里,所以如果我设置:

executables:
  admin_script:
它将公开
admin_脚本
,以便能够执行并调用:bin/admin_script.dart

问题是1)我希望这个脚本暂时在lib/commmon/中运行。。。。可执行文件公开它,但不一定执行它

我是否缺少一些可以让我做以下事情的东西:

pub get
然后在
get
call的末尾,
lib/common/admin\u script.dart

编辑

作为编辑,我试图看看是否有办法在发布后立即运行此维护脚本。不确定这是否在pubspec.yaml文件中,或者这是否是我希望在脚本的其他地方配置的内容


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

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

现在最好的方法可能是使用任务运行程序来定义一个任务,该任务既可以运行
pub get
,也可以执行您需要的任何其他代码。这还有一个额外的好处,就是比隐式运行的钩子更显式


另外,存储在bin/中并通过pubspec公开的可执行文件是面向公众的:它们供包的用户执行。如果您想要一个只在包中运行的可执行文件,那么应该放在tool/目录中。有关详细信息,请参阅。

谢谢。这很有启发性,让我知道该怎么做。