2015-08-23 5 views
6

Eine Elixir-Bibliothek, die ich schreibe, hat zwei benutzerdefinierte Mischaufgaben, die von Benutzern verwendet werden sollen, die meine Bibliothek von ihrem Projekt abhängig gemacht haben soll nur in meinem Projekt verwendet werden.Verhindern, dass eine Mix-Aufgabe eingeschlossen wird, wenn Ihr Projekt als Mix-Dep enthalten ist

Das Problem hier ist, dass beide mischen Aufgaben für Benutzer in ihren Projekten verfügbar sind, nachdem sie mir als Dep hinzugefügt haben.

Wie verhindere ich das? Ich habe versucht, die Aufgabe in package: [ files: [ etc ] ] in meiner Mix-Konfiguration zu vermeiden, aber es war immer noch in meinem Test-Projekt verfügbar, das meine Bibliothek als dep via git angibt.

Antwort

3

Gegenwärtig unterstützt Mix nicht wirklich die Idee von privaten Aufgaben. Ein paar Optionen sind:

  • definieren Sie es in Ihrem mix.exs (zum Beispiel als Alias) oder es in tasks/my_task.exs und Code.require_file "tasks/my_task.exs" auf Ihre mix.exs erstellen. Die zweite Option ist nicht großartig, da Sie den Code ausführen, der eine Aufgabe bei jedem Mischbefehl definiert, den Sie verwenden. Verwenden Sie einfach ein Skript. Erstellen Sie ein scripts Verzeichnis, wenn Sie wollen, und dann, wenn Sie es ausführen möchten, einfach tun: mix run scripts/do_x.ex arg1 arg2 arg3

+0

Großen Dank. :) – lpil

Verwandte Themen