Elixir 1.7

Mix.Task.Compiler व्यवहार




elixir

Mix.Task.Compiler व्यवहार

यह मॉड्यूल एक मिश्रित कार्य के लिए व्यवहार को परिभाषित करता है जो संकलन करता है।

एक मिक्स कंपाइलर कार्य को एक मॉड्यूल में Mix.Task.Compiler का उपयोग करके परिभाषित किया जा सकता है, जिसका नाम Mix.Tasks.Compile. शुरू होता है Mix.Tasks.Compile. और run/1 फ़ंक्शन को परिभाषित करना:

defmodule Mix.Tasks.Compile.MyLanguage do
  use Mix.Task.Compiler

  def run(_args) do
    :ok
  end
end

run/1 फ़ंक्शन संकलन की स्थिति को दर्शाता एक परमाणु लौटाता है, और वैकल्पिक रूप से चेतावनी या संकलन त्रुटियों जैसे "डायग्नोस्टिक्स" की सूची भी लौटा सकता है। ऐसा करने से कोड संपादकों को कमांड-लाइन आउटपुट का विश्लेषण किए बिना मुद्दों को इनलाइन प्रदर्शित करने में सक्षम बनाता है।

यदि कंपाइल बासी स्रोतों को ट्रैक करने के लिए मैनिफ़ेस्ट फ़ाइलों का उपयोग करता है, तो इसे manifests/0 को परिभाषित करना चाहिए, और यदि यह डिस्क पर कोई आउटपुट लिखता है तो इसे भी clean/0 परिभाषित करना चाहिए।

एक कंपाइलर नियमित मिक्स कार्य के रूप में कॉन्फ़िगरेशन और प्रलेखन के लिए समान विशेषताओं का समर्थन करता है। अधिक जानकारी के लिए Mix.Task देखें।

सारांश

कॉलबैक

clean()

कलाकृतियों और मैनिफ़ेस्ट का निर्माण करता है

manifests()

कंपाइलर के लिए प्रकट फ़ाइलों की सूची देता है

run(list)

कमांड-लाइन तर्क प्राप्त करता है और संकलन करता है। यदि यह त्रुटियों, चेतावनियों या किसी अन्य नैदानिक ​​जानकारी का उत्पादन करता है, तो इसे स्थिति और निदान की सूची के साथ टपल लौटना चाहिए

कॉलबैक

स्वच्छ () (वैकल्पिक)

clean() :: any()

कलाकृतियों और मैनिफ़ेस्ट का निर्माण करता है।

मैनिफ़ेस्ट () (वैकल्पिक)

manifests() :: [Path.t()]

कंपाइलर के लिए प्रकट फ़ाइलों की सूची देता है।

रन (सूची)

run([binary()]) ::
  :ok | :noop | {:ok | :noop | :error, [Mix.Task.Compiler.Diagnostic.t()]}

कमांड-लाइन तर्क प्राप्त करता है और संकलन करता है। यदि यह त्रुटियों, चेतावनियों या किसी अन्य नैदानिक ​​जानकारी का उत्पादन करता है, तो इसे स्थिति और निदान की सूची के साथ एक टपल लौटना चाहिए।