簡體   English   中英

當您的項目作為mix dep包含時,防止包含混合任務

[英]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.exsCode.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM