2015-08-23 29 views
6

我正在编写的一个Elixir库有两个自定义混合任务,一个用于使我的库成为其项目依赖项的用户,打算只在我的项目中使用。当您的项目包含在混合文件中时,防止混合任务被包括在内

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

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

回答

3

目前Mix并不直接支持私人任务的想法。一对夫妇的选项有:

  • 定义它在你的mix.exs(例如,作为一个别名),或在您mix.exs顶部创建它里面tasks/my_task.exsCode.require_file "tasks/my_task.exs"。第二种选择不是很好,因为您将执行定义每个混合命令上的任务的代码。

  • 只需使用脚本。创建scripts目录,如果你想,然后,当你想运行它,只是做:mix run scripts/do_x.ex arg1 arg2 arg3

+0

很好,谢谢。 :) – lpil