2012-09-01 4 views
21

मैं प्ले चाहता था! फ्रेमवर्क dist अंतिम ज़िप फ़ाइल में कुछ फ़ोल्डरों और फ़ाइलों को जोड़ने के लिए आदेश। आवेदन के लिए उन्हें काम करने की आवश्यकता है।कैसे खेलें! फ्रेमवर्क डिस्ट कमांड अंतिम फाइल में कुछ फाइल/फ़ोल्डर्स जोड़ रहा है?

क्या कोई जादू project/Build.scala कॉन्फ़िगरेशन संभव बनाने के लिए है? मैं इसे प्ले में नहीं ढूंढ सका! documentation

उत्तर

27

प्ले sbt-native-packager है, जो के शामिल किए जाने का समर्थन करता है का उपयोग करता है उन्हें मैपिंग में जोड़कर मनमानी फाइलें:

mappings in Universal ++= 
    (baseDirectory.value/"scripts" * "*" get) map 
    (x => x -> ("scripts/" + x.getName)) 

वाक्यविन्यास प्ले 2.2.x लगता है।

+1

आखिरकार :) यह प्रश्न बहुत लंबा था। – Rajish

+1

@ रोलैंड क्या आप नेस्टेड उप-निर्देशिकाओं और इसकी सामग्री की प्रतिलिपि बनाने के लिए कोड पोस्ट कर सकते हैं। –

+1

देखें http://www.scala-sbt.org/0.13.7/docs/Detailed-Topics/Mapping-Files.html: '(baseDirectory.value /" स्क्रिप्ट "***)। जोड़ी रिश्तेदार (बेस डायरेक्टरी) प्राप्त करें। मूल्य) ' –

2

distsource code पर देखकर, मुझे लगता है कि यह संभव नहीं है।

लेकिन आप एप्लिकेशन और उसके निर्भरता (doc से) पैकेज play clean compile stage आदेश का उपयोग कर सकते हैं:

यह साफ और आपके आवेदन संकलित, लक्ष्य के लिए आवश्यक निर्भरता और उन्हें प्रतियां पुन: प्राप्त करता/मंचन निर्देशिका । यह एक लक्ष्य/प्रारंभ स्क्रिप्ट बनाता है जो Play सर्वर चलाता है।

फिर आपको अपनी निर्देशिका जोड़ने और ज़िप बनाने के लिए अपनी खुद की स्क्रिप्ट लिखनी होगी।

0

मैं शर्त लगा सकता हूं कि मैं आपको संतुष्ट नहीं करूंगा, लेकिन शायद आप खोज के लिए अपना समय बर्बाद नहीं करेंगे। निको ने इंगित किया कि ऐसी कोई संभावना नहीं है, आप इसका उपयोग करने के लिए सबसे तेज़ दृष्टिकोण एक बैश स्क्रिप्ट (या * .bat फ़ाइल) लिखना है।

मैंने समाधान देखने के लिए एक घंटे बिताए ... और लेखन लिपि के लिए 15 मिनट जो रिमोट गंतव्य पर एकजुट, संशोधित, ज़िप और फ़ाइल भेजते हैं, इसलिए विचार करें कि यह आपके लिए भी बेहतर विकल्प नहीं होगा।

5

मेरी Play आवेदन टेम्पलेट फ़ाइलों वितरण में (एप्लिकेशन/विचारों/में) सहित नहीं किया गया था, और मैं Build.scala में इस के साथ उन्हें कहा:

val main = play.Project(appName, appVersion, appDependencies).settings(
    // Add your own project settings here 
    playAssetsDirectories <+= baseDirectory/"app/views" 
) 
1

यह सुनिश्चित नहीं है कि कौन सा प्ले संस्करण समर्थित है, लेकिन Play! 2.5 documentation सुझाव देता है कि आप किसी भी मनमानी फ़ाइलों को जोड़ सकते हैं जिन्हें आप 'dist' फ़ोल्डर (प्रोजेक्ट की जड़ पर) के अंतर्गत पैकेज करना चाहते हैं। मैं अपनी परियोजना को एक आरपीएम में बनाने के लिए एसबीटी मूल पैकेजर का उपयोग कर रहा हूं और यह पूरी तरह से बाहर के बॉक्स में काम करता है।

+0

बस इसका परीक्षण किया गया और यह काम करता प्रतीत होता है। यद्यपि संपादक एटम को पसंद नहीं है (छुपाओं में) एक रूट फ़ोल्डर जिसे डिस्ट कहा जाता है, अगर यह किसी अन्य चीज़ के साथ संघर्ष करता है (मेरे पर्यावरण में ...) (अपडेट: मेरा बुरा - किसी कारण से .gitignore में सिर्फ एक फ़ोल्डर था) – Techmag

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