2015-08-23 5 views
6

के रूप में शामिल किया गया है तो एक मिश्रण कार्य को रोकना एक एलिक्सीर लाइब्रेरी जो मैं लिख रहा हूं, में दो कस्टम मिश्रण कार्य हैं, जिनका उद्देश्य उन लोगों द्वारा उपयोग किया जाना है जिन्होंने मेरी लाइब्रेरी को अपनी परियोजना की निर्भरता बना दी है, एक केवल मेरी परियोजना के भीतर इस्तेमाल किया जाना है।जब आपकी परियोजना को मिश्रण डिप्टी

समस्या यह है कि दोनों मिश्रण कार्य उनके प्रोजेक्ट में उपयोगकर्ताओं के लिए उपलब्ध हैं जब उन्होंने एक डिप्टी के रूप में अपना जोड़ा है।

मैं इसे कैसे रोकूं? मैंने अपने मिक्स कॉन्फ़िगरेशन में package: [ files: [ etc ] ] में कार्य से बचने की कोशिश की, लेकिन यह अभी भी मेरे परीक्षण प्रोजेक्ट में उपलब्ध था जो मेरी लाइब्रेरी को गिट के माध्यम से एक डिप्टी के रूप में निर्दिष्ट करता है।

उत्तर

3

वर्तमान में मिक्स वास्तव में सीधे निजी कार्यों के विचार का समर्थन नहीं करता है। एक जोड़े विकल्प हैं:

  • (, के लिए उदाहरण के उपनाम के रूप में) अपने mix.exs में यह परिभाषित करें या अपने mix.exs के शीर्ष पर tasks/my_task.exs और Code.require_file "tasks/my_task.exs" अंदर यह पैदा करते हैं। दूसरा विकल्प बहुत अच्छा नहीं है क्योंकि आप उस कोड को निष्पादित करेंगे जो आपके मिक्स कमांड पर

  • बस एक स्क्रिप्ट का उपयोग करें। एक scripts निर्देशिका बनाएं अगर आप चाहते हैं और फिर, जब आप इसे चलाना चाहते हैं, बस करो: mix run scripts/do_x.ex arg1 arg2 arg3

+0

महान है, धन्यवाद। :) – lpil

संबंधित मुद्दे