6

我正在编写的 Elixir 库有两个自定义混合任务,一个旨在供将我的库作为其项目依赖项的用户使用,一个旨在仅在我的项目中使用。

这里的问题是,在将我的项目添加为 dep 之后,项目中的用户都可以使用这两个混合任务。

我该如何防止这种情况?我试图package: [ files: [ etc ] ]在我的 Mix 配置中避免该任务,但它在我的测试项目中仍然可用,它通过 git 将我的库指定为 dep。

4

1 回答 1

3

目前 Mix 并不真正直接支持私有任务的想法。几个选项是:

  • mix.exs在您的(例如,作为别名)中定义它tasks/my_task.exsCode.require_file "tasks/my_task.exs"在您的mix.exs. 第二个选项不是很好,因为您将在您使用的每个混合命令上执行定义任务的代码

  • 只需使用脚本。如果需要,请创建一个scripts目录,然后,当您想运行它时,只需执行以下操作:mix run scripts/do_x.ex arg1 arg2 arg3

于 2015-08-24T07:53:09.677 回答