2015-06-26 6 views
6

के मैं निम्नलिखित निर्देशिका संरचना के साथ एक खेल है मान लेते हैं:कॉपी लक्ष्य निर्देशिका में फ़ाइलें के बाद निर्माण

/src 
/resources 
Cargo.toml 

मैं cargo build तरह उसी निर्देशिका में resources निर्देशिका में फ़ाइलों की प्रतिलिपि और उन्हें पेस्ट करने के लिए होगा निष्पादन योग्य फ़ाइल।

मुझे पता है कि एक कस्टम बिल्ड स्क्रिप्ट का उपयोग करके ऐसा करना संभव है, लेकिन यह एक सामान्य मामला है जो विशेष उपचार के योग्य है। तो सवाल यह है कि: कार्गो लक्ष्य निर्देशिका में फ़ाइलों की प्रतिलिपि बनाने का मानक तरीका प्रदान करता है (केवल Cargo.toml का उपयोग करके)?

उत्तर

4

नहीं, ऐसा नहीं है।

आप build scripts के साथ फ़ाइलों को चारों ओर ले जा सकते हैं, लेकिन ये आपके क्रेट के निर्माण से पहले चलाए जाते हैं क्योंकि उनका एकमात्र उद्देश्य पर्यावरण तैयार करना है (उदाहरण के लिए सी पुस्तकालयों और शिम्स संकलित करना)।

यदि आपको लगता है कि यह एक महत्वपूर्ण विशेषता है, तो आप कार्गो issue tracker में एक सुविधा अनुरोध खोल सकते हैं।

तरह
#!/bin/bash 

DIR="$(dirname "$0")" 

if cargo "[email protected]"; then 
    [ -d "$DIR/target/debug" ] && cp -r "$DIR/resources" "$DIR/target/debug/resources" 
    [ -d "$DIR/target/release" ] && cp -r "$DIR/resources" "$DIR/target/release/resources" 
fi 

अब आप चला सकते हैं कार्गो

% ./make.sh build 
+2

मैं खोला:

वैकल्पिक रूप से, आप एक makefile या एक खोल स्क्रिप्ट जो माल के सभी तर्कों को आगे और फिर निर्देशिका कॉपी मैन्युअल लिख सकते हैं जैसा कि आपने सुझाव दिया था। अगर कोई दिलचस्पी लेता है तो यहां लिंक है: https://github.com/rust-lang/cargo/issues/1759 – aochagavia

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

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