[英]Preventing a mix task being included when your project is included as a mix dep
我正在編寫的Elixir庫有兩個自定義混合任務,一個用於使我的庫成為項目依賴項的用戶使用,一個用於僅在我的項目中使用。
這里的問題是,在將我的項目添加為dep之后,兩個混合任務都可供其項目中的用戶使用。
我該如何防止這種情況? 我試圖在我的Mix配置中避免package: [ files: [ etc ] ]
的任務package: [ files: [ etc ] ]
,但它仍然在我的測試項目中可用,它通過git將我的庫指定為dep。
目前,Mix並不直接支持私有任務的想法。 有兩種選擇:
定義它在你的mix.exs
(例如,作為一個別名)或創建它的內部tasks/my_task.exs
和Code.require_file "tasks/my_task.exs"
在你的頂部mix.exs
。 第二個選項並不好,因為您將執行在您使用的每個mix命令上定義任務的代碼
只需使用腳本。 如果需要,創建一個scripts
目錄,然后,當你想運行它時,只需執行: mix run scripts/do_x.ex arg1 arg2 arg3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.