2011-09-01 11 views
17

एक एकल स्रोत भंडार के लिए एक अच्छी निर्देशिका संरचना क्या है जिसमें फ़ोनगैप प्रोजेक्ट के एंड्रॉइड और आईओएस दोनों संस्करण हैं? मैं sym-link का उपयोग कर ठीक हूं क्योंकि मुझे पीसी पर होने वाले किसी भी विकास की उम्मीद नहीं है। (लेकिन वहाँ के बिना यह करने के लिए एक साफ तरीका है, मैं सभी कान हूँ, Git के बाद से और पीसी पर सिमलिंक एक बुरा सपना है।) मैं इस की कोशिश की है:क्रॉस-प्लेटफ़ॉर्म फोनगैप प्रोजेक्ट के लिए निर्देशिका संरचना

www/ 
    index.html 
    js/ *.js 
    xpjs-ios/ *.js 
    xpjs-android/ *.js 
    css/ *.css 
    html/ *.html (all other files) 

android/ 
     (lots of java and config files) 
android/assets/www/index.html -> www/index.html 
        js -> www/js 
        xpjs -> www/xpjs-android 
        html -> www/html 
        css -> www/css 
ios/ 
    (xcode config and such) 
ios/www/index.html -> www/index.html 
     js -> www/js 
     xpjs -> www/xpjs-ios 
     html -> www/html 
     css -> www/css 

तब मैं ios पर xcode बात/www निर्देशिका, और एंड्रॉइड/www निर्देशिका पर ग्रहण। प्लेटफार्म-विशिष्ट जावास्क्रिप्ट के लिए, एचटीएमएल फाइल xpjs/phonegap.js और xpjs/my-quirks.js का संदर्भ लेती हैं और उन फ़ाइलों के एंड्रॉइड या आईओएस संस्करण प्राप्त करती हैं।

ऐसा लगता है कि यह काम करना चाहिए, लेकिन xcode4 symlinks से निपटने के लिए प्रतीत नहीं होता है। अगर मैं xcode संपादक में स्रोत फ़ाइलों में से एक खोलते हैं, तो यह ठीक पढ़ता है, लेकिन यह

The document "index.html" could not be saved. It does not exist. 

और एप्लिकेशन की तरह कुछ का कहना है कि जब मैं इसे बचाने की कोशिश जब मैं यह

ERROR: Start page 'www/index.html' was not found. 
के साथ विफल चलाने का प्रयास

निश्चित रूप से किसी ने इसे समझ लिया है।

+0

आप किस स्रोत नियंत्रण का उपयोग कर रहे हैं? – pinkeerach

+0

गिट, जिसमें सिम्लिंक के साथ कोई समस्या नहीं है जब तक आप विंडोज़ पर रेपो नहीं देखते हैं। – Leopd

उत्तर

4

यह वास्तव में गिट और सबमोड्यूल के साथ काफी आसान है। ऊपर उल्लिखित फोनगैप विकी वास्तव में थोड़ा पतला है इसलिए मैं वास्तव में आगे बढ़ गया और एक समाधान लागू किया जो xcode & ग्रहण परियोजना को कॉन्फ़िगर करता है। Phonegap project structure using git submodules

उस Git submodules का उपयोग नहीं करना चाहते हैं, वहाँ एक सिमलिंक समाधान के रूप में अच्छी तरह से जो अगर आप Git या SVN का उपयोग परवाह नहीं करता है:

मेरे ब्लॉग पोस्ट पर लिंक देखें।

http://www.tricedesigns.com/2012/02/16/linked-source-files-across-phonegap-projects-on-osx/

+1

@leopd धन्यवाद बन गया है। –

+6

लिंक फिर से टूट गया है। – wtjones

4

phonegap wiki पर एक लेखन (पहला पास जैसा दिखता है) है जो बताता है कि गिट सबमिशन का उपयोग कैसे करें। उस प्रविष्टि को पूरक करने के लिए, मैंने svn: बाहरी गुणों का उपयोग करने पर भी एक लेखन किया। सिम्लिंक पर मेरा एकमात्र विचार यह है कि कुछ लोगों को स्रोत नियंत्रण भंडार से आंतरिक रूप से प्राप्त करने के विरोध में कुछ करना है। वास्तव में कोई समस्या नहीं है, लेकिन जब आप कंप्यूटर स्विच करते हैं या किसी प्रोजेक्ट पर अतिरिक्त डिवीज प्राप्त करते हैं तो यह सेटअप के लिए एक तर्कसंगत है। मैं svn: बाहरी मार्ग ले जाऊंगा जब तक कि मुझे कुछ बेहतर न लगे।

+0

सुंदर पतली लेखन लेकिन सूचक के लिए धन्यवाद। – Leopd

+0

हाँ अगर मेरे पास अधिक अनुभव w/git था, तो मैं विस्तृत करूंगा। यह सुनना अच्छा लगेगा कि यह कैसे काम करता है। मैं अभी चीजों के एसवीएन पक्ष को साबित कर रहा हूं। – pinkeerach

+1

मैं उत्तर को स्वीकार करने के रूप में चिह्नित नहीं कर रहा हूं क्योंकि मैं वास्तव में एक्सकोड और ग्रहण को कॉन्फ़िगर करके समाधान पसंद करूंगा। गिट कई लोगों के लिए एक चुनौती है कि मैं इस परियोजना के लिए एक और जटिलता पेश नहीं करना चाहता हूं। – Leopd