Elixir 当项目作为混合dep包含时,防止包含混合任务
我正在编写的Elixir库有两个自定义混合任务,一个用于将我的库作为其项目依赖项的用户,另一个用于仅在我的项目中使用 这里的问题是,在用户将我的任务添加为dep后,他们的项目中的两个混合任务都可用Elixir 当项目作为混合dep包含时,防止包含混合任务,elixir,elixir-mix,hex-pm,Elixir,Elixir Mix,Hex Pm,我正在编写的Elixir库有两个自定义混合任务,一个用于将我的库作为其项目依赖项的用户,另一个用于仅在我的项目中使用 这里的问题是,在用户将我的任务添加为dep后,他们的项目中的两个混合任务都可用 我如何防止这种情况?我试图在我的Mix配置中避免使用包:[files:[etc]]中的任务,但在通过git将我的库指定为dep的测试项目中仍然可以使用该任务。目前Mix实际上并不直接支持私有任务。以下是几个选项: 在mix.exs中定义它(例如,作为别名),或者在tasks/my_task.exs和
我如何防止这种情况?我试图在我的Mix配置中避免使用包:[files:[etc]]中的任务,但在通过git将我的库指定为dep的测试项目中仍然可以使用该任务。目前Mix实际上并不直接支持私有任务。以下是几个选项:
- 在
中定义它(例如,作为别名),或者在mix.exs
和tasks/my_task.exs
中在code.require_文件“tasks/my_task.exs”
上创建它。第二个选项不是很好,因为您将在使用的每个mix命令上执行定义任务的代码mix.exs
- 只需使用脚本。如果需要,创建一个
目录,然后,当您想要运行它时,只需执行以下操作:scripts
mix run scripts/do_x.ex arg1 arg2 arg3