2013-01-30 22 views
5

क्या Play 1.2.5 के साथ स्थानीय application.conf का उपयोग करने की संभावना है? हमारी समस्या यह है कि विभिन्न डेवलपर्स के पास कुछ अलग-अलग सेटअप होते हैं जिन्हें हम संस्करण नियंत्रण में सहेजना नहीं चाहते हैं।प्ले 1.2.5 के साथ स्थानीय application.conf?

वैकल्पिक पाया:

  • बस
    • application.conf संशोधित VCS
  • में परिवर्तन के लिए प्रतिबद्ध करने के लिए नहीं सावधान रहना होगा
  • वातावरण: प्रत्येक डेवलपर के लिए खुद की पर्यावरण:% जॉन, % मैरी (वीसीएस में सहेजा गया)
    • ठीक विकल्प, भले ही हम संस्करण नियंत्रण करने के लिए उन को बचाने के लिए चाहते udn't
    • हम विकास के दौरान उन हर अब और फिर बदल सकता है -> अनावश्यक परिवर्तन
    • कारण होगा
  • @include: अतिरिक्त विन्यास फाइल के लिए application.conf विकल्प
    • Play 1.2.5 documentation: यह एक प्रयोगात्मक सुविधा है जो अभी तक ठीक से काम नहीं करती है। बाकी :(

कुछ?

विशेष रूप से, वहाँ एक रास्ता (के रूप में "conf/application.conf.local" डिफ़ॉल्ट के बजाय "कस्टम का उपयोग नाम दर्ज करने के लिए प्ले बताने के लिए है conf/application.conf "?

+0

AFAIK वातावरण दृष्टिकोण का टैग किए गए संस्करणों में जोड़ने के संस्करण चाहते हैं खेलने के 2 यह विकल्प विन्यास फाइल निर्धारित करना संभव है (रों) में खेलने के 1. में केवल एक ही संभव है (यहां तक ​​कि दूरस्थ रूप से) – biesior

उत्तर

1

मैं बस का सामना करना पड़ा प्ले 1.x मॉड्यूल externalconfig जो मदद कर सकता है। हमारे उद्देश्यों के लिए काम करने लगता है। एक अतिरिक्त के रूप में, यह वीसीएस से उत्पादन पासवर्ड आदि को रखने में मदद करता है।

ध्यान दें कि यह मॉड्यूल केवल प्ले के जावा कोड के भीतर काम करता है - उदाहरण के लिए पाइथन में लागू मॉड्यूल (migrate) बाहरी कॉन्फ़िगरेशन से अवगत नहीं होगा। अन्य जावा मॉड्यूल के साथ भी चिंताएं हो सकती हैं जो onConfigurationRead() पर भरोसा करती हैं।

1

मैं प्ले पर 1.2.5 स्रोत कोड देखा है! हैं, लेकिन यहां चलता है कि खेलते हैं! फ़ाइल conf/application.conf के अलावा और कुछ लेने के लिए सक्षम नहीं होगा।

+0

'play.play # readOneConfigurationFile' में देखें, गुणों के लिए अन्य कॉन्फ़िगरेशन शामिल करने के लिए एक पुनरावर्ती तर्क है जिसका कुंजी' @ include.' 'से शुरू होता है। –

1

@include हमारे सेटअप के लिए काम किया है जहां हम 1.2.5 पर विभिन्न पर्यावरण कॉन्फ़िगरेशन आयात करते हैं।

अपनी टीम छोटी है, तो अपने स्वयं के config में प्रत्येक देव नियंत्रण रखने के लिए अपने स्वयं के उपसर्ग के उपयोगकर्ता के प्रमुख के साथ प्रत्येक:

%[user-key].[property]=[value] 

हर डेवलपर तो

play run --%[user-key] साथ खेलने शुरू बदलने के लिए होगा बजाय बस की play run

+0

इसका उपयोग करते हुए, यदि प्रत्येक देव अपने सैंडबॉक्स में 'play id' चलाता है तो सीधे' रन 'काम करेगा? –

+1

यह तब तक काम करेगा जब तक आपके पास application.conf में उचित डिफ़ॉल्ट सेट सेट हो। – Theo

6

आप जोड़ सकते हैं:

%[email protected]=my_application.conf 

application.conf के अंत में। प्रति डेवलपर या पर्यावरण की एक पंक्ति।आप my_application.conf में कुछ गुणों को ओवरराइड कर सकते हैं और गुणों में% my_play_id को प्रीपेन्ड करने के लिए necesary नहीं है।

%[email protected]=developer1_conf.conf 
%[email protected]=developer2_conf.conf 
%[email protected]=developer3_conf.conf 
0

हम क्या करते हैं VCS सिफारिश विन्यास (के बजाय वास्तविक application.conf) है के लिए एक application.template विन्यास बनाने है: उदाहरण के लिए आप तीन डेवलपर्स है।

इस तरह प्रत्येक डेवलपर अपना स्वयं का application.conf बनाने और VCS में टेम्पलेट को बेहतर बनाने के लिए ज़िम्मेदार है।

इस तरह कोई भी तैनाती विन्यास और अन्य डेवलपर्स की कॉन्फ़िगरेशन के साथ कोई गड़बड़ नहीं करता है।

आप नियंत्रित तैनाती विन्यास सिर्फ अपने VCS